Event Streams への接続
Event Streams インスタンスに接続するには、API のエンドポイント URL と認証用の資格情報が必要です。 これらの詳細と、使用できる接続オプションを取得する方法について説明します。
概要
Lite、Standard、または Enterprise プランでプロビジョニングされたサービスは、ダッシュボードの 「サービス」 の見出しの下にグループ化されています。
すべてのプランで、認証に IAM が使用されます。 開始するにあたって IAM を理解する必要はありませんが、Event Streams サービスを保護したい場合は、いくらかの知識を持つことが推奨されます。 詳しくは、Event Streams リソースへのアクセスの管理を参照してください。 次のステップを完了し、トピックの作成権限を取得するには、お客様のアプリケーションまたはサービスキーにマネージャーアクセス権限が必要です。 デフォルトでは、サービス・インスタンスを含むアカウントの所有者がこの役割を持っています。
デフォルトでは、Event Streams インスタンスは、IBM Cloud® パブリック・ネットワーク使用するように構成されているため、パブリック・インターネット経由でアクセス可能です。 必要に応じて、代替ネットワーキング・タイプを選択するか、接続を受け入れる場所を制限することにより、このアクセスを制限できます。 詳しくは、 ネットワーク・アクセスの制限 を参照してください。
接続情報
サービス・インスタンスにアクセスするには、サービス・キーを作成します。 サービス・キーには、インスタンスにアクセスするために必要な情報 (API のエンドポイントの詳細や固有の API キー資格情報など) が含まれます。
IBM Cloud コンソールを使用してサービス・キーを作成するには、以下のようにします。
- ダッシュボードで Event Streams サービスを見つけます。
- サービス・タイルをクリックします。
- **「サービス資格情報」**をクリックします。
- **「新規資格情報 (New Credential)」**をクリックします。
- 新規資格情報の詳細を入力します。 名前と役割を選択し 、「追加」 をクリックします。 新規資格情報が資格情報リストに表示されます。
- 「View Credentials」 を使用して新しい資格情報をクリックすると、JSON形式の詳細が表示されます。
IBM Cloud CLI を使用してサービスキーを作成するには、以下の手順に従います。
-
サービスを見つけます。
ibmcloud resource service-instances -
サービス・キーを作成します。
ibmcloud resource service-key-create <key_name> <key_role> --instance-name <your_service_name> -
サービス・キーを印刷します。
ibmcloud resource service-key <key_name>各サービス・キーには、エンドポイント詳細の単一セットが含まれています。 単一のネットワーク・タイプ ( IBM Cloud パブリック・ネットワーク (デフォルト) または IBM Cloud プライベート・ネットワーク) に接続するように構成されたサービス・インスタンスの場合、サービス・キーにはそのネットワーク・タイプに関連する詳細が含まれます。 プライベート・ネットワークとパブリック・ネットワークの両方をサポートするように構成されたインスタンスの場合、パブリック・ネットワークの詳細が返されます。 プライベート・ネットワークの詳細が必要な場合は、以下の例のように、前の CLI コマンドに
--service-endpoint privateパラメーターを追加する必要があります。ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private
詳しくは、 ネットワーク・タイプ を参照してください。
接続の確立
Kafka アプリケーションを接続するには、以下のタスクを実行します。
- サービス・キーの
<bootstrap_endpoints>フィールドを、 Kafka アプリケーションのbootstrap.serversプロパティーとして使用します。 - security.protocol プロパティーを SASL_SSL に設定し、 sasl.mechanism プロパティーを PLAIN に設定します。
- サービス・キーの
<user>フィールドをユーザー名として使用し、サービス・キーの<api_key>フィールドをパスワードとして使用します。 アプリケーションが詳細を構文解析することを確認してください。 - 詳しくは、Kafka API クライアントの構成を参照してください。
HTTP API を呼び出すには、以下のタスクを実行します。
- サービス・キーの
<kafka_admin_url>フィールドを HTTP 要求のベース URL として使用します。 - IBM Cloud CLI
ibmcloud iam oauth-tokensコマンドを使用して、認証トークンを生成します。 このトークンを、Bearer <token>の形式で値を設定した HTTP リクエストのAuthorizationヘッダーに配置します。 API キーと JWT トークンの両方がサポートされています。 - API ごとに詳細な資料が提供されています。
ネットワーク接続
デフォルトでは、ライト・インスタンス、標準インスタンス、およびエンタープライズ・インスタンスは、パブリック・インターネットを介してアクセスできるように構成されます。 エンタープライズ・プランを使用している場合は、以下のようにして接続を制限できます。
- プライベート・ネットワーキング
- お客様の作業負荷がすべて IBM Cloud 内で完結しており、サービスへの一般アクセスが不要な場合は、 Event Streams インスタンスを IBM Cloud プライベートネットワーク上でのみアクセス可能に設定することもできます。 この構成では、分離性が向上し、パブリックトラフィックに関連する送信帯域幅の料金は発生しません。 IBM Cloud のパブリック・ネットワークとプライベート・ネットワークの両方でアクセスできるようにインスタンスを構成することもできます。
- コンテキスト・ベースの制約事項
- 特定の特性に従って、接続が受け入れられるネットワーク・ロケーションを制限するアクセス・ルールを定義できます。 例えば、ネットワーク・タイプ、IP 範囲、VPC、その他のサービスなどです。
詳しくは、 ネットワーク・アクセスの制限 を参照してください。
クラシック・インフラストラクチャーからプライベート・ネットワークを介してエンタープライズ・インスタンスにアクセスする
IBM Cloud クラシック・インフラストラクチャーにデプロイされたワークロードのためにプライベート・ネットワークを介してエンタープライズ・インスタンスにアクセスするには、アカウントで Virtual Route Forwarding (VRF) 機能とサービス・エンドポイント機能を有効にする必要があります。 詳しくは、 ネットワーク・アクセスの制限 を参照してください。
VPC からプライベート・ネットワークを介してエンタープライズ・インスタンスにアクセスする
IBM Cloud VPC にデプロイされたワークロードがプライベート・ネットワークを介してエンタープライズ・インスタンスにアクセスできるようにするには、仮想プライベート・エンドポイント (VPE) を VPC に作成する必要があります。
- IBM Cloud コンソールで、メニューアイコンをクリックし、 VPCインフラストラクチャ > ネットワーク > 仮想プライベートエンドポイントゲートウェイの順に選択します。
- 仮想プライベート・エンドポイント・ゲートウェイについてのガイダンスを使用して、 Event Streams インスタンス用の VPE を作成します。
- VPE を作成した後、新しい VPE と pDNS がプロセスを完了して VPC に対して機能し始めるまで数分かかる可能性があります。 VPE の詳細ビュー にIPアドレスが表示されたら完了です。
IBM Cloud の外部からプライベート・ネットワーク経由でエンタープライズ・インスタンスにアクセスする
Direct Link 2.0 などのソリューションを使用して、オンプレミス・データ・センターなどの外部ネットワークと IBM Cloud プライベート・ネットワークとの間の接続を確立できます。 ただし、外部ネットワーク上で動作するワークロードを処理する場合は、 Kafkaへの正常な接続を確保するために、追加の要因を考慮することが重要です。 これらの考慮事項は、 HTTP ワークロードには適用されないことに注意してください。
インスタンスに割り振られるプライベート・エンドポイントの詳細 (サービス・キーで説明) は、解決可能で、ワークロードが実行されているネットワークからルーティング可能でなければなりません。 外部ネットワークからのトラフィックを経路指定する方法として、ワークロードの bootstrap.servers プロパティーに代替ホスト名項目を指定することはできません。
この動作の理由は、 Kafkaの 2 ステップ接続プロセスです。 最初のステップでは、クライアントの bootstrap.servers プロパティーで指定されたホスト名を使用して、最初のブートストラップ接続が確立されます。 ただし、サーバーはその後、使用する実際のエンドポイント・ホスト名の詳細を使用してクライアントに応答します。 これらのホスト名の詳細は、最初にインスタンスに割り振られたプライベート・エンドポイントの詳細であり、変更することはできません。
したがって、詳細は解決可能で、外部ネットワークから直接ルーティング可能でなければなりません。
詳細については、 IBM Cloud Direct Link を使用してオンプレミスネットワークからプライベートAPIエンドポイントにアクセスする方法をご覧ください。
次のタスク
接続情報と認証情報を入手したので、 Kafka クライアントを選択できます。 詳しくは、 Kafka API の使用を参照してください。