翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
インターフェイス VPC エンドポイントと Amazon Keyspaces の使用
インターフェイス VPC エンドポイントでは、Amazon VPC で実行されている仮想プライベートクラウド (VPC) と Amazon Keyspaces 間のプライベート通信ができます。インターフェイス VPC エンドポイントは AWS PrivateLink、VPC AWS とサービス間のプライベート通信を可能にするサービスによって駆動されます。 AWS
AWS PrivateLink これを可能にするため、VPC 内のプライベート IP アドレスを持つelastic network interface を使用して、ネットワークトラフィックが Amazon ネットワークから流出することはありません。インターフェイス VPC エンドポイントは、インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続を必要としません。詳細については、「Amazon Virtual Private CloudAmazon」(仮想プライベートクラウド) と「Interface VPC endpoints (AWS PrivateLink)」(インターフェイス VPC エンドポイント ()) を参照してください。
トピック
Amazon Keyspaces 用インターフェイス VPC エンドポイントの使用
Amazon Keyspaces と Amazon VPC リソース間のトラフィックがインターフェイス VPC エンドポイントを経由して流れるように、インターフェイス VPC エンドポイントを作成することができます。開始するには、インターフェイスエンドポイントの作成手順を実行します。次に、前のステップで作成したエンドポイントに関連付けられたセキュリティグループを編集し、ポート 9142 のインバウンドルールを設定します。詳細については、「Adding, removing, and updating rules」(ルールの追加、削除、および更新) を参照してください。
VPC エンドポイントを介して Amazon Keyspaces step-by-step への接続を設定するチュートリアルについては、を参照してください。チュートリアル: インターフェイスVPCエンドポイントを使用した Amazon Keyspaces への接続VPC AWS アカウント 内の異なる Amazon Keyspaces リソースのクロスアカウントアクセスをアプリケーションから分離して設定する方法については、「」を参照してください。VPC エンドポイントを使用して Amazon Keyspaces へのクロスアカウントアクセスを設定する
インターフェイス VPC エンドポイント情報を含む system.peers
テーブルエントリの入力
Apache Cassandra ドライバーにより、system.peers
テーブルを使用してクラスターに関するノード情報のクエリが行われます。Cassandra ドライバーでは、ノード情報を使用して接続のロードバランスと再試行オペレーションが行われます。Amazon Keyspaces では、パブリックエンドポイント経由のクライアント接続のために、9 つのエントリが system.peers
テーブルに自動で入力されます。
同様の機能を備えたインターフェイス VPC エンドポイントを経由するクライアント接続を実現するために、Amazon Keyspaces では、VPC エンドポイントを利用できる各アベイラビリティーゾーンのエントリが含まれているアカウント内で、system.peers
テーブルへの入力が行われます。Amazon Keyspaces では、使用可能な VPC エンドポイントを探し出して system.peers
テーブルに保存する場合、Amazon Keyspaces への接続に使用する IAM エンティティ対して、エンドポイントとネットワークインターフェイスの情報について VPC をクエリするためのアクセス許可を付与する必要があります。
重要
system.peers
テーブルに使用可能なインターフェイス VPC エンドポイントを入力することで、ロードバランシングが改善され、読み取り/書き込みスループットが向上します。全てのクライアントがインターフェイス VPC エンドポイントを使用して Amazon Keyspaces にアクセスすることが推奨され、Apache Spark に必要です。
Amazon Keyspaces への接続に使用する IAM エンティティに、必要なインターフェイス VPC エンドポイント情報を検索するための許可を付与するには、既存の IAM ロールまたはユーザーポリシーを更新するか、または、次の例に示すように新しい IAM ポリシーを作成します。
{ "Version":"2012-10-17", "Statement":[ { "Sid":"ListVPCEndpoints", "Effect":"Allow", "Action":[ "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcEndpoints" ], "Resource":"*" } ] }
注記
管理ポリシー AmazonKeyspacesReadOnlyAccess_v2
および AmazonKeyspacesFullAccess
には、Amazon Keyspaces が Amazon EC2 インスタンスにアクセスして、使用可能なインターフェイス VPC エンドポイントに関する情報を読み取れるようにするために必要なアクセス権限が含まれています。
ポリシーが正しく設定されていることを確認するには、system.peers
テーブルをクエリしてネットワーク情報を表示します。system.peers
テーブルが空である場合は、ポリシーが正常に設定されなかったこと、または DescribeNetworkInterfaces
と DescribeVPCEndpoints
API アクションのリクエストレートクォータを超過していることを示している可能性があります。DescribeVPCEndpoints
は Describe*
カテゴリーになって不変アクションとみなされます。DescribeNetworkInterfaces
はフィルター処理とページ分割が施されていない不変アクションのサブセットになり、別のクォータが適用されます。詳細については、「Amazon EC2 API Reference」(Amazon EC2 API リファレンス) の「Request token bucket sizes and refill rates」(リクエストトークンのバケットサイズと補充レート) を参照してください。
空のテーブルが表示された場合は、数分待ってから、リクエストレートクォータ問題の除外を再試行してください。VPC エンドポイントが正しく設定されていることを確認するには、「VPC エンドポイント接続が正しく機能しない」を参照してください。クエリによりテーブルから結果が返された場合は、ポリシーが正しく設定されています。
Amazon Keyspaces のインターフェイス VPC エンドポイントへのアクセスの制御
VPC エンドポイントポリシーによって、次の 2 つの方法でリソースへのアクセスを制御できます。
-
IAM ポリシー – 特定の VPC エンドポイントを経由する Amazon Keyspaces へのアクセスを許可されているリクエスト、ユーザー、またはグループを管理できます。これを実行するには、IAM ユーザー、グループ、またはロールにアタッチされているポリシー内で条件キーを使用します。
-
VPC ポリシー — ポリシーをアタッチすることで、Amazon Keyspaces リソースへのアクセス権が付与されている VPC エンドポイントを制御できます。特定のキースペースまたはテーブルへのアクセスを制限して、特定の VPC エンドポイントを通過するトラフィックのみを許可するには、リソースアクセスを制限する既存のIAMポリシーを編集し、その VPC エンドポイントを追加します。
以下は、Amazon Keyspaces リソースにアクセスするためのエンドポイントポリシーです。
-
IAM ポリシー例: トラフィックが指定 VPCエンドポイントからのものでない限り特定の Amazon Keyspaces テーブルへのすべてのアクセスを制限する - このサンプルポリシーは IAM ユーザー、ロール、またはグループにアタッチできます。これにより、受信トラフィックが指定の VPC エンドポイントから発信されない限り、指定の Amazon Keyspaces テーブルへのアクセスが制限されます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "UserOrRolePolicyToDenyAccess", "Action": "cassandra:*", "Effect": "Deny", "Resource": [ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ], "Condition": { "StringNotEquals" : { "aws:sourceVpce": "vpce-abc123" } } } ] }
注記
特定のテーブルへのアクセスを制限するには、システムテーブルへのアクセスも含める必要があります。システムテーブルは読み取り専用です。
-
VPC ポリシーの例: 読み取り専用アクセス - このサンプルポリシーは VPC エンドポイントにアタッチできます。詳細については、「Controlling access to Amazon VPC resources」(Amazon VPC のリソースに対するアクセスの制御) を参照してください。これにより、このポリシーがアタッチされている VPC エンドポイントを経由する Amazon Keyspaces リソースへの読み取り専用アクセスに、アクションが制限されます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnly", "Principal": "*", "Action": [ "cassandra:Select" ], "Effect": "Allow", "Resource": "*" } ] }
-
VPC ポリシーの例: 特定の Amazon Keyspaces テーブルへのアクセスを制限する - このサンプルポリシーは VPC エンドポイントにアタッチできます。これにより、このポリシーがアタッチされている VPC エンドポイントを経由する特定のデータストリームへのアクセスが制限されます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RestrictAccessToTable", "Principal": "*", "Action": "cassandra:*", "Effect": "Allow", "Resource": [ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }
注記
特定のテーブルへのアクセスを制限するには、システムテーブルへのアクセスも含める必要があります。システムテーブルは読み取り専用です。
可用性
Amazon Keyspaces は、 AWS リージョン サービスが利用可能なすべての場所でインターフェイス VPC エンドポイントの使用をサポートします。詳細については、「Amazon Keyspaces のサービスエンドポイント」を参照してください。
VPC エンドポイントポリシーと Amazon Keyspaces point-in-time リカバリ (PITR)
IAM ポリシーを条件キーとともに使用して受信トラフィックを制限している場合は、テーブルの復元オペレーションが失敗することがあります。例えば、aws:SourceVpce
条件キーを使用してソーストラフィックを特定のエンドポイントに制限している場合、テーブルの復元オペレーションは失敗します。プリンシパルの代わりに Amazon Keyspaces によって復元オペレーションが実行されるようにするには、IAM ポリシーに aws:ViaAWSService
条件キーを追加する必要があります。aws:ViaAWSService
条件キーを使用すると、 AWS いずれかのサービスがプリンシパルの認証情報を使用してリクエストを送信したときにアクセスできます。詳細については、「IAM ユーザーガイド」の「IAM JSON policy elements: Condition key」(IAM JSON ポリシー要素: 条件キー) を参照してください。以下のポリシーはこの例です。
{ "Version":"2012-10-17", "Statement":[ { "Sid":"CassandraAccessForVPCE", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"false" }, "StringEquals":{ "aws:SourceVpce":[ "vpce-12345678901234567" ] } } }, { "Sid":"CassandraAccessForAwsService", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"true" } } } ] }
よくあるエラーおよび警告
Amazon Virtual Private Cloud を使用していて Amazon Keyspaces に接続すると、次の警告が表示される場合があります。
Control node cassandra.us-east-1.amazonaws.com/1.111.111.111:9142 has an entry for itself in system.peers: this entry will be ignored. This is likely due to a misconfiguration; please verify your rpc_address configuration in cassandra.yaml on all nodes in your cluster.
この警告は、接続している Amazon VPC エンドポイントを含め、Amazon Keyspaces が表示権限を持つすべての Amazon VPC エンドポイントのエントリが system.peers
テーブルに含まれているために発生します。この警告を無視しても問題ありません。
その他のエラーについては、「VPC エンドポイント接続が正しく機能しない」を参照してください。