翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon MSK では、Apache Kafka 2.6.0 以降のバージョンを実行している MSK プロビジョンドクラスターのブローカーへのパブリックアクセスを有効にするオプションがあります。セキュリティ上の理由から、MSK クラスターの作成中に公開アクセスをオンにすることはできません。ただし、既存のクラスターを更新して、公開アクセスできるようにすることができます。また、新しいクラスターを作成してから更新して、公開アクセスできるようにすることもできます。
MSK クラスターへのパブリックアクセスは追加料金なしで有効にできますが、クラスターに出入りする AWS データ転送には標準データ転送コストが適用されます。料金については、Amazon EC2 オンデマンド料金
MSK プロビジョンドクラスターへのパブリックアクセスを有効にするには、まずクラスターが次の条件をすべて満たしていることを確認します。
クラスターに関連付けられているサブネットは公開である必要があります。各パブリックサブネットにはパブリック IPv4 アドレスが関連付けられており、パブリック IPv4 アドレスは Amazon VPC の料金ページ
に示すように料金が設定されます。つまり、サブネットには、インターネットゲートウェイが接続されたルートテーブルが関連付けられている必要があります。インターネットゲートウェイを作成してアタッチする方法については、「Amazon VPC ユーザーガイド」の「インターネットゲートウェイを使用して VPC インターネットアクセスを有効にする」を参照してください。 認証されていないアクセス制御をオフにし、次のアクセス制御方法の少なくとも 1 つをオンにする必要があります : SASL/IAM、SASL/SCRAM、mTLS。クラスターのアクセス制御方式を更新する方法については、「Amazon MSK クラスターのセキュリティ設定を更新する」を参照してください。
-
クラスター内の暗号化をオンにする必要があります。「オン」は、クラスターを作成するときのデフォルト設定です。暗号化をオフにして作成されたクラスターのクラスター内で暗号化をオンにすることはできません。したがって、クラスター内の暗号化をオフにして作成されたクラスターの公開アクセスをオンにすることはできません。
-
ブローカーとクライアント間のプレーンテキストトラフィックは、オフにする必要があります。オンになっている場合にオフにする方法については、「Amazon MSK クラスターのセキュリティ設定を更新する」を参照してください。
-
SASL/SCRAM または mTLS アクセスコントローラー方式を使用している場合は、クラスターに Apache Kafka ACL を設定する必要があります。クラスターに Apache Kafka ACL を設定した後、クラスターの設定を更新して、クラスターのプロパティ
allow.everyone.if.no.acl.found
を false に設定します。クラスターの設定を更新する方法については、「ブローカー設定オペレーション」を参照してください。IAM アクセス制御を使用している場合、認可ポリシーを適用したり、認可ポリシーを更新したりする場合は、「IAM アクセスコントロール」を参照してください。Apache Kafka ACL の詳細については、「Apache Kafka ACL」を参照してください。
MSK クラスターが上記の条件を満たすことを確認したら、 AWS Management Console、 AWS CLI、または Amazon MSK API を使用してパブリックアクセスを有効にできます。クラスターへの公開アクセスをオンにすると、そのクラスターの公開ブートストラップブローカー文字列を取得できます。クラスターのブートストラップブローカーを取得する方法については、「Amazon MSK クラスターのブートストラップブローカーを取得する」を参照してください。
重要
公開アクセスをオンにすることに加えて、クラスターのセキュリティグループに IP アドレスからの公開アクセスを許可するインバウンド TCP ルールがあることを確認してください。これらのルールを可能な限り制限することをお勧めします。セキュリティグループとインバウンドルールの詳細については、「Amazon VPC ユーザーガイド」のVPC のセキュリティグループを参照してください。ポート番号については、「ポート情報」を参照してください。クラスターのセキュリティグループを変更する方法については、「Amazon MSK クラスターのセキュリティグループの変更」を参照してください。
注記
次の手順を使用して公開アクセスをオンにしても、クラスターにアクセスできない場合は、「パブリックアクセスが有効になっているクラスターにアクセスできない」を参照してください。
コンソールを使用して公開アクセスをオンにする
にサインインし AWS Management Console、https://console.aws.amazon.com/msk/home?region=us-east-1#/home/
で Amazon MSK コンソールを開きます。 クラスターのリストで、公開アクセスをオンにするクラスターを選択します。
-
[プロパティ] タブを選択し、[ネットワーク設定] セクションを探します。
-
Edit public access (公開アクセスの編集) を選択します。
を使用してパブリックアクセスを有効にする AWS CLI
次の AWS CLI コマンドを実行し、
ClusterArn
とCurrent-Cluster-Version
を ARN とクラスターの最新バージョンに置き換えます。クラスターの最新バージョンを検索するには、DescribeCluster オペレーションまたは describe-clusterAWS CLI コマンドを使用します。サンプルのバージョンは KTVPDKIKX0DER
です。aws kafka update-connectivity --cluster-arn
ClusterArn
--current-versionCurrent-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"}}'
-
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 コントローラーノードへの公開アクセスを許可していません。