AWS PrivateLink 適用於 DynamoDB Streams - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS PrivateLink 適用於 DynamoDB Streams

使用 AWS PrivateLink for Amazon DynamoDB Streams,您可以在虛擬私有雲端 (Amazon VPC) 中佈建介面 Amazon VPC 端點 (介面端點)。這些端點可直接透過 VPN 和內部部署的應用程式存取 AWS Direct Connect,或 AWS 區域 是透過 Amazon VPC 對等互連的不同應用程式存取。使用 AWS PrivateLink 和 界面端點,您可以簡化從應用程式到 DynamoDB Streams 的私有網路連線。

Amazon VPC 中的應用程式不需要公有 IP 地址,即可使用 DynamoDB Streams 操作的 Amazon VPC 介面端點與 DynamoDB Streams 通訊。介面端點由一或多個彈性網路介面 (ENIs) 表示,這些介面會從 Amazon VPC 中的子網路指派私有 IP 地址。透過界面端點對 DynamoDB Streams 的請求會保留在 Amazon 網路上。您也可以透過 AWS Direct Connect 或 AWS Virtual Private Network (AWS VPN),從內部部署應用程式存取 Amazon VPC 中的介面端點。如需如何將 AWS Virtual Private Network 連線至內部部署網路的詳細資訊,請參閱 AWS Direct Connect 使用者指南AWS Site-to-Site VPN 使用者指南

如需介面端點的一般資訊,請參閱介面 Amazon VPC 端點 (AWS PrivateLink)。

注意

DynamoDB Streams 僅支援介面端點。不支援閘道端點。

Amazon VPC 考量適用於 AWS PrivateLink Amazon DynamoDB Streams。如需詳細資訊,請參閱介面端點考量事項和AWS PrivateLink 配額。適用下列限制。

AWS PrivateLink for Amazon DynamoDB Streams 不支援下列項目:

  • Transport Layer Security (TLS) 1.1

  • 私有和混合網域名稱系統 (DNS) 服務

注意

AWS PrivateLink 端點的網路連線逾時不在 DynamoDB Streams 錯誤回應範圍內,需要由連線至 AWS PrivateLink 端點的應用程式妥善處理。

若要建立 Amazon VPC 介面端點,請參閱《 AWS PrivateLink 指南》中的建立 Amazon VPC 端點

當您建立介面端點時,DynamoDB 會產生兩種類型的端點特定 DynamoDB Streams DNS 名稱:區域區域

  • 區域 DNS 名稱在其名稱vpce.amazonaws.com中包含唯一的 Amazon VPC 端點 ID、服務識別符 AWS 區域、 和 。例如,對於 Amazon VPC 端點 ID vpce-1a2b3c4d,產生的 DNS 名稱可能與 類似vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com

  • 地區 DNS 名稱包含可用區域,例如 vpce-1a2b3c4d-5e6f-us-east-1a.streams.dynamodb.us-east-1.vpce.amazonaws.com。如果您的架構可隔離可用區域,則可以使用此選項。例如,您可以將其用於故障遏止或降低區域資料傳輸成本。

您可以使用 AWS CLI AWS SDKs 透過 DynamoDB Streams 介面端點存取 DynamoDB Streams API 操作。

若要透過 AWS CLI 命令中的 DynamoDB Streams 介面端點存取 DynamoDB Streams 或 API 操作,請使用 --region--endpoint-url 參數。

範例:建立 VPC 端點

aws ec2 create-vpc-endpoint \ --region us-east-1 \ --service-name com.amazonaws.us-east-1.dynamodb-streams \ --vpc-id client-vpc-id \ --subnet-ids client-subnet-id \ --vpc-endpoint-type Interface \ --security-group-ids client-sg-id

範例:修改 VPC 端點

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-endpoint-id \ --policy-document policy-document \ #example optional parameter --add-security-group-ids security-group-ids \ #example optional parameter # any additional parameters needed, see Privatelink documentation for more details

範例:使用端點 URL 列出串流

在下列範例中,將 VPC 端點 ID 的區域us-east-1和 DNS 名稱取代vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com為您自己的資訊。

aws dynamodbstreams --region us-east-1 —endpoint https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com list-streams

若要在使用 SDK 時透過 DynamoDB Streams 介面端點存取 AWS SDKs Amazon DynamoDB Streams API 操作,請將 SDK 更新 SDKs 至最新版本。 DynamoDB 然後,將用戶端設定為透過 DynamoDB Streams 介面端點使用 DynamoDB Streams API 操作的端點 URL。

SDK for Python (Boto3)
範例:使用端點 URL 存取 DynamoDB 串流

在下列範例中,將區域 us-east-1 和 VPC 端點 ID https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com 取代為您的資訊。

ddb_streams_client = session.client( service_name='dynamodbstreams', region_name='us-east-1', endpoint_url='https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com' )
SDK for Java 1.x
範例:使用端點 URL 存取 DynamoDB 串流

在下列範例中,將區域 us-east-1 和 VPC 端點 ID https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com 取代為您的資訊。

//client build with endpoint config final AmazonDynamoDBStreams dynamodbstreams = AmazonDynamoDBStreamsClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build();
SDK for Java 2.x
範例:使用端點 URL 存取 DynamoDB 串流

在下列範例中,將區域 us-east-1 和 VPC 端點 ID https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com 取代為您的資訊。

Region region = Region.US_EAST_1; dynamoDbStreamsClient = DynamoDbStreamsClient.builder().region(region) .endpointOverride(URI.create("https://vpce-1a2b3c4d-5e6f.streams.dynamodb.us-east-1.vpce.amazonaws.com")) .build()

您可以將端點政策連接至控制 DynamoDB Streams 存取的 Amazon VPC 端點。此政策會指定下列資訊:

  • 可執行動作的 AWS Identity and Access Management (IAM) 委託人

  • 可執行的動作

  • 可在其中執行動作的資源

您可以建立端點政策,限制只能存取特定 DynamoDB 串流。如果您的 Amazon VPC AWS 服務 中有使用 DynamoDB Streams 的其他 ,這種類型的政策很有用。下列串流政策限制只能存取2025-02-20T11:22:33.444連接到 的串流DOC-EXAMPLE-TABLE。若要使用此端點政策,請將 取代DOC-EXAMPLE-TABLE為資料表的名稱,並將 2025-02-20T11:22:33.444取代為串流標籤。

JSON
{ "Version": "2012-10-17", "Id": "Policy1216114807515", "Statement": [ { "Sid": "Access-to-specific-stream-only", "Principal": "*", "Action": [ "dynamodb:DescribeStream", "dynamodb:GetRecords" ], "Effect": "Allow", "Resource": ["arn:aws:dynamodb:us-east-1:111122223333:table/table-name/stream/2025-02-20T11:22:33.444"] } ] }
注意

DynamoDB Streams 不支援閘道端點。