本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為了控制對您的資料和批次轉換任務的存取,建議您建立一個私有 Amazon VPC,並設定為任務無法經由公用網際網路存取。在建立模型時,可指定子網路和安全群組,便能設定您的私有 VPC 組態。然後,當您建立批次轉換任務時,請指定相同的模型。當您指定子網路和安全群組時,SageMaker AI 會在其中一個子網路中建立與安全群組相關聯的彈性網路介面。網路介面可讓您的模型容器連線至您的 VPC 內的資源。如需有關網路介面的資訊,請參閱 Amazon VPC 使用者指南中的彈性網路介面的相關文章。
本文件說明如何為批次轉換任務新增 Amazon VPC 組態。
設定批次轉換任務以存取 Amazon VPC
若要在私有 VPC 中指定子網路和安全群組,請使用 CreateModel
API 的 VpcConfig
請求參數,或在 SageMaker AI 主控台中建立模型時提供此資訊。然後在 CreateTransformJob
API 的ModelName
請求參數中,或在 SageMaker AI 主控台中建立轉換工作時,在模型名稱欄位中指定相同的模型。SageMaker AI 使用此資訊來建立網路介面,並將其連接到模型容器。網路介面會為模型容器提供您的 VPC 內的網路連線,而不會連線至網際網路。也可以讓您的轉換任務連線至私有 VPC 內的資源。
以下為您包含在對 VpcConfig
的呼叫內的 CreateModel
參數的範例:
VpcConfig: {
"Subnets": [
"subnet-0123456789abcdef0",
"subnet-0123456789abcdef1",
"subnet-0123456789abcdef2"
],
"SecurityGroupIds": [
"sg-0123456789abcdef0"
]
}
如果您是使用 CreateModel
API 作業建立模型,則用來建立模型的 IAM 執行角色必須包含CreateModel API:執行角色許可中所述的許可,包括私有 VPC 所需的下列許可。
在主控台中建立模型時,如果您在模型設定區段中選取建立新角色,則用於建立角色的 AmazonSageMakerFullAccess
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
設定 SageMaker AI 批次轉換的私有 VPC
為 SageMaker AI 批次轉換任務設定私有 VPC 時,請使用下列準則。如需如何設定 VPC 的相關資訊,請參閱 Amazon VPC 使用者指南中的使用 VPC 和子網路的相關文章。
確保子網路擁有充足的 IP 地址
您的 VPC 子網路應至少擁有兩個可用的私有 IP 地址,以供轉換任務中的各個執行個體使用。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的 IPv4 的 VPC 與子網路的大小調整的相關文章。
建立 Amazon S3 VPC 端點
如果您將您的 VPC 設定為讓模型容器無法存取網際網路,除非您建立的 VPC 端點允許存取,否則也會無法連線至包含資料的 Amazon S3 儲存貯體。建立 VPC 端點可讓模型容器存取您存放資料和模型成品的儲存貯體。建議也建立一個自訂政策,只允許來自您私有 VPC 的請求存取您的 S3 儲存貯體。如需詳細資訊,請參閱 Amazon S3 的端點。
建立 S3 VPC 端點:
-
在 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在導覽窗格中,選擇端點,然後選擇建立端點
-
對於服務名稱),選擇 com.amazonaws.
region
.s3,其中region
是您的 VPC 所在區域的名稱。 -
對於 VPC,選擇您要用於此端點的 VPC。
-
針對設定路由表,選取要供端點使用的路由表。每個 VPC 服務會自動將路由新增到您選擇的路由表,以便將任何 S3 流量導向新的端點。
-
對於政策,選擇完整存取,以允許 VPC 內的任何使用者或服務完整存取 S3 服務。選擇自訂,以進一步限制存取權。如需相關資訊,請參閱使用自訂端點政策來限制存取 S3。
使用自訂端點政策來限制存取 S3
預設端點政策可讓您的 VPC 中的任何使用者或服務完整存取 S3。若要進一步限制存取 S3,請建立自訂端點政策。如需詳細資訊,請參 Amazon S3 使用端點政策。您也可以使用儲存貯體政策,以限制只有來自 Amazon VPC 流量才能存取您的 S3 儲存貯體。如需資訊,請參閱使用 Amazon S3 儲存貯體政策。
限制在模型容器上安裝套件
預設端點政策允許使用者在訓練容器上安裝來自 Amazon Linux 和 Amazon Linux 2 儲存庫的套件。如果不希望使用者從該儲存庫安裝套件,請建立自訂端點政策,明確拒絕至 Amazon Linux 和 Amazon Linux 2 儲存庫的存取。以下為拒絕存取上述儲存庫的政策範例:
{
"Statement": [
{
"Sid": "AmazonLinuxAMIRepositoryAccess",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::packages.*.amazonaws.com/*",
"arn:aws:s3:::repo.*.amazonaws.com/*"
]
}
]
}
{
"Statement": [
{ "Sid": "AmazonLinux2AMIRepositoryAccess",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::amazonlinux.*.amazonaws.com/*"
]
}
]
}
設定路由表
請為端點路由表使用預設的 DNS 設定,如此才能解析標準 Amazon S3 URL (例如 http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket
)。如果您未使用預設的 DNS 設定,請將端點路由表設定妥當,確保您用來指定批次轉換任務之資料所在位置的 URL 可解析。如需 VPC 端點路由表的相關資訊,請參閱 Amazon VPC 使用者指南中的閘道端點路由的相關文章。
設定 VPC 安全群組
在分散式批次轉換中,必須允許同一批次轉換任務內不同容器之間的通訊。若要執行此操作,請為安全群組設定規則,允許相同安全群組成員彼此間的傳入與傳出連線。相同安全群組的成員應該能夠在所有連接埠之間彼此通訊。如需詳細資訊,請參閱安全群組規則。
連線至您的 VPC 外部的資源
如果您將您的 VPC 設為無網際網路存取權限,使用該 VPC 的批次轉換任務即無法存取您的 VPC 外部資源。如果您的批次轉換任務需要存取您的 VPC 外部的資源,請透過下列選項之一提供存取權限:
-
如果您的批次轉換任務需要存取支援介面 VPC 端點的 AWS 服務,請建立端點以連線至該服務。如需支援介面端點的服務之清單,請參閱 Amazon VPC 使用者指南中的 VPC 端點的相關文章。如需有關建立介面 VPC 端點的資訊,請參閱《Amazon VPC 使用者指南》中的介面 VPC 端點 (AWS PrivateLink)。
-
如果您的批次轉換任務需要存取不支援介面 VPC 端點 AWS 的服務,或存取 外部的資源 AWS,請建立 NAT 閘道並設定安全群組以允許傳出連線。如需替您的 VPC 設定 NAT 閘道的相關資訊,請參閱 Amazon Virtual Private Cloud 使用者指南中的案例 2:VPC 搭配公有與私有子網路 (NAT) 的相關文章。