本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
S3 資料表的 VPC 連線能力
S3 Tables 中的所有資料表皆採用 Apache Iceberg 格式,而且是由兩種類型的 S3 物件組成。這兩種類型的物件是資料檔案,用於存放資料和中繼資料檔案,可追蹤資料檔案在不同時間點的資訊。所有資料表儲存貯體、命名空間和資料表操作 (例如 CreateNamespace、CreateTable 等) 都會透過 S3 Tables 端點 (s3tables.region.amazonaws.com) 路由,而讀取或寫入資料和中繼資料檔案的所有物件層級操作都會繼續透過 S3 服務端點 (s3.region.amazonaws.com) 路由。
若要存取 S3 Tables,Amazon S3 使用 AWS PrivateLink閘道端點和介面端點支援兩種類型的 VPC 端點。閘道端點是您在路由表中指定的閘道,可透過 AWS 網路從 VPC 存取 S3。介面端點使用私有 IP 地址,透過 VPC 內部、內部部署或 VPC 對等互連,將請求路由至 Amazon S3, AWS 區域 以擴充閘道端點的功能 AWS Transit Gateway。
若要從 VPC 存取 S3 Tables,建議您建立兩個 VPC 端點 (一個用於 S3,另一個用於 S3 Tables)。您可以建立閘道或介面端點,將檔案 (物件) 層級操作路由至 S3,以及建立介面端點,將儲存貯體和資料表層級操作路由至 S3 Tables。您可以使用 S3,為檔案層級請求建立和使用 VPC 端點。如需詳細資訊,請參閱《AWS PrivateLink 使用者指南》中的閘道端點。
若要進一步了解如何使用 AWS PrivateLink 來建立和使用 S3 Tables 的端點,請參閱下列主題。如要建立 VPC 介面端點,請參閱《AWS PrivateLink 指南》中的建立 VPC 端點。
主題
為 S3 Tables 建立 VPC 端點
在您建立介面 VPC 端點時,S3 Tables 會產生兩種類型的端點特定 DNS 名稱:區域和地區。
-
區域 DNS 名稱的格式如下:
VPCendpointID.s3tables.AWSregion.vpce.amazonaws.com。例如,針對 VPC 端點 IDvpce-1a2b3c4d,產生的 DNS 名稱將類似於vpce-1a2b3c4d-5e6f.s3tables.us-east-1.vpce.amazonaws.com。 -
地區 DNS 名稱的格式如下:
VPCendpointID-AvailabilityZone.s3tables.AWSregion.vpce.amazonaws.com。例如,針對 VPC 端點 IDvpce-1a2b3c4d-5e6f.,產生的 DNS 名稱將類似於vpce-1a2b3c4d-5e6f-us-east-1a.s3tables.us-east-1.vpce.amazonaws.com。地區 DNS 名稱包含您的可用地區。如果您的架構會隔離可用區域,則可以使用地區 DNS 名稱。您可以從 S3 公有 DNS 網域解析端點特定 S3 DNS 名稱。
您還可以使用私有 DNS 選項來簡化透過 VPC 端點的 S3 流量路由,並協助您利用適用於應用程式的成本最低網路路徑。私有 DNS 會將 S3 Tables 的公有端點 (例如 s3tables.region.amazonaws.com),對應至 VPC 中的私有 IP。您可以使用私有 DNS 選項來路由區域 S3 流量,而無需更新 S3 用戶端,以使用介面端點的端點特定 DNS 名稱。
使用 透過端點存取資料表儲存貯體和資料表 AWS CLI
您可以使用 AWS Command Line Interface (AWS CLI) 透過介面端點存取資料表儲存貯體和資料表。透過 AWS CLI, aws s3命令會透過 Amazon S3 端點路由流量。aws s3tables AWS CLI 命令使用 Amazon S3 Tables 端點。
s3tables VPC 端點的範例為 vpce-0123456afghjipljw-nmopsqea.s3tables.region.vpce.amazonaws.com
s3tables VPC 端點不包含儲存貯體名稱。您可以使用 aws s3tables AWS CLI 命令存取 s3tables VPC 端點。
s3 VPC 端點的範例為 amzn-s3-demo-bucket.vpce-0123456afghjipljw-nmopsqea.s3.region.vpce.amazonaws.com
您可以使用 aws s3 AWS CLI 命令存取 s3 VPC 端點。
若要使用 透過界面端點存取資料表儲存貯體和資料表 AWS CLI,請使用 -region- 和 --endpoint-url 參數。若要執行資料表儲存貯體和資料表層級動作,請使用 S3 Tables 端點 URL。若要執行物件層級動作,請使用 Amazon S3 端點 URL。
在下列範例中,請用您自己的資訊取代使用者輸入預留位置。
範例 1:使用端點 URL 列出帳戶中的資料表儲存貯體
aws s3tables list-table-buckets --endpoint https://vpce-0123456afghjipljb-aac.s3tables.us-east-1.vpce.amazonaws.com —regionus-east-1
範例 2:使用端點 URL 列出儲存貯體中的資料表
aws s3tables list-tables --table-bucket-arn arn:aws:s3tables:us-east-1:123456789301:bucket/amzn-s3-demo-bucket--endpoint https://vpce-0123456afghjipljb-aac.s3tables.us-east-1.vpce.amazonaws.com --regionus-east-1
在使用查詢引擎時設定 VPC 網路
使用查詢引擎時,請使用下列步驟設定 VPC 網路。
-
若要開始使用,您可以建立或更新 VPC。如需詳細資訊,請參閱建立一個 VPC。
-
對於路由至 S3 Tables 的資料表和資料表儲存貯體層級操作,請建立新的介面端點。如需詳細資訊,請參閱使用介面 VPC 端點存取 AWS 服務。
-
對於路由至 Amazon S3 的所有物件層級操作,請建立閘道端點或介面端點。如需有關閘道端點的詳細資訊,請參閱建立閘道端點。
-
接著,請設定您的資料資源並啟動 Amazon EMR 叢集。如需詳細資訊,請參閱開始使用 Amazon EMR。
-
然後,您可以從 VPC 端點選取您的 DNS 名稱,以提交具有其他組態的 Spark 應用程式。例如,
spark.sql.catalog.ice_catalog.s3tables.endpoint和https://interface-endpoint.s3tables.。如需詳細資訊,請參閱將工作提交至您的 Amazon EMR 叢集。us-east-1.vpce.amazonaws.com
使用雙堆疊端點存取資料表和資料表儲存貯體
S3 Tables 支援 的雙堆疊連線 AWS PrivateLink。除了 IPv4 通訊協定之外,雙堆疊端點還可讓您使用網際網路通訊協定第 6 版 (IPv6) 存取 S3 資料表儲存貯體,視網路支援的內容而定。您可以使用下列命名慣例,透過雙堆疊端點存取 S3 儲存貯體:
s3tables.<region>.api.aws
以下是嘗試透過 VPC 中的 IPv6 存取 S3 資料表和資料表儲存貯體之前,您應該知道的一些事項:
-
您用來存取資料表的用戶端和 S3 用戶端必須同時啟用雙堆疊。
-
VPC 安全群組預設不會啟用 IPv6 傳入。若要允許 IPv6 存取,您需要將允許 HTTPS (TCP 連接埠 443) 的新規則新增至安全群組。如需詳細資訊,請參閱《Amazon EC2user》中的設定安全群組規則
-
如果您的 VPC 未指派 IPv6 CIDRs,您將需要手動將 IPv6 CIDR 區塊新增至 VPC。如需詳細資訊,請參閱《 AWS PrivateLink 使用者指南》中的新增 VPC 的 IPv6 支援
-
如果您使用 IP 地址篩選 IAM 政策,則必須更新它們來處理 IPv6 地址。如需使用 IAM 管理存取許可的詳細資訊,請參閱 Amazon S3 的 Identity and Access Management。
若要建立使用 S3 Tables 雙堆疊端點的新 VPC 端點,請使用範例 CLI 命令:
aws ec2 create-vpc-endpoint \ --vpc-id vpc-id \ --service-name com.amazonaws.aws-region.s3tables \ --subnet-ids subnet-1 subnet-2 \ --vpc-endpoint-type Interface \ --ip-address-type dualstack \ --dns-options "DnsRecordIpType=dualstack" \ --security-group-ids sg-id \ --regionaws-region
如需建立 VPC 端點的詳細資訊,請參閱 VPC 使用者指南中的建立介面端點。
如果您的網路支援 IPv6,而且您想要更新您的 VPC 以啟用 IPv6,您可以使用下列 CLI 命令:
aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id vpce-id \ --ip-address-type dualstack \ --dns-options "DnsRecordIpType=dualstack" \ --regionaws-region
限制對 VPC 網路內對 S3 Tables 的存取
與資源型政策類似,您可以將端點政策連接至 VPC 端點,以控制對資料表和資料表儲存貯體的存取權。在下列範例中,介面端點政策只會限制對特定資料表儲存貯體的存取。