インターフェイス VPC エンドポイントで Amazon MSK API を使用する - Amazon Managed Streaming for Apache Kafka

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

インターフェイス VPC エンドポイントで Amazon MSK API を使用する

AWS PrivateLink を搭載したインターフェイス VPC エンドポイントを使用すると、Amazon VPC と Amazon MSK APIs 間のトラフィックが Amazon ネットワークから出るのを防ぐことができます。インターフェイス VPC エンドポイントには、インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続は必要ありません。AWS PrivateLink は、Amazon VPC 内のプライベート IPs を持つ Elastic Network Interface を使用して、 AWS サービス間のプライベート通信を可能にする AWS テクノロジーです。詳細については、Amazon Virtual Private Cloud and Interface VPC Endpoints (AWS PrivateLink)」を参照してください。

アプリケーションは、 AWS PrivateLink を使用して Amazon MSK プロビジョンド API と MSK Connect APIs に接続できます。開始するには、 Amazon MSK API の インターフェース VPC エンドポイント を作成して、インターフェース VPC エンドポイント を介して Amazon VPC リソース との間で流れる トラフィック を開始します。FIPS 対応の インターフェイス VPC エンドポイント は、米国 リージョン で使用可能です。詳細については、「 インターフェイス エンドポイント の作成」を参照してください。

この機能を使用することで、Apache Kafka クライアントは、接続文字列を取得するためにインターネットを経由することなく、Amazon MSK Provisioned または MSK Connect リソースに接続するための接続文字列を動的に取得できます。

インターフェース VPC エンドポイントを作成する際は、以下のサービス名エンドポイントのいずれかを選択してください。

MSK Provisioned の場合:
  • com.amazonaws.region.kafka

  • com.amazonaws.region.kafka-fips (FIPS 対応)

region は、リージョンコードです。MSK プロビジョンド 互換 API を使用するには、このサービス名を選択します。詳細については、https://docs.aws.amazon.com/msk/1.0/apireference/ の「オペレーション」をご参照ください。

MSK Connect の場合:
  • com.amazonaws.region.kafkaconnect

region は、リージョンコードです。MSK Connect 互換 API を連携するには、このサービス名を選択します。詳細については、Amazon MSK Connect API リファレンス「アクション」を参照してください。

インターフェイス VPC エンドポイント の作成手順を含む詳細については、AWS PrivateLink 「ガイド」の「インターフェイス エンドポイント の作成」を参照してください。

Amazon MSK Provisioned または MSK Connect の API の VPC エンドポイントへのアクセスを制御する

VPC エンドポイントポリシーは、VPC エンドポイントにポリシーをアタッチするか、IAM ユーザー、グループ、またはロールにアタッチされたポリシーの追加フィールドを使用して、アクセスが指定された VPC エンドポイント経由のみで行われるようにアクセスを制限することにより、アクセスを制御します。MSK Provisioned または MSK Connect サービスのいずれかに対するアクセス権限を定義するには、適切なポリシー例を使用してください。

エンドポイントの作成時にポリシーをアタッチしない場合、サービスへのフルアクセスを許可するデフォルトのポリシーが Amazon VPC によって自動的にアタッチされます。エンドポイントポリシーは、IAM アイデンティティベースのポリシーやサービス固有のポリシーを上書きしたり置き換えたりするものではありません。これは、評価項目から指定されたサービスへのアクセスを制御するための別のポリシーです。

詳細については、「AWS PrivateLink ガイド」の「VPC エンドポイントによるサービスのアクセス コントロール」を参照してください。

MSK Provisioned — VPC policy example
読み取り専用アクセス

このサンプルポリシーは、VPC エンドポイントにアタッチできます。詳細については、Amazon VPC のリソースに対するアクセスの制御を参照してください。これにより、 アクション は、それが アタッチ されている VPC エンドポイント を介した オペレーション の一覧表示と説明のみに制限されます。

{ "Statement": [ { "Sid": "MSKReadOnly", "Principal": "*", "Action": [ "kafka:List*", "kafka:Describe*" ], "Effect": "Allow", "Resource": "*" } ] }
MSK Provisioned — VPC エンドポイントポリシーの例

特定の MSK クラスターへのアクセスを制限する

このサンプルポリシーは、VPC エンドポイントにアタッチできます。これにより、アタッチされている VPC エンドポイントを介して特定の Kafka クラスターへのアクセスを制限されます。

{ "Statement": [ { "Sid": "AccessToSpecificCluster", "Principal": "*", "Action": "kafka:*", "Effect": "Allow", "Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/MyCluster" } ] }
MSK Connect — VPC endpoint policy example
コネクタを一覧表示し、新しいコネクタを作成する

以下は、MSK Connect のエンドポイント ポリシーの例です。このポリシーにより、指定されたロールはコネクタを一覧表示し、新規コネクタを作成できます。

JSON
JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "MSKConnectPermissions", "Effect": "Allow", "Action": [ "kafkaconnect:ListConnectors", "kafkaconnect:CreateConnector" ], "Resource": "*", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/<ExampleRole>" ] } } ] }
MSK Connect — VPC エンドポイント ポリシーの例

指定された VPC 内の特定の IP アドレスからのリクエストのみを許可する

次の例は、指定した VPC 内の指定した IP アドレスから送信されたリクエストのみが成功するように許可するポリシーを示しています。他の IP アドレスからのリクエストは失敗します。

{ "Statement": [ { "Action": "kafkaconnect:*", "Effect": "Allow", "Principal": "*", "Resource": "*", "Condition": { "IpAddress": { "aws:VpcSourceIp": "192.0.2.123" }, "StringEquals": { "aws:SourceVpc": "vpc-555555555555" } } } ] }