

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

# (選用) 使用 VPC 保護自訂模型匯入任務
<a name="vpc-custom-model-import"></a>

當您執行自訂模型匯入任務時，工作會存取 Amazon S3 儲存貯體以下載輸入資料和上傳任務指標。若要控制對資料的存取，建議您使用虛擬私有雲端 (VPC) 搭配 [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)。您可以透過設定 VPC 進一步保護資料，使得資料無法透過網際網路取得，並使用 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html) 建立 VPC 介面端點，以建立資料的私有連結。如需 Amazon VPC 和 如何與 Amazon Bedrock AWS PrivateLink 整合的詳細資訊，請參閱 [使用 Amazon VPC 和 AWS PrivateLink 保護資料](usingVPC.md)。

執行下列步驟設定和使用 VPC，以匯入自訂模型。

**Topics**
+ [設定 VPC](#create-vpc-cmi)
+ [建立 Amazon S3 VPC 端點](#train-vpc-s3-cmi)
+ [(選用) 使用 IAM 政策來限制對 S3 檔案的存取](#train-vpc-policy-cmi)
+ [將 VPC 許可連接到自訂模型匯入角色。](#vpc-data-access-role-cmi)
+ [提交模型匯入任務時新增 VPC 組態](#vpc-config-cmi)

## 設定 VPC
<a name="create-vpc-cmi"></a>

您可以針對模型匯入資料使用[預設 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html)，或遵循[開始使用 Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) 和[建立 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) 中的指引建立新的 VPC。

當您建立 VPC 時，建議為端點路由表使用預設的 DNS 設定，如此才能解析標準 Amazon S3 URL (例如 `http://s3-aws-region.amazonaws.com/model-bucket`)。

## 建立 Amazon S3 VPC 端點
<a name="train-vpc-s3-cmi"></a>

如果您在沒有存取網際網路的情況下設定 VPC，則需要建立 [Amazon S3 VPC 端點](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html)，以允許模型匯入任務存取 S3 儲存貯體，其中會存放訓練和驗證資料並將存放模型成品。

遵循[為 Amazon S3 建立閘道端點](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3)中的步驟，建立 S3 VPC 端點。

**注意**  
如果您未將預設的 DNS 設定用於 VPC，則必須透過設定端點路由表，來確保訓練任務中資料位置的 URL 可解析。如需 VPC 端點路由表的相關資訊，請參閱[閘道端點的路由](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)。

## (選用) 使用 IAM 政策來限制對 S3 檔案的存取
<a name="train-vpc-policy-cmi"></a>

您可以使用[資源型政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)更緊密地控制對 S3 檔案的存取。您可以使用下列類型的資源型政策。
+ **端點政策** – 端點政策會透過 VPC 端點限制存取。預設端點政策可讓 VPC 中的任何使用者或服務完整存取 Amazon S3。在建立端點時或之後，您可以選擇將資源型政策連接至端點以新增限制，例如僅允許端點存取特定儲存貯體，或僅允許特定 IAM 角色存取端點。如需範例，請參閱[編輯 VPC 端點政策](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#edit-vpc-endpoint-policy-s3)。

  以下是您可以連接到 VPC 端點的範例政策，以僅允許其存取包含模型權重的儲存貯體。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RestrictAccessToModelWeightsBucket",
              "Effect": "Allow",
              "Principal": "*",
              "Action": [
                  "s3:GetObject",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::model-weights-bucket",
                  "arn:aws:s3:::model-weights-bucket/*"
              ]
          }
      ]
  }
  ```

------

## 將 VPC 許可連接到自訂模型匯入角色。
<a name="vpc-data-access-role-cmi"></a>

完成 VPC 和端點的設定後，您必須將下列許可連接至[模型匯入 IAM 角色](model-import-iam-role.md)。修改此政策，僅允許存取任務所需的 VPC 資源。將 *subnet-ids* 和 *security-group-id* 取代為 VPC 中的值。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeVpcs",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:123456789012:network-interface/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/BedrockManaged": [
                        "true"
                    ]
                },
                "ArnEquals": {
                    "aws:RequestTag/BedrockModelImportJobArn": [
                        "arn:aws:bedrock:us-east-1:123456789012:model-import-job/*"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id",
                "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id2",
                "arn:aws:ec2:us-east-1:123456789012:security-group/security-group-id"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "ec2:Subnet": [
                        "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id",
                        "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id2"
                    ],
                    "ec2:ResourceTag/BedrockModelImportJobArn": [
                        "arn:aws:bedrock:us-east-1:123456789012:model-import-job/*"
                    ]
                },
                "StringEquals": {
                    "ec2:ResourceTag/BedrockManaged": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:123456789012:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": [
                        "CreateNetworkInterface"
                    ]
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "BedrockManaged",
                        "BedrockModelImportJobArn"
                    ]
                }
            }
        }
    ]
}
```

------

## 提交模型匯入任務時新增 VPC 組態
<a name="vpc-config-cmi"></a>

依照前幾節所述設定 VPC 以及必要的角色和許可之後，您可以建立使用此 VPC 的模型匯入任務。

當您指定 VPC 子網路和安全群組時，Amazon Bedrock 會在其中一個子網路內建立與安全群組相關聯的*彈性網路介面*(ENI)。ENI 允許 Amazon Bedrock 工作連線至 VPC 中的資源。如需 ENI 的相關資訊，請參閱 *Amazon VPC 使用者指南*中的[彈性網路介面](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html)。Amazon Bedrock 使用 `BedrockManaged` 和 `BedrockModelImportJobArn` 標籤標記它建立的 ENI。

建議您在每個可用區域中至少提供一個子網路。

您可以使用安全群組建立規則，以控制 Amazon Bedrock 對 VPC 資源的存取。

您可以在主控台或透過 API 設定要使用的 VPC。選擇您偏好方法的索引標籤，然後遵循下列步驟：

------
#### [ Console ]

對於 Amazon Bedrock 主控台，您可以在建立模型匯入任務時，在選用的 **VPC 設定**區段中指定 VPC 子網路和安全群組。如需有關設定模型匯入任務的詳細資訊，請參閱[提交模型匯入任務](model-customization-import-model-job.md)。

------
#### [ API ]

提交 [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html) 請求時，您可以如下列範例所示，包含 `VpcConfig` 作為請求參數，以指定要使用的 VPC 子網路和安全群組。

```
"VpcConfig": { 
"SecurityGroupIds": [
    "sg-0123456789abcdef0"
    ],
    "Subnets": [
          "subnet-0123456789abcdef0",
          "subnet-0123456789abcdef1",
          "subnet-0123456789abcdef2"
     ]
 }
```

------