跳至內容

如何使用 VPC 端點從 Amazon EC2 執行個體存取 Amazon S3 儲存貯體?

2 分的閱讀內容
0

我想使​​用虛擬私有雲端 (VPC) 端點,從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體私下存取 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

設定 VPC 端點以安全地從 EC2 執行個體存取 S3 儲存貯體

您可以使用沒有網際網路閘道或 NAT 裝置的介面端點或閘道端點來存取 Amazon S3。如需詳細資訊,請參閱為 Amazon S3 選擇 VPC 端點策略

若要建立和設定 S3 閘道端點,請參閱建立閘道端點

若要建立 S3 介面端點,請參閱建立 VPC 端點。如果您使用介面端點連線到 S3 儲存貯體,則必須在 AWS CLI 或 AWS SDK 環境中傳遞端點網址參數。如果您透過 HTTP(S) 連線,則必須使用介面端點網址作為主機名稱。如需詳細資訊,請參閱從 S3 介面端點存取儲存貯體、存取點和 Amazon S3 控制 API 作業

到 S3 儲存貯體端點的介面端點網址範例:

your-resource-name.vpce-0e25b8cdd720f900e-argc85vg.s3.region.vpce.amazonaws.com

**注意:**將 your-resource-name 替換為您的資源名稱,並將 region 替換為您的 AWS 區域。

若要確認與 S3 儲存貯體的連線,請執行 ls AWS CLI 命令:

aws s3 ls s3://doc-example-bucket --endpoint-url https://bucket.vpce-0e25b8cdd720f900e-argc85vg.s3.region.vpce.amazonaws.com

**注意:**將 doc-example-bucket 替換為您的儲存貯體名稱,並將 region 替換為您的區域。

限制公開存取並使用 IAM 角色來保護 S3 儲存貯體存取

如果您沒有將儲存貯體設定為從您的 VPC 端點發起連線,那麼您將收到「Access denied」(拒絕存取) 錯誤。若要強制以 VPC 私有連線來連線至 S3 儲存貯體,請附加下列 AWS Identity and Access Management (IAM) 儲存貯體政策:

{
"Version": "2012-10-17",
   "Id": "DenyNonVPCeAccess",
   "Statement": [
     {
"Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::doc-example-bucket",
                    "arn:aws:s3:::doc-example-bucket/*"],
       "Condition": {
"StringNotEquals": {
"aws:SourceVpce": "vpce-1a2b3c4d"
         }
       }
     }
   ]
}

**注意:**將 doc-example-bucket 替換為您的儲存貯體名稱。

對 EC2 執行個體與使用 VPC 端點連接 S3 儲存貯體之間的連線問題進行疑難排解

如果您遇到 VPC 端點發生連線逾時錯誤,請使用 Reachability Analyzer 來分析連線路徑。如需詳細資訊,請參閱 Reachability Analyzer 入門

當您使用 VPC 介面端點時,請確定您在網址中傳遞正確的端點資源。確認介面端點安全群組是否允許連接埠 443 上的傳入流量。

對403 拒絕存取錯誤進行疑難排解

如果您同時對 VPC 端點政策進行多項變更,那麼您可能會收到 403「Access Denied」(拒絕存取) 錯誤。

VPC 端點政策的變更可能需要 1-2 分鐘才能生效。請等到您的政策更新後,再進行其他變更或測試存取。

相關資訊

使用儲存貯體政策,控制 VPC 端點的存取權

如何檢查我的 Amazon S3 流量是透過閘道 Amazon VPC 端點還是介面 Amazon VPC 端點傳輸的?

AWS 官方已更新 4 個月前