

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# VPC를 사용하여 배치 추론 작업 보호
<a name="batch-vpc"></a>

배치 추론 작업을 실행하면 작업이 Amazon S3 버킷에 액세스하여 입력 데이터를 다운로드하고 출력 데이터를 작성합니다. 데이터에 대한 액세스 권한을 제어하려면 [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)로 가상 프라이빗 클라우드(VPC)를 사용하는 것이 좋습니다. 인터넷을 통해 사용자 데이터에 접근할 수 없도록 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 설정](#batch-vpc-setup)
+ [배치 추론 역할에 VPC 권한 연결](#batch-vpc-role)
+ [배치 추론 작업을 제출할 때 VPC 구성 추가](#batch-vpc-config)

## 배치 추론 중에 데이터를 보호하도록 VPC 설정
<a name="batch-vpc-setup"></a>

VPC를 설정하려면 [VPC 설정](usingVPC.md#create-vpc)의 단계를 따릅니다. [(예제) VPC를 사용하여 Amazon S3 데이터에 대한 데이터 액세스 제한](vpc-s3.md)의 단계에 따라 S3 VPC 엔드포인트를 설정하고, 리소스 기반 IAM 정책을 사용해 배치 추론 데이터가 포함된 S3 버킷에 대한 액세스를 제한하여 VPC를 추가로 보호할 수 있습니다.

## 배치 추론 역할에 VPC 권한 연결
<a name="batch-vpc-role"></a>

VPC 설정을 완료한 후 [배치 추론 서비스 역할](batch-iam-sr.md)에 다음 권한을 연결하여 VPC에 액세스할 수 있도록 합니다. 작업에 필요한 VPC 리소스에만 액세스할 수 있도록 이 정책을 수정합니다. *subnet-ids* 및 *security-group-id*를 VPC의 값으로 바꿉니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeVpcs",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "2",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:123456789012:network-interface/*",
                "arn:aws:ec2:us-east-1:123456789012:subnet/${{subnet-id}}",
                "arn:aws:ec2:us-east-1:123456789012:security-group/${{security-group-id}}"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/BedrockManaged": [
                        "true"
                    ]
                },
                "ArnEquals": {
                    "aws:RequestTag/BedrockModelInvocationJobArn": [
                        "arn:aws:bedrock:us-east-1:123456789012:model-invocation-job/*"
                    ]
                }
            }
        },
        {
            "Sid": "3",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Subnet": [
                        "arn:aws:ec2:us-east-1:123456789012:subnet/${{subnet-id}}"
                    ]
                },
                "ArnEquals": {
                    "ec2:ResourceTag/BedrockModelInvocationJobArn": [
                        "arn:aws:bedrock:us-east-1:123456789012:model-invocation-job/*"
                    ]
                }
            }
        },
        {
            "Sid": "4",
            "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",
                        "BedrockModelInvocationJobArn"
                    ]
                }
            }
        }
    ]
}
```

------

## 배치 추론 작업을 제출할 때 VPC 구성 추가
<a name="batch-vpc-config"></a>

이전 섹션에서 설명한 것처럼, VPC 및 필수 역할과 권한을 구성한 후에는 이 VPC를 사용하는 배치 추론 작업을 만들 수 있습니다.

**참고**  
현재로서는 배치 추론 작업을 만들 때 API를 통해서만 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은 생성한 ENI에 `BedrockManaged` 및 `BedrockModelInvocationJobArn` 태그를 지정합니다.

각각의 가용 영역에서 하나 이상의 서브넷을 제공하는 것이 좋습니다.

보안 그룹을 사용하면 VPC 리소스에 대한 Amazon Bedrock의 액세스를 제어하기 위한 규칙을 설정할 수 있습니다.

[CreateModelInvocationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelInvocationJob.html) 요청을 제출할 때 다음 예제와 같이 `VpcConfig`를 요청 파라미터로 포함하여 사용할 VPC 서브넷 및 보안 그룹을 지정할 수 있습니다.

```
"vpcConfig": { 
    "securityGroupIds": [
        "sg-0123456789abcdef0"
    ],
    "subnets": [
        "subnet-0123456789abcdef0",
        "subnet-0123456789abcdef1",
        "subnet-0123456789abcdef2"
    ]
}
```