本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon DynamoDB 的閘道端點
您可以使用VPC閘道VPC端點從 存取 Amazon DynamoDB。建立閘道端點之後,您可以將閘道端點新增為路由表中的目標,以用於從 到 VPC DynamoDB 的流量。
使用閘道端點不需額外付費。
DynamoDB 同時支援閘道端點和介面端點。使用閘道端點,您可以從 存取 DynamoDBVPC,無需 的網際網路閘道或NAT裝置VPC,也無需額外費用。不過,閘道端點不允許從內部部署網路、對等VPCs在其他 AWS 區域或透過傳輸閘道存取。這些情況下,您必須利用介面端點 (需額外付費)。如需詳細資訊,請參閱 Amazon DynamoDB 開發人員指南 中的 DynamoDB VPC端點類型。 DynamoDB
考量事項
-
閘道端點只能在您建立該端點的區域中使用。請務必在與 DynamoDB 資料表相同的區域中建立閘道端點。
-
如果您使用的是 Amazon DNS 伺服器,則必須為 啟用DNS主機名稱和DNS解析度VPC。如果您使用自己的DNS伺服器,請確保對 DynamoDB 的請求正確解析為 維護的 IP 地址 AWS。
-
對於透過閘道端點存取 DynamoDB 的執行個體,安全群組的規則必須允許進出 DynamoDB 的流量。您可以在安全群組規則中參照 DynamoDB 的字首清單 ID。
-
透過閘道端點存取 DynamoDB 之執行個體的ACL子網路網路必須允許 DynamoDB 的往返流量。您無法參考網路ACL規則中的字首清單,但您可以從 DynamoDB 的字首清單中取得 DynamoDB 的 IP 地址範圍。
-
如果您使用 AWS CloudTrail 來記錄 DynamoDB 操作,日誌檔案會包含服務取用者中EC2執行個體的私有 IP 地址,VPC以及透過端點執行的任何請求的閘道端點 ID。
-
閘道端點僅支援IPv4流量。
-
受影響子網路中執行個體的來源IPv4地址會從公有IPv4地址變更為來自 的私有IPv4地址VPC。端點會切換網路路由並中斷開放TCP連線。先前使用公有IPv4地址的連線不會繼續。建議您在建立或修改閘道端點時不要執行重要任務。或者,測試以確保您的軟體可在連線中斷時自動重新連線至 DynamoDB。
-
端點連線無法從 延伸VPC。VPN 連線、VPC對等連線、傳輸閘道或 AWS Direct Connect 連線的另一端的資源VPC無法使用閘道端點與 DynamoDB 通訊。
-
您的帳戶對於每個區域的預設配額為 20 個閘道端點,此配額可進行調整。每個 也有 255 個閘道端點的限制VPC。
建立閘道端點
使用下列程序建立連線至 DynamoDB 的閘道端點。
使用主控台建立閘道端點
在 開啟 Amazon VPC主控台https://console.aws.amazon.com/vpc/
。 -
在導覽窗格中選擇端點。
-
選擇建立端點。
-
對於 Service category (服務類別),選擇 AWS 服務。
-
對於服務 ,新增篩選條件類型 = Gateway,然後選取 com.amazonaws。
region
.dynamodb 。 -
對於 VPC,選取要在VPC其中建立端點的 。
-
針對 Route tables (路由表),選取要供端點使用的路由表。我們會自動新增路由,將以服務為目標的流量指向端點網路介面。
-
針對政策 ,選取完整存取權,以允許VPC端點上所有資源上的所有主體進行所有操作。否則,請選取自訂以連接VPC端點政策,以控制主體在VPC端點上執行資源動作的許可。
-
(選用) 若要新增標籤,請選擇 Add new tag (新增標籤),然後輸入標籤的鍵和值。
-
選擇建立端點。
若要使用命令列建立閘道端點
-
create-vpc-endpoint (AWS CLI)
-
New-EC2VpcEndpoint (適用於 Windows 的工具 PowerShell)
使用IAM政策控制存取
您可以建立IAM政策來控制哪些IAM主體可以使用特定VPC端點存取 DynamoDB 資料表。
範例:限制特定端點的存取
您可以使用 aws:sourceVpce 條件索引鍵建立限制存取特定VPC端點的政策。除非使用指定的VPC端點,否則下列政策會拒絕存取帳戶中的 DynamoDB 資料表。此示例假定還有一個政策聲明,允許您的使用案例所需的存取權限。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow-access-from-specific-endpoint", "Effect": "Deny", "Principal": "*", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:
region
:account-id
:table/*", "Condition": { "StringNotEquals" : { "aws:sourceVpce": "vpce-11aa22bb" } } } ] }
範例:允許從特定IAM角色存取
您可以建立允許使用特定IAM角色存取的政策。下列政策授予指定IAM角色的存取權。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow-access-from-specific-IAM-role", "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "ArnEquals": { "aws:PrincipalArn": "arn:aws:iam::
111122223333
:role/role_name
" } } } ] }
範例:允許來自特定帳戶的存取
您可以建立僅允許從特定帳戶進行存取的政策。下列政策會對指定帳戶中的使用者授予存取權。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow-access-from-account", "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalAccount": "
111122223333
" } } } ] }
關聯路由表
您可變更與閘道端點關聯的路由表。當您關聯路由表時,我們會自動新增路由,將以服務為目標的流量指向端點網路介面。當您取消路由表的關聯時,我們會自動從路由表中移除端點路由。
若要使用主控台來關聯路由表
在 開啟 Amazon VPC主控台https://console.aws.amazon.com/vpc/
。 -
在導覽窗格中選擇端點。
-
選取閘道端點。
-
選擇 Actions (動作)、Manage route tables (管理路由表)。
-
視需要選取或取消選取路由表。
-
選擇 Modify route tables (修改路由表)。
若要使用命令列來關聯路由表
-
modify-vpc-endpoint (AWS CLI)
-
Edit-EC2VpcEndpoint (適用於 Windows 的工具 PowerShell)
編輯VPC端點政策
您可以編輯閘道端點的端點政策,該政策控制從 VPC 到端點對 DynamoDB 的存取。預設政策允許完整存取。如需詳細資訊,請參閱端點政策。
若要使用主控台變更端點政策
在 開啟 Amazon VPC主控台https://console.aws.amazon.com/vpc/
。 -
在導覽窗格中選擇端點。
-
選取閘道端點。
-
選擇 Actions (動作)、Manage policy (管理政策)。
-
選擇 Full Access (完整存取) 以允許完整存取服務,或選擇 Custom (自訂) 並連接自訂政策。
-
選擇 Save (儲存)。
若要使用命令列修改閘道端點
-
modify-vpc-endpoint (AWS CLI)
-
Edit-EC2VpcEndpoint (適用於 Windows 的工具 PowerShell)
下列範例端點原則用於存取 DynamoDB。
範例:允許唯讀存取權
您可以建立將存取限制為唯讀存取的政策。下列政策會授予許可,以列出和描述 DynamoDB 資料表。
{ "Statement": [ { "Sid": "ReadOnlyAccess", "Effect": "Allow", "Principal": "*", "Action": [ "dynamodb:DescribeTable", "dynamodb:ListTables" ], "Resource": "*" } ] }
範例:限制特定資料表的存取
您可以建立原則,限制特定 DynamoDB 資料表的存取。下列政策允許存取指定的 DynamoDB 資料表。
{ "Statement": [ { "Sid": "Allow-access-to-specific-table", "Effect": "Allow", "Principal": "*", "Action": [ "dynamodb:Batch*", "dynamodb:Delete*", "dynamodb:DescribeTable", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Update*" ], "Resource": "arn:aws:dynamodb:
region
:123456789012
:table/table_name
" } ] }
刪除閘道端點
閘道端點結束使用後即可刪除。當您刪除閘道端點時,我們會從子網路由表中移除端點路由。
若要使用主控台刪除閘道端點
在 開啟 Amazon VPC主控台https://console.aws.amazon.com/vpc/
。 -
在導覽窗格中選擇端點。
-
選取閘道端點。
-
選擇動作 ,刪除VPC端點 。
-
出現確認提示時,請按一下
delete
。 -
選擇 刪除 。
若要使用命令列刪除閘道端點
-
delete-vpc-endpoints (AWS CLI)
-
Remove-EC2VpcEndpoint (適用於 Windows 的工具 PowerShell)