MSK クラスターへのパブリックアクセスを有効にする - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

MSK クラスターへのパブリックアクセスを有効にする

Amazon MSKでは、Apache Kafka 2.6.0 以降のバージョンを実行しているMSKクラスターのブローカーへのパブリックアクセスを有効にするオプションが用意されています。セキュリティ上の理由から、MSKクラスターの作成中にパブリックアクセスを有効にすることはできません。ただし、既存のクラスターを更新して、公開アクセスできるようにすることができます。また、新しいクラスターを作成してから更新して、公開アクセスできるようにすることもできます。

MSK クラスターへのパブリックアクセスは追加料金なしで有効にできますが、クラスター内外のデータ転送には標準 AWS データ転送コストが適用されます。料金の詳細については、「Amazon EC2 オンデマンド料金」を参照してください。

クラスターへの公開アクセスをオンにするには、最初にクラスターが次のすべての条件を満たしていることを確認してください。

  • クラスターに関連付けられているサブネットは公開である必要があります。つまり、サブネットには、インターネットゲートウェイが接続されたルートテーブルが関連付けられている必要があります。インターネットゲートウェイを作成してアタッチする方法については、Amazon VPCユーザーガイドの「インターネットゲートウェイ」を参照してください。

  • 認証されていないアクセスコントロールはオフでなければならず、次のアクセスコントロールメソッドの少なくとも 1 つをオンにする必要があります: SASL/IAM, SASL/SCRAM、m TLS。クラスターのアクセス制御方式を更新する方法については、「Amazon MSKクラスターのセキュリティ設定を更新する」を参照してください。

  • クラスター内の暗号化をオンにする必要があります。「オン」は、クラスターを作成するときのデフォルト設定です。暗号化をオフにして作成されたクラスターのクラスター内で暗号化をオンにすることはできません。したがって、クラスター内の暗号化をオフにして作成されたクラスターの公開アクセスをオンにすることはできません。

  • ブローカーとクライアント間のプレーンテキストトラフィックは、オフにする必要があります。オンになっている場合にオフにする方法については、「Amazon MSKクラスターのセキュリティ設定を更新する」を参照してください。

  • SASL/SCRAM または mTLS アクセスコントロールメソッドを使用している場合は、クラスターACLsに Apache Kafka を設定する必要があります。クラスターACLsに Apache Kafka を設定したら、クラスターの設定を更新して、クラスターの プロパティを false allow.everyone.if.no.acl.foundにします。クラスターの設定を更新する方法については、「Amazon MSK設定オペレーション」を参照してください。アクセスIAMコントロールを使用していて、認可ポリシーを適用したり、認可ポリシーを更新したりする場合は、「」を参照してくださいIAM アクセスコントロール。Apache Kafka の詳細についてはACLs、「」を参照してくださいApache Kafka ACLs

MSK クラスターが上記の条件を満たすことを確認したら、 AWS CLI、、または Amazon AWS Management Consoleを使用してパブリックアクセスMSKAPIを有効にできます。クラスターへの公開アクセスをオンにすると、そのクラスターの公開ブートストラップブローカー文字列を取得できます。クラスターのブートストラップブローカーを取得する方法については、「Amazon MSKクラスターのブートストラップブローカーを取得する」を参照してください。

重要

パブリックアクセスを有効にするだけでなく、クラスターのセキュリティグループに IP アドレスからのパブリックアクセスを許可するインバウンドTCPルールがあることを確認します。これらのルールを可能な限り制限することをお勧めします。セキュリティグループとインバウンドルールの詳細については、Amazon VPCユーザーガイドの「 のセキュリティグループVPC」を参照してください。ポート番号については、「ポート情報」を参照してください。クラスターのセキュリティグループを変更する方法については、「Amazon MSKクラスターのセキュリティグループの変更」を参照してください。

注記

次の手順を使用して公開アクセスをオンにしても、クラスターにアクセスできない場合は、「パブリックアクセスが有効になっているクラスターにアクセスできない」を参照してください。

コンソールを使用して公開アクセスをオンにする
  1. にサインインし AWS Management Console、Amazon MSKコンソールをhttps://console.aws.amazon.com/msk/ホーム?region=us-east-1#/home/ で開きます。

  2. クラスターのリストで、公開アクセスをオンにするクラスターを選択します。

  3. [プロパティ] タブを選択し、[ネットワーク設定] セクションを探します。

  4. Edit public access (公開アクセスの編集) を選択します。

を使用してパブリックアクセスを有効にする AWS CLI
  1. 次の AWS CLI コマンドを実行して、 を置き換えます。ClusterArn また、Current-Cluster-Version クラスターの ARNと最新バージョン。クラスターの最新バージョンを検索するには、 DescribeClusterオペレーションまたは describe-cluster AWS CLI コマンドを使用します。サンプルのバージョンは KTVPDKIKX0DER です。

    aws kafka update-connectivity --cluster-arn ClusterArn --current-version Current-Cluster-Version --connectivity-info '{"PublicAccess": {"Type": "SERVICE_PROVIDED_EIPS"}}'

    このupdate-connectivityコマンドの出力は次のJSON例のようになります。

    { "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" }
    注記

    パブリックアクセスを無効にするには、同様の AWS CLI コマンドを使用しますが、代わりに次の接続情報を使用します。

    '{"PublicAccess": {"Type": "DISABLED"}}'
  2. update-connectivity オペレーションの結果を取得するには、次のコマンドを実行し、ClusterOperationArn update-connectivity コマンドの出力でARN取得した を使用します。

    aws kafka describe-cluster-operation --cluster-operation-arn ClusterOperationArn

    このdescribe-cluster-operationコマンドの出力は次のJSON例のようになります。

    { "ClusterOperationInfo": { "ClientRequestId": "982168a3-939f-11e9-8a62-538df00285db", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2019-06-20T21:08:57.735Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "UPDATE_CONNECTIVITY", "SourceClusterInfo": { "ConnectivityInfo": { "PublicAccess": { "Type": "DISABLED" } } }, "TargetClusterInfo": { "ConnectivityInfo": { "PublicAccess": { "Type": "SERVICE_PROVIDED_EIPS" } } } } }

    OperationState の値が UPDATE_IN_PROGRESS の場合は、しばらく待ってから再度 describe-cluster-operation コマンドを実行します。

Amazon を使用してパブリックアクセスを有効にする MSK API
  • を使用してクラスターへのパブリックアクセスをオンまたはオフAPIにするには、「」を参照してくださいUpdateConnectivity

注記

セキュリティ上の理由から、Amazon MSKは Apache ZooKeeper またはKRaftコントローラーノードへのパブリックアクセスを許可しません。