

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

# MSK プロビジョニングされたクラスターのパブリックアクセスを有効にする
<a name="public-access"></a>

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

MSK クラスターへのパブリックアクセスは追加料金なしで有効にできますが、クラスターに出入りするデータ転送には標準データ転送 AWS コストが適用されます。料金については、[Amazon EC2 オンデマンド料金](https://aws.amazon.com/ec2/pricing/on-demand/)をご覧ください。

 デュアルスタックネットワークタイプの Amazon MSK プロビジョンドクラスターは、パブリックアクセス用の IPv4 接続と IPv6 接続の両方をサポートします。クラスターでパブリックアクセスを有効にすると、同じ IPv6 ブートストラップ文字列がデフォルトおよびパブリックアクセス接続の両方で自動的に機能します。既存の IPv4 ブートストラップ文字列は IPv4 接続で引き続き機能します。クラスターでパブリックアクセスが有効になっていない場合、IPv6 ブートストラップ文字列にはパブリックアクセス機能がないことに注意してください。詳細については、「Amazon MSK クラスターのデュアルスタックネットワークタイプを設定する」を参照してください。

**注記**  
SASL/SCRAM または mTLS アクセス制御方式を使用している場合は、まず、クラスターに Apache Kafka ACL を設定する必要があります。次に、クラスターの設定を更新して、`allow.everyone.if.no.acl.found`プロパティを false に設定します。クラスターの設定を更新する方法については、「[ブローカー設定オペレーション](msk-configuration-operations.md)」を参照してください。

MSK プロビジョニングされたクラスターへの公開アクセスをオンにするには、最初にクラスターが次のすべての条件を満たしていることを確認してください。
+ クラスターに関連付けられているサブネットは公開である必要があります。各パブリックサブネットにはパブリック IPv4 アドレスが関連付けられており、パブリック IPv4 アドレスは [Amazon VPC の料金ページに示すように料金が設定されます](https://aws.amazon.com/vpc/pricing/)。つまり、サブネットには、インターネットゲートウェイが接続されたルートテーブルが関連付けられている必要があります。インターネットゲートウェイの作成および接続する方法については、*Amazon VPC ユーザーガイド*の「[インターネットゲートウェイを使用した VPC インターネットアクセスの有効化](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)」を参照してください。
+ 認証されていないアクセス制御をオフにし、次のアクセス制御方法の少なくとも 1 つをオンにする必要があります : SASL/IAM、SASL/SCRAM、mTLS。クラスターのアクセス制御方式を更新する方法については、「[Amazon MSK クラスターのセキュリティ設定を更新する](msk-update-security.md)」を参照してください。
+ クラスター内の暗号化をオンにする必要があります。「オン」は、クラスターを作成するときのデフォルト設定です。暗号化をオフにして作成されたクラスターのクラスター内で暗号化をオンにすることはできません。したがって、クラスター内の暗号化をオフにして作成されたクラスターの公開アクセスをオンにすることはできません。
+ ブローカーとクライアント間のプレーンテキストトラフィックは、オフにする必要があります。オンになっている場合にオフにする方法については、「[Amazon MSK クラスターのセキュリティ設定を更新する](msk-update-security.md)」を参照してください。
+ IAM アクセス制御を使用している場合、認可ポリシーを適用する、または、認可ポリシーを更新する場合は、「[IAM アクセスコントロール](iam-access-control.md)」を参照してください。Apache Kafka ACL の詳細については、「[Apache Kafka ACL](msk-acls.md)」を参照してください。

MSK クラスターが上記の条件を満たすことを確認したら、 AWS マネジメントコンソール、 AWS CLI、または Amazon MSK API を使用してパブリックアクセスを有効にできます。クラスターへの公開アクセスをオンにすると、そのクラスターの公開ブートストラップブローカー文字列を取得できます。クラスターのブートストラップブローカーを取得する方法については、「[Amazon MSK クラスターのブートストラップブローカーを取得する](msk-get-bootstrap-brokers.md)」を参照してください。

**重要**  
公開アクセスをオンにすることに加えて、クラスターのセキュリティグループに IP アドレスからの公開アクセスを許可するインバウンド TCP ルールがあることを確認してください。これらのルールを可能な限り制限することをお勧めします。セキュリティグループとインバウンドルールの詳細については、「Amazon VPC ユーザーガイド」の[VPC のセキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)を参照してください。ポート番号については、「[ポート情報](port-info.md)」を参照してください。クラスターのセキュリティグループを変更する方法については、「[Amazon MSK クラスターのセキュリティグループの変更](change-security-group.md)」を参照してください。

**注記**  
次の手順を使用して公開アクセスをオンにしても、クラスターにアクセスできない場合は、「[パブリックアクセスが有効になっているクラスターにアクセスできない](troubleshooting.md#public-access-issues)」を参照してください。

**コンソールを使用して公開アクセスをオンにする**

1. にサインインし AWS マネジメントコンソール、[https://console.aws.amazon.com/msk/home?region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/) で Amazon MSK コンソールを開きます。

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

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

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

**を使用してパブリックアクセスを有効にする AWS CLI**

1. 次の AWS CLI コマンドを実行し、*ClusterArn* と *Current-Cluster-Version* を ARN とクラスターの最新バージョンに置き換えます。クラスターの最新バージョンを検索するには、[DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster) オペレーションまたは [describe-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html) 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"}}'
   ```

1. `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](https://docs.aws.amazon.com//msk/1.0/apireference/clusters-clusterarn-connectivity.html#UpdateConnectivity)を参照してください。

**注記**  
セキュリティ上の理由から、Amazon MSK は Apache ZooKeeper ノードや KRaft コントローラーノードへの公開アクセスを許可していません。