

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

# Amazon VPC의 리소스에 대한 SageMaker AI 액세스 권한 부여
<a name="infrastructure-give-access"></a>

SageMaker AI는 기본적으로 Amazon Virtual Private Cloud에서 다음 작업 유형을 실행합니다.
+ 처리
+ 학습
+ 모델 호스팅
+ 배치 변환
+ Amazon SageMaker Clarify
+ SageMaker AI 컴파일

그러나 이러한 작업의 컨테이너는 훈련 데이터 및 모델 아티팩트를 저장하는 Amazon Simple Storage Service(Amazon S3) 버킷과 같은 AWS 리소스에 인터넷을 통해 액세스합니다.

데이터 및 작업 컨테이너에 대한 액세스를 제어하려면 프라이빗 VPC를 생성하고 인터넷을 통해 액세스할 수 없도록 구성하는 것이 좋습니다. VPC 생성 및 구성에 대한 내용은 Amazon VPC 사용 설명서의 [Amazon VPC 시작하기](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/getting-started-ipv4.html)를 참조하세요.** VPC를 사용하면 VPC가 인터넷에 연결되지 않도록 구성할 수 있으므로 작업 컨테이너와 데이터를 보호하는 데 도움이 됩니다. 또한 VPC를 사용하면 VPC 흐름 로그를 사용하여 작업 컨테이너의 모든 네트워크 트래픽을 모니터링할 수 있습니다. 자세한 내용은 Amazon VPC 사용 설명서의 [VPC 흐름 로그](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html)를 참조하세요.**

작업을 생성할 때 서브넷 및 보안 그룹을 지정함으로써 프라이빗 VPC 구성을 지정합니다. 서브넷 및 보안 그룹을 지정하면 SageMaker AI는 서브넷 중 하나에서 보안 그룹과 연결되는 *탄력적인 네트워크 인터페이스*를 생성합니다. 네트워크 인터페이스를 통해 작업 컨테이너를 VPC의 리소스에 연결할 수 있습니다. 네트워크 인터페이스에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [탄력적 네트워크 인터페이스](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ElasticNetworkInterfaces.html)를 참조하세요.**

[CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) 작업 또는 [CreateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) 작업의 `VpcConfig` 객체 내에서 VPC 구성을 지정합니다. 훈련 작업을 만들 때 VPC 구성을 지정하면 모델이 VPC 내의 리소스에 액세스할 수 있습니다.

VPC 구성을 지정하는 것만으로는 간접 호출 경로가 변경되지 않습니다. VPC 내에서 Amazon SageMaker AI에 연결하려면 VPC 엔드포인트를 만들고 간접적으로 호출합니다. 자세한 내용은 [VPC 내에서 SageMaker AI에 연결](interface-vpc-endpoint.md) 단원을 참조하십시오.

**Topics**
+ [SageMaker AI Processing 작업에 Amazon VPC 리소스에 대한 액세스 권한 부여](process-vpc.md)
+ [SageMaker AI Training 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여](train-vpc.md)
+ [SageMaker AI에서 호스팅된 엔드포인트에 Amazon VPC의 리소스에 대한 액세스 권한 부여](host-vpc.md)
+ [배치 변환 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여](batch-vpc.md)
+ [Amazon SageMaker Clarify 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여](clarify-vpc.md)
+ [SageMaker AI 컴파일 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여](neo-vpc.md)
+ [Inference Recommender 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여](inference-recommender-vpc-access.md)

# SageMaker AI Processing 작업에 Amazon VPC 리소스에 대한 액세스 권한 부여
<a name="process-vpc"></a>

데이터 및 처리 작업에 대한 액세스를 제어하려면 프라이빗 서브넷이 있는 Amazon VPC를 생성하세요. VPC 생성 및 구성에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [Amazon VPC 시작](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-getting-started.html)을 참조하세요.**

VPC 흐름 로그를 사용하여 처리 컨테이너 안팎의 모든 네트워크 트래픽을 모니터링할 수 있습니다. 자세한 내용은 Amazon VPC 사용 설명서의 [VPC 흐름 로그](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html)를 참조하세요.**

이 문서에서는 작업 처리를 위해 Amazon VPC 구성을 추가하는 방법을 설명합니다.

## Amazon VPC 액세스를 위한 처리 작업 구성
<a name="process-vpc-configure"></a>

VPC 내의 서브넷 및 보안 그룹 ID를 지정하여 처리 작업을 구성합니다. 처리 컨테이너의 서브넷을 지정할 필요가 없습니다. Amazon SageMaker AI는 Amazon ECR에서 처리 컨테이너를 자동으로 가져옵니다. 처리 컨테이너에 대한 자세한 정보는 [SageMaker Processing을 사용한 데이터 변환 워크로드](processing-job.md)을 참조하세요.

처리 작업을 생성할 때 SageMaker AI 콘솔 또는 API를 사용하여 VPC의 서브넷 및 보안 그룹을 지정할 수 있습니다.

API를 사용하려면 [CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) 작업의 `NetworkConfig.VpcConfig`파라미터에 서브넷과 보안 그룹 ID를 지정합니다. SageMaker AI는 서브넷 및 보안 그룹 세부 정보를 사용하여 네트워크 인터페이스를 생성하고 처리 컨테이너에 연결합니다. 네트워크 인터페이스는 처리 컨테이너에 VPC 내의 네트워크 연결을 제공합니다. 이렇게 하면 처리 작업을 VPC에 있는 리소스에 연결할 수 있습니다.

다음은 `CreateProcessingJob`작업 호출에 포함할 `VpcConfig`파라미터의 예입니다.

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

## SageMaker AI Processing을 위한 프라이빗 VPC 구성
<a name="process-vpc-vpc"></a>

SageMaker AI 처리 작업에 대한 프라이빗 VPC를 구성할 때 다음 지침을 따릅니다. VPC 설정에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [VPC 및 서브넷 작업](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)을 참조하세요.**

**Topics**
+ [서브넷에 충분한 IP 주소를 확보해야 합니다](#process-vpc-ip)
+ [Amazon S3 VPC 엔드포인트 생성](#process-vpc-s3)
+ [사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한](#process-vpc-policy)
+ [라우팅 테이블 구성](#process-vpc-route-table)
+ [VPC 보안 그룹 구성](#process-vpc-groups)
+ [VPC 외부 리소스에 연결](#process-vpc-nat)
+ [CloudWatch 로그 및 지표를 사용하여 Amazon SageMaker Processing 작업 모니터링](#process-vpc-cloudwatch)

### 서브넷에 충분한 IP 주소를 확보해야 합니다
<a name="process-vpc-ip"></a>

VPC 서브넷에는 처리 작업의 각 인스턴스에 대해 최소 2개 이상의 프라이빗 IP 주소가 있어야 합니다. 자세한 내용은 Amazon VPC 사용 설명서의 [IPv4에 대한 VPC 및 서브넷 크기 조정](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)을 참조하세요.**

### Amazon S3 VPC 엔드포인트 생성
<a name="process-vpc-s3"></a>

처리 컨테이너가 인터넷에 액세스할 수 없도록 VPC를 구성한 경우 액세스를 허용하는 VPC 엔드포인트를 생성하지 않는 한 데이터가 포함된 Amazon S3 버킷에 연결할 수 없습니다. VPC 엔드포인트를 생성함으로써 데이터를 저장한 버킷에 처리 컨테이너가 액세스하도록 할 수 있습니다. 프라이빗 VPC의 S3 버킷 액세스 요청만을 허용하는 사용자 지정 정책을 생성하는 것이 좋습니다. 자세한 내용은 [Amazon S3용 엔드포인트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)를 참조하세요.

**S3 VPC 엔드포인트를 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **엔드포인트**를 선택하고 **엔드포인트 생성**을 선택합니다.

1. **서비스 이름**에서 **com.amazonaws.*region*.s3**를 선택합니다.여기서 *region*은 VPC가 상주하는 리전의 이름입니다.

1. **VPC**에서 이 엔드포인트에 사용할 VPC를 선택합니다.

1. **라우팅 테이블 구성**에서 엔드포인트에서 사용할 라우팅 테이블을 선택합니다. 그러면 VPC 서비스는 사용자가 선택한 각 라우팅 테이블에 S3 트래픽을 새 엔드포인트로 유도하는 경로를 자동으로 추가합니다.

1. **정책**에서 **모든 액세스**를 선택하여 VPC의 모든 사용자 또는 서비스에 S3 서비스에 대한 모든 액세스를 허용합니다. 액세스 권한을 추가로 제한하려면 **사용자 지정**을 선택합니다. 자세한 내용은 [사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한](#process-vpc-policy)을 참조하세요.

### 사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한
<a name="process-vpc-policy"></a>

기본 엔드포인트 정책은 VPC의 모든 사용자 또는 서비스에 S3에 대한 모든 액세스를 허용합니다. S3에 대한 액세스를 추가로 제한하려면 사용자 지정 엔드포인트 정책을 생성합니다. 자세한 내용은 의 [Amazon S3용 엔드포인트 정책 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)을 참조하세요. 또한 S3 버킷에 대한 액세스를 Amazon VPC에서 시작하는 트래픽으로만 제한하는 버킷 정책을 사용할 수도 있습니다. 자세한 내용은 [Amazon S3 버킷 정책 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)을 참조하세요.

#### 처리 컨테이너에서 패키지 설치 제한
<a name="process-vpc-policy-repos"></a>

기본 엔드포인트 정책은 사용자가 처리 컨테이너에 있는 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/*" 
              ] 
         } 
    ] 
}
```

### 라우팅 테이블 구성
<a name="process-vpc-route-table"></a>

엔드포인트 라우팅 테이블에 기본 DNS 설정을 사용하여 표준 Amazon S3 URL(예: `http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`)을 확인합니다. 기본 DNS 설정을 사용하지 않는 경우 엔드포인트 라우팅 테이블을 구성하여 처리 작업에서 데이터 위치를 지정하는 데 사용하는 URL이 해결되는지 확인합니다. VPC 엔드포인트 라우팅 테이블에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [게이트웨이 엔드포인트 라우팅](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)을 참조하세요.**

### VPC 보안 그룹 구성
<a name="process-vpc-groups"></a>

분산 처리에서는 동일한 처리 작업에서 서로 다른 컨테이너 간 통신을 허용해야 합니다. 이렇게 하려면 동일한 보안 그룹의 구성원 간 인바운드 연결을 허용하는 보안 그룹 규칙을 구성합니다. 자세한 내용은 [보안 그룹 규칙](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)을 참조하세요.

### VPC 외부 리소스에 연결
<a name="process-vpc-nat"></a>

모델을 실행 중인 VPC 외부의 리소스에 모델을 연결하는 경우 다음 중 하나를 수행하세요.
+ **다른 AWS 서비스에 연결** - 모델이 인터페이스 Amazon VPC 엔드포인트를 지원하는 AWS 서비스에 액세스해야 하는 경우 해당 서비스에 연결할 엔드포인트를 생성합니다. 인터페이스 엔드포인트를 지원하는 서비스 목록은 AWS PrivateLink 사용 설명서의 [AWS 와 통합되는 서비스를 AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html) 참조하세요. 인터페이스 VPC 엔드포인트 생성에 대한 자세한 내용은 AWS PrivateLink 사용 설명서의 [인터페이스 VPC 엔드포인트를 사용하여 AWS 서비스 액세스를](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) 참조하세요.
+ **인터넷을 통해 리소스에 연결** - 모델이 인터넷에 액세스할 수 있는 서브넷이 없는 Amazon VPC의 인스턴스에서 실행 중인 경우 모델은 인터넷의 리소스에 액세스할 수 없습니다. 모델이 인터페이스 VPC 엔드포인트를 지원하지 않는 AWS 서비스 또는 외부 리소스에 액세스해야 하는 경우 퍼블릭 서브넷의 퍼블릭 NAT 게이트웨이를 사용하여 인터넷에 액세스할 수 있는 프라이빗 서브넷에서 모델을 실행하고 AWS있는지 확인합니다. 모델을 프라이빗 서브넷에서 실행한 후에는 프라이빗 서브넷에서 퍼블릭 서브넷의 퍼블릭 NAT 게이트웨이로의 아웃바운드 연결을 허용하도록 보안 그룹과 네트워크 액세스 제어 목록(NACL)을 구성합니다. 자세한 정보는 Amazon VPC 사용 설명서의 [NAT 게이트웨이](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html )를 참조하세요.

### CloudWatch 로그 및 지표를 사용하여 Amazon SageMaker Processing 작업 모니터링
<a name="process-vpc-cloudwatch"></a>

Amazon SageMaker AI는 훈련 작업을 모니터링하기 위한 Amazon CloudWatch 로그 및 지표를 제공합니다. CloudWatch는 CPU, GPU, 메모리, GPU 메모리, 디스크 지표와 이벤트 로깅을 제공합니다. Amazon SageMaker Processing 작업 모니터링에 대한 자세한 내용은 [Amazon CloudWatch의 Amazon SageMaker AI 지표](monitoring-cloudwatch.md)및 [SageMaker AI 작업 지표](monitoring-cloudwatch.md#cloudwatch-metrics-jobs)을 참조하세요.

# SageMaker AI Training 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여
<a name="train-vpc"></a>

**참고**  
훈련 작업의 경우 인스턴스가 공유 하드웨어에서 실행되는 기본 테넌시 VPC를 사용하여 서브넷만 구성할 수 있습니다. VPC의 테넌시 속성에 대한 자세한 내용은 [전용 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)를 참조하세요.

## Amazon VPC 액세스에 대한 훈련 작업 구성
<a name="train-vpc-configure"></a>

훈련 작업에 대한 액세스를 제어하려면 인터넷에 액세스할 수 없는 프라이빗 서브넷이 있는 Amazon VPC에서 실행하세요.

VPC의 서브넷과 보안 그룹 ID를 지정하여 VPC에서 실행되도록 훈련 작업을 구성합니다. 훈련 작업 컨테이너의 서브넷을 지정할 필요는 없습니다. Amazon SageMaker AI는 Amazon ECR에서 훈련 컨테이너 이미지를 자동으로 가져옵니다.

훈련 작업을 생성할 때 Amazon SageMaker AI 콘솔 또는 API를 사용하여 VPC의 서브넷 및 보안 그룹을 지정할 수 있습니다.

API를 사용하려면 [CreateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) 작업의 `VpcConfig`파라미터에 서브넷과 보안 그룹 ID를 지정합니다. SageMaker AI는 서브넷 및 보안 그룹 세부 정보를 사용하여 네트워크 인터페이스를 생성하고 훈련 컨테이너에 연결합니다. 네트워크 인터페이스는 훈련 컨테이너에 VPC 내의 네트워크 연결을 제공합니다. 이렇게 하면 훈련 작업을 VPC에 있는 리소스에 연결할 수 있습니다.

다음은 `CreateTrainingJob`작업 호출에 포함할 `VpcConfig`파라미터의 예입니다.

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

## SageMaker AI 훈련에 대한 프라이빗 VPC 구성
<a name="train-vpc-vpc"></a>

SageMaker AI 훈련 작업에 대한 프라이빗 VPC를 구성할 때 다음 지침을 따릅니다. VPC 설정에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [VPC 및 서브넷 작업](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)을 참조하세요.**

**Topics**
+ [서브넷에 충분한 IP 주소를 확보해야 합니다](#train-vpc-ip)
+ [Amazon S3 VPC 엔드포인트 생성](#train-vpc-s3)
+ [사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한](#train-vpc-policy)
+ [라우팅 테이블 구성](#train-vpc-route-table)
+ [VPC 보안 그룹 구성](#train-vpc-groups)
+ [VPC 외부 리소스에 연결](#train-vpc-nat)
+ [CloudWatch 로그 및 지표를 사용하여 Amazon SageMaker 훈련 작업 모니터링](#train-vpc-cloudwatch)

### 서브넷에 충분한 IP 주소를 확보해야 합니다
<a name="train-vpc-ip"></a>

Elastic Fabric Adapter(EFA)를 사용하지 않는 훈련 인스턴스에는 최소 2개의 프라이빗 IP 주소가 있어야 합니다.** EFA를 사용하는 훈련 인스턴스에는 5개 이상의 프라이빗 IP 주소가 있어야 합니다. 자세한 내용을 알아보려면 Amazon EC2 사용 설명서의 [여러 IP 주소](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html)를 참조하세요.

VPC 서브넷에는 훈련 작업의 각 인스턴스에 대해 최소 2개 이상의 프라이빗 IP 주소가 있어야 합니다. 자세한 내용은 Amazon VPC 사용 설명서의 [IPv4에 대한 VPC 및 서브넷 크기 조정](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)을 참조하세요.**

### Amazon S3 VPC 엔드포인트 생성
<a name="train-vpc-s3"></a>

훈련 컨테이너가 인터넷에 액세스할 수 없도록 VPC를 구성한 경우 액세스를 허용하는 VPC 엔드포인트를 생성하지 않는 한 훈련 데이터가 포함된 Amazon S3 버킷에 연결할 수 없습니다. VPC 엔드포인트를 생성함으로써 데이터 및 모델 아티팩트를 저장한 버킷에 훈련 컨테이너가 액세스하도록 할 수 있습니다. 프라이빗 VPC의 S3 버킷 액세스 요청만을 허용하는 사용자 지정 정책을 생성하는 것이 좋습니다. 자세한 내용은 [Amazon S3용 엔드포인트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)를 참조하세요.

**S3 VPC 엔드포인트를 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **엔드포인트**를 선택하고 **엔드포인트 생성**을 선택합니다.

1. **서비스 이름**에서 **com.amazonaws.*region*.s3**를 선택합니다.여기서 *region*은 VPC가 상주하는 리전의 이름입니다.

1. **게이트웨이** 유형을 선택합니다.

1. **VPC**에서 이 엔드포인트에 사용할 VPC를 선택합니다.

1. **라우팅 테이블 구성**에서 엔드포인트에서 사용할 라우팅 테이블을 선택합니다. 그러면 VPC 서비스는 사용자가 선택한 각 라우팅 테이블에 S3 트래픽을 새 엔드포인트로 유도하는 경로를 자동으로 추가합니다.

1. **정책**에서 **모든 액세스**를 선택하여 VPC의 모든 사용자 또는 서비스에 S3 서비스에 대한 모든 액세스를 허용합니다. 액세스 권한을 추가로 제한하려면 **사용자 지정**을 선택합니다. 자세한 내용은 [사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한](#train-vpc-policy)을 참조하세요.

### 사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한
<a name="train-vpc-policy"></a>

기본 엔드포인트 정책은 VPC의 모든 사용자 또는 서비스에 S3에 대한 모든 액세스를 허용합니다. S3에 대한 액세스를 추가로 제한하려면 사용자 지정 엔드포인트 정책을 생성합니다. 자세한 내용은 의 [Amazon S3용 엔드포인트 정책 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)을 참조하세요. 또한 S3 버킷에 대한 액세스를 Amazon VPC에서 시작하는 트래픽으로만 제한하는 버킷 정책을 사용할 수도 있습니다. 자세한 내용은 [Amazon S3 버킷 정책 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)을 참조하세요.

#### 훈련 컨테이너에서 패키지 설치 제한
<a name="train-vpc-policy-repos"></a>

기본 엔드포인트 정책은 사용자가 훈련 컨테이너에 있는 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/*" 
              ] 
         } 
    ] 
}
```

### 라우팅 테이블 구성
<a name="train-vpc-route-table"></a>

엔드포인트 라우팅 테이블에 기본 DNS 설정을 사용하여 표준 Amazon S3 URL(예: `http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`)을 확인합니다. 기본 DNS 설정을 사용하지 않는 경우 엔드포인트 라우팅 테이블을 구성하여 훈련 작업 내 데이터 위치를 지정하는 데 사용하는 URL이 해결되는지 확인합니다. VPC 엔드포인트 라우팅 테이블에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [게이트웨이 엔드포인트 라우팅](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)을 참조하세요.**

### VPC 보안 그룹 구성
<a name="train-vpc-groups"></a>

분산형 훈련에서 동일한 훈련 작업 다른 컨테이너 간 통신을 허용해야 합니다. 이렇게 하려면 동일한 보안 그룹의 구성원 간 인바운드 연결을 허용하는 보안 그룹 규칙을 구성합니다. EFA 지원 인스턴스의 경우 인바운드 연결과 아웃바운드 연결 모두 동일한 보안 그룹의 모든 트래픽을 허용하는지 확인하세요. 자세한 정보는 Amazon Virtual Private Cloud 사용 설명서의 [보안 그룹 규칙](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)을 참조하세요.**

### VPC 외부 리소스에 연결
<a name="train-vpc-nat"></a>

인터넷 액세스가 되지 않도록 VPC를 구성한 경우 해당 VPC를 사용하는 훈련 작업은 VPC 외부의 리소스에 액세스할 수 없습니다. 훈련 작업이 VPC 외부 리소스에 대한 액세스를 필요로 하는 경우 다음 옵션 중 하나를 사용하여 액세스를 제공합니다.
+ 훈련 작업이 인터페이스 VPC 엔드포인트를 지원하는 AWS 서비스에 액세스해야 하는 경우 해당 서비스에 연결할 엔드포인트를 생성합니다. 인터페이스 엔드포인트를 지원하는 서비스 목록은 Amazon Virtual Private Cloud 사용 설명서의 [VPC 엔드포인트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)를 참조하세요.** 인터페이스 VPC 엔드포인트 생성에 대한 자세한 내용은 *Amazon Virtual Private Cloud 사용 설명서*의 [인터페이스 VPC 엔드포인트(AWS PrivateLink)를 참조하세요](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html).
+ 훈련 작업이 인터페이스 VPC 엔드포인트를 지원하지 않는 AWS 서비스 또는 외부 리소스에 액세스해야 하는 경우 NAT 게이트웨이를 AWS생성하고 아웃바운드 연결을 허용하도록 보안 그룹을 구성합니다. VPC의 NAT 게이트웨이 설정에 대한 자세한 내용은 Amazon Virtual Private Cloud 사용 설명서의 [시나리오 2: 퍼블릭 서브넷과 프라이빗 서브넷이 있는 VPC(NAT)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html)를 참조하세요.**

### CloudWatch 로그 및 지표를 사용하여 Amazon SageMaker 훈련 작업 모니터링
<a name="train-vpc-cloudwatch"></a>

Amazon SageMaker AI는 훈련 작업을 모니터링하기 위한 Amazon CloudWatch 로그 및 지표를 제공합니다. CloudWatch는 CPU, GPU, 메모리, GPU 메모리, 디스크 지표와 이벤트 로깅을 제공합니다. Amazon SageMaker 훈련 작업 모니터링에 대한 자세한 내용은 [Amazon CloudWatch의 Amazon SageMaker AI 지표](monitoring-cloudwatch.md)및 [SageMaker AI 작업 지표](monitoring-cloudwatch.md#cloudwatch-metrics-jobs)을 참조하세요.

# SageMaker AI에서 호스팅된 엔드포인트에 Amazon VPC의 리소스에 대한 액세스 권한 부여
<a name="host-vpc"></a>

## Amazon VPC 액세스를 위한 모델 구성
<a name="host-vpc-configure"></a>

프라이빗 VPC의 서브넷 및 보안 그룹을 지정하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API의 `VpcConfig` 요청 파라미터를 사용하거나 SageMaker AI 콘솔에서 모델을 생성할 때 이 정보를 제공합니다. SageMaker AI는 이 정보를 사용하여 네트워크 인터페이스를 만들고 모델 컨테이너에 이를 연결합니다. 네트워크 인터페이스는 모델 컨테이너에 인터넷에 연결되지 않은 VPC 내의 네트워크 연결을 제공합니다. 또한 모델을 프라이빗 VPC의 리소스에 연결할 수 있게 해 줍니다.

**참고**  
호스팅 인스턴스가 단 하나인 경우에도 프라이빗 VPC에 있는 서로 다른 가용 영역에 최소 2개 이상의 서브넷을 생성해야 합니다.

다음은 `CreateModel`작업 호출에 포함할 `VpcConfig`파라미터의 예입니다.

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

## SageMaker AI 호스팅을 위한 프라이빗 VPC 구성
<a name="host-vpc-vpc"></a>

SageMaker AI 모델에 대한 프라이빗 VPC를 구성할 때 다음 지침을 따릅니다. VPC 설정에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [VPC 및 서브넷 작업](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)을 참조하세요.**

**Topics**
+ [서브넷에 충분한 IP 주소를 확보해야 합니다](#host-vpc-ip)
+ [Amazon S3 VPC 엔드포인트 생성](#host-vpc-s3)
+ [사용자 지정 엔드포인트 정책을 사용하여 Amazon S3에 대한 액세스 제한](#host-vpc-policy)
+ [VPC에서 실행되는 컨테이너에 대한 엔드포인트 액세스 권한을 사용자 지정 IAM 정책에 추가](#host-vpc-endpoints)
+ [라우팅 테이블 구성](#host-vpc-route-table)
+ [VPC 외부 리소스에 연결](#model-vpc-nat)

### 서브넷에 충분한 IP 주소를 확보해야 합니다
<a name="host-vpc-ip"></a>

Elastic Fabric Adapter(EFA)를 사용하지 않는 훈련 인스턴스에는 최소 2개의 프라이빗 IP 주소가 있어야 합니다. EFA를 사용하는 훈련 인스턴스에는 5개 이상의 프라이빗 IP 주소가 있어야 합니다. 자세한 내용을 알아보려면 Amazon EC2 사용 설명서의 [여러 IP 주소](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html)를 참조하세요.

### Amazon S3 VPC 엔드포인트 생성
<a name="host-vpc-s3"></a>

모델 컨테이너가 인터넷에 액세스할 수 없도록 VPC를 구성한 경우 액세스를 허용하는 VPC 엔드포인트를 생성하지 않는 한 데이터가 포함된 Amazon S3 버킷에 연결할 수 없습니다. VPC 엔드포인트를 생성함으로써 데이터 및 모델 아티팩트를 저장한 버킷에 모델 컨테이너가 액세스하도록 할 수 있습니다. 프라이빗 VPC의 S3 버킷 액세스 요청만을 허용하는 사용자 지정 정책을 생성하는 것이 좋습니다. 자세한 내용은 [Amazon S3용 엔드포인트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)를 참조하세요.

**Amazon S3 VPC 엔드포인트를 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **엔드포인트**를 선택하고 **엔드포인트 생성**을 선택합니다.

1. **서비스 이름**에서 **com.amazonaws.*region*.s3**을 선택합니다. 여기서 *region*은 VPC가 상주하는 AWS 리전의 이름입니다.

1. **VPC**에서 이 엔드포인트에 사용하고자 하는 VPC를 선택합니다.

1. **라우팅 테이블 구성**에서 엔드포인트가 사용할 라우팅 테이블을 선택합니다. VPC 서비스는 사용자가 선택한 각 라우팅 테이블에 Amazon S3 트래픽을 새 엔드포인트로 유도하는 경로를 자동으로 추가합니다.

1. **정책**에서 **모든 액세스**를 선택하여 VPC의 모든 사용자 또는 서비스에 Amazon S3 서비스에 대한 모든 액세스를 허용합니다. 액세스 권한을 추가로 제한하려면 **사용자 지정**을 선택합니다. 자세한 내용은 [사용자 지정 엔드포인트 정책을 사용하여 Amazon S3에 대한 액세스 제한](#host-vpc-policy)을 참조하세요.

### 사용자 지정 엔드포인트 정책을 사용하여 Amazon S3에 대한 액세스 제한
<a name="host-vpc-policy"></a>

기본 엔드포인트 정책은 VPC의 모든 사용자 또는 서비스에 대해 Amazon Simple Storage Service(S3)에 대한 전체 액세스를 허용합니다. Amazon S3에 대한 액세스를 추가로 제한하려면 사용자 지정 엔드포인트 정책을 생성합니다. 자세한 내용은 [Amazon S3용 엔드포인트 정책 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)을 참조하세요.

또한 S3 버킷에 대한 액세스를 Amazon VPC에서 시작하는 트래픽으로만 제한하는 버킷 정책을 사용할 수도 있습니다. 자세한 내용은 [Amazon S3 버킷 정책 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)을 참조하세요.

#### 사용자 지정 엔드포인트 정책을 사용하여 모델 컨테이너에서 패키지 설치를 제한
<a name="host-vpc-policy-repos"></a>

기본 엔드포인트 정책은 사용자가 모델 컨테이너에 있는 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/*" 
              ] 
         } 
    ] 
}
```

### VPC에서 실행되는 컨테이너에 대한 엔드포인트 액세스 권한을 사용자 지정 IAM 정책에 추가
<a name="host-vpc-endpoints"></a>

`SageMakerFullAccess` 관리형 정책은 사용자가 엔드포인트에서 Amazon VPC 액세스에 대해 구성된 모델을 사용해야 하는 권한을 포함합니다. 이러한 권한을 통해 SageMaker AI는 탄력적인 네트워크 인터페이스를 생성하여 VPC에서 실행되는 모델 컨테이너에 연결할 수 있습니다. 자체 IAM 정책을 사용하는 경우 VPC 액세스를 위해 구성된 모델을 사용하려면 해당 정책에 다음 권한을 추가해야 합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateNetworkInterface"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`SageMakerFullAccess` 관리형 정책에 대한 자세한 내용은 [AWS 관리형 정책: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)을 참조하세요.

### 라우팅 테이블 구성
<a name="host-vpc-route-table"></a>

엔드포인트 라우팅 테이블에 기본 DNS 설정을 사용하여 표준 Amazon S3 URL(예: `http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`)을 확인합니다. 기본 DNS 설정을 사용하지 않는 경우 엔드포인트 라우팅 테이블을 구성하여 모델 내 데이터 위치를 지정하는 데 사용하는 URL이 해결되는지 확인합니다. VPC 엔드포인트 라우팅 테이블에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [게이트웨이 엔드포인트 라우팅](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)을 참조하세요.**

### VPC 외부 리소스에 연결
<a name="model-vpc-nat"></a>

인터넷 액세스가 되지 않도록 VPC를 구성한 경우 해당 VPC를 사용하는 모델은 VPC 외부의 리소스에 액세스할 수 없습니다. 모델이 VPC 외부 리소스에 대한 액세스를 필요로 하는 경우 다음 옵션 중 하나를 사용하여 액세스를 제공합니다.
+ 모델이 인터페이스 VPC 엔드포인트를 지원하는 AWS 서비스에 액세스해야 하는 경우 해당 서비스에 연결할 엔드포인트를 생성합니다. 인터페이스 엔드포인트를 지원하는 서비스 목록은 Amazon VPC 사용 설명서의 [VPC 엔드포인트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)를 참조하세요.** 인터페이스 VPC 엔드포인트 생성에 대한 자세한 내용은 *Amazon* [VPC 사용 설명서의 인터페이스 VPC 엔드포인트(AWS PrivateLink)를 참조하세요](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html).
+ 모델이 인터페이스 VPC 엔드포인트를 지원하지 않는 AWS 서비스 또는 외부 리소스에 액세스해야 하는 경우 NAT 게이트웨이를 AWS생성하고 아웃바운드 연결을 허용하도록 보안 그룹을 구성합니다. VPC의 NAT 게이트웨이 설정에 대한 자세한 내용은 Amazon Virtual Private Cloud 사용 설명서의 [시나리오 2: 퍼블릭 서브넷과 프라이빗 서브넷이 있는 VPC(NAT)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html)를 참조하세요.**

# 배치 변환 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여
<a name="batch-vpc"></a>

데이터 및 배치 변환 작업에 대한 액세스를 제어하려면 퍼블릭 인터넷을 통해 작업에 액세스할 수 없도록 프라이빗 VPC를 생성하고 구성하는 것이 좋습니다. 모델을 생성할 때 서브넷 및 보안 그룹을 지정함으로써 프라이빗 VPC 구성을 지정합니다. 그런 다음 배치 변환 작업을 만들 때 동일한 모델을 지정합니다. 서브넷 및 보안 그룹을 지정하면 SageMaker AI는 서브넷 중 하나에서 보안 그룹과 연결되는 *탄력적인 네트워크 인터페이스*를 생성합니다. 네트워크 인터페이스를 통해 모델 컨테이너를 VPC의 리소스에 연결할 수 있습니다. 네트워크 인터페이스에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [탄력적 네트워크 인터페이스](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ElasticNetworkInterfaces.html)를 참조하세요.**

이 문서에서는 배치 변환 작업을 위해 Amazon VPC 구성을 추가하는 방법에 대해 설명합니다.

## Amazon VPC 액세스를 위한 배치 변환 작업 구성
<a name="batch-vpc-configure"></a>

프라이빗 VPC의 서브넷 및 보안 그룹을 지정하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API의 `VpcConfig` 요청 파라미터를 사용하거나 SageMaker AI 콘솔에서 모델을 생성할 때 이 정보를 제공합니다. 그런 다음 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html) API의 `ModelName` 요청 파라미터 또는 SageMaker AI 콘솔에서 변환 작업을 생성할 때 **모델 이름** 필드에 동일한 모델을 지정합니다. SageMaker AI는 이 정보를 사용하여 네트워크 인터페이스를 만들고 모델 컨테이너에 이를 연결합니다. 네트워크 인터페이스는 모델 컨테이너에 인터넷에 연결되지 않은 VPC 내의 네트워크 연결을 제공합니다. 또한 변환 작업을 프라이빗 VPC의 리소스에 연결할 수 있게 해 줍니다.

다음은 `CreateModel`작업 호출에 포함할 `VpcConfig`파라미터의 예입니다.

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

`CreateModel` API 작업을 사용하여 모델을 생성하는 경우 모델을 생성하는 데 사용하는 IAM 실행 역할에는 프라이빗 VPC에 필요한 다음 권한을 포함하여 [CreateModel API: 실행 역할 권한](sagemaker-roles.md#sagemaker-roles-createmodel-perms)에 설명된 권한이 포함되어야 합니다.

콘솔에서 모델을 생성할 때 **모델 설정** 섹션에서 **새 역할 생성**을 선택하면 역할을 생성하는 데 사용되는 [AmazonSageMakerFullAccess ](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess$jsonEditor)정책에 이미 이러한 권한이 포함되어 있습니다. **사용자 지정 IAM 역할 ARN 입력** 또는 **기존 역할 사용**을 선택하는 경우 지정한 역할 ARN에는 다음 권한이 있는 실행 정책이 연결되어 있어야 합니다.

```
{
            "Effect": "Allow",
            "Action": [
            "ec2:CreateNetworkInterface",
            "ec2:CreateNetworkInterfacePermission",
            "ec2:DeleteNetworkInterface",
            "ec2:DeleteNetworkInterfacePermission",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeVpcs",
            "ec2:DescribeDhcpOptions",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups"
```

## SageMaker AI 배치 변환에 대한 프라이빗 VPC 구성
<a name="batch-vpc-vpc"></a>

SageMaker AI 배치 변환 작업에 대한 프라이빗 VPC를 구성할 때 다음 지침을 따릅니다. VPC 설정에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [VPC 및 서브넷 작업](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)을 참조하세요.**

**Topics**
+ [서브넷에 충분한 IP 주소를 확보해야 합니다](#batch-vpc-ip)
+ [Amazon S3 VPC 엔드포인트 생성](#batch-vpc-s3)
+ [사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한](#batch-vpc-policy)
+ [라우팅 테이블 구성](#batch-vpc-route-table)
+ [VPC 보안 그룹 구성](#batch-vpc-groups)
+ [VPC 외부 리소스에 연결](#batch-vpc-nat)

### 서브넷에 충분한 IP 주소를 확보해야 합니다
<a name="batch-vpc-ip"></a>

VPC 서브넷에는 변환 작업의 각 인스턴스에 대해 최소 2개 이상의 이용 가능한 프라이빗 IP 주소가 있어야 합니다. 자세한 내용은 Amazon VPC 사용 설명서의 [IPv4에 대한 VPC 및 서브넷 크기 조정](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)을 참조하세요.**

### Amazon S3 VPC 엔드포인트 생성
<a name="batch-vpc-s3"></a>

모델 컨테이너가 인터넷에 액세스할 수 없도록 VPC를 구성한 경우 액세스를 허용하는 VPC 엔드포인트를 생성하지 않는 한 데이터가 포함된 Amazon S3 버킷에 연결할 수 없습니다. VPC 엔드포인트를 생성함으로써 데이터 및 모델 아티팩트를 저장한 버킷에 모델 컨테이너가 액세스하도록 할 수 있습니다. 프라이빗 VPC의 S3 버킷 액세스 요청만을 허용하는 사용자 지정 정책을 생성하는 것이 좋습니다. 자세한 내용은 [Amazon S3용 엔드포인트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)를 참조하세요.

**S3 VPC 엔드포인트를 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **엔드포인트**를 선택하고 **엔드포인트 생성**을 선택합니다.

1. **서비스 이름**에서 **com.amazonaws.*region*.s3**를 선택합니다.여기서 *region*은 VPC가 상주하는 리전의 이름입니다.

1. **VPC**에서 이 엔드포인트에 사용할 VPC를 선택합니다.

1. **라우팅 테이블 구성**에서 엔드포인트에서 사용할 라우팅 테이블을 선택합니다. 그러면 VPC 서비스는 사용자가 선택한 각 라우팅 테이블에 S3 트래픽을 새 엔드포인트로 유도하는 경로를 자동으로 추가합니다.

1. **정책**에서 **모든 액세스**를 선택하여 VPC의 모든 사용자 또는 서비스에 S3 서비스에 대한 모든 액세스를 허용합니다. 액세스 권한을 추가로 제한하려면 **사용자 지정**을 선택합니다. 자세한 내용은 [사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한](#batch-vpc-policy)을 참조하세요.

### 사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한
<a name="batch-vpc-policy"></a>

기본 엔드포인트 정책은 VPC의 모든 사용자 또는 서비스에 S3에 대한 모든 액세스를 허용합니다. S3에 대한 액세스를 추가로 제한하려면 사용자 지정 엔드포인트 정책을 생성합니다. 자세한 내용은 의 [Amazon S3용 엔드포인트 정책 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)을 참조하세요. 또한 S3 버킷에 대한 액세스를 Amazon VPC에서 시작하는 트래픽으로만 제한하는 버킷 정책을 사용할 수도 있습니다. 자세한 내용은 [Amazon S3용 엔드포인트](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)를 참조하세요.

#### 모델 컨테이너에서 패키지 설치 제한
<a name="batch-vpc-policy-repos"></a>

기본 엔드포인트 정책은 사용자가 훈련 컨테이너에 있는 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/*" 
              ] 
         } 
    ] 
}
```

### 라우팅 테이블 구성
<a name="batch-vpc-route-table"></a>

엔드포인트 라우팅 테이블에 기본 DNS 설정을 사용하여 표준 Amazon S3 URL(예: `http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`)을 확인합니다. 기본 DNS 설정을 사용하지 않는 경우 엔드포인트 라우팅 테이블을 구성하여 배치 변환 작업 내 데이터 위치를 지정하는 데 사용하는 URL이 해결되는지 확인합니다. VPC 엔드포인트 라우팅 테이블에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [게이트웨이 엔드포인트 라우팅](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)을 참조하세요.**

### VPC 보안 그룹 구성
<a name="batch-vpc-groups"></a>

분산형 배치 변환에서는 동일한 배치 변환 작업에서 서로 다른 컨테이너 간 통신을 허용해야 합니다. 이렇게 하려면 동일한 보안 그룹의 구성원 간 인바운드 및 아웃바운드 연결을 허용하는 보안 그룹 규칙을 구성합니다. 동일한 보안 그룹의 구성원은 모든 포트에서 서로 통신할 수 있어야 합니다. 자세한 내용은 [보안 그룹 규칙](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)을 참조하세요.

### VPC 외부 리소스에 연결
<a name="batch-vpc-nat"></a>

인터넷 액세스가 되지 않도록 VPC를 구성한 경우 해당 VPC를 사용하는 배치 변환 작업은 VPC 외부의 리소스에 액세스할 수 없습니다. 배치 변환 작업이 VPC 외부 리소스에 대한 액세스를 필요로 하는 경우 다음 옵션 중 하나를 사용하여 액세스를 제공합니다.
+ 배치 변환 작업이 인터페이스 VPC 엔드포인트를 지원하는 AWS 서비스에 액세스해야 하는 경우 해당 서비스에 연결할 엔드포인트를 생성합니다. 인터페이스 엔드포인트를 지원하는 서비스 목록은 Amazon VPC 사용 설명서의 [VPC 엔드포인트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)를 참조하세요.** 인터페이스 VPC 엔드포인트 생성에 대한 자세한 내용은 *Amazon* [VPC 사용 설명서의 인터페이스 VPC 엔드포인트(AWS PrivateLink)를 참조하세요](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html).
+ 배치 변환 작업에 인터페이스 VPC 엔드포인트를 지원하지 않는 AWS 서비스 또는 외부의 리소스에 대한 액세스가 필요한 경우 NAT 게이트웨이를 AWS생성하고 아웃바운드 연결을 허용하도록 보안 그룹을 구성합니다. VPC의 NAT 게이트웨이 설정에 대한 자세한 내용은 Amazon Virtual Private Cloud 사용 설명서의 [시나리오 2: 퍼블릭 서브넷과 프라이빗 서브넷이 있는 VPC(NAT)](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html)를 참조하세요.**

# Amazon SageMaker Clarify 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여
<a name="clarify-vpc"></a>

데이터 및 SageMaker Clarify 작업에 대한 액세스를 제어하려면 퍼블릭 인터넷을 통해 작업에 액세스할 수 없도록 프라이빗 VPC를 생성하고 구성하는 것이 좋습니다. 작업 처리를 위해 Amazon VPC를 생성하고 구성하는 방법에 대한 자세한 내용은 [Amazon VPC에서 리소스에 대한 SageMaker 처리 작업 액세스 권한 부여](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc)를 참조하세요.

이 문서에서는 SageMaker Clarify 작업의 요구 사항을 충족하는 추가 Amazon VPC 구성을 추가하는 방법을 설명합니다.

**Topics**
+ [Amazon VPC 액세스를 위한 SageMaker Clarify 작업 구성](#clarify-vpc-config)
+ [SageMaker Clarify 작업을 위한 프라이빗 Amazon VPC 구성](#clarify-vpc-vpc)

## Amazon VPC 액세스를 위한 SageMaker Clarify 작업 구성
<a name="clarify-vpc-config"></a>

SageMaker Clarify 작업을 위해 프라이빗 Amazon VPC를 구성할 때 서브넷과 보안 그룹을 지정해야 하며, 모델 예측을 설명하는 데 도움이 되는 훈련 후 편향 지표와 기능 기여도를 계산할 때 작업이 SageMaker AI 모델에서 추론을 얻을 수 있도록 해야 합니다.

**Topics**
+ [SageMaker 작업 Amazon VPC 서브넷 및 보안 그룹 명확화](#clarify-vpc-job)
+ [추론을 위한 모델 Amazon VPC 구성](#clarify-vpc-model)

### SageMaker 작업 Amazon VPC 서브넷 및 보안 그룹 명확화
<a name="clarify-vpc-job"></a>

프라이빗 Amazon VPC의 서브넷 및 보안 그룹은 작업 생성 방법에 따라 다양한 방법으로 SageMaker Clarify 작업에 할당될 수 있습니다.
+ **SageMaker AI 콘솔**: **SageMaker AI 대시보드**에서 작업을 생성할 때 이 정보를 제공합니다. **처리** 메뉴에서 **처리 작업**을 선택한 다음 **처리 작업 생성**을 선택합니다. **네트워크** 패널에서 **VPC** 옵션을 선택하고 드롭다운 목록을 사용하여 서브넷과 보안 그룹을 제공합니다. 이 패널에 제공된 네트워크 격리 옵션이 꺼져 있는지 확인하세요.
+ **SageMaker** API: 다음 예와 같이 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob)API의 `NetworkConfig.VpcConfig`요청 파라미터를 사용하세요.

  ```
  "NetworkConfig": {
      "VpcConfig": {
          "Subnets": [
              "subnet-0123456789abcdef0",
              "subnet-0123456789abcdef1",
              "subnet-0123456789abcdef2"
          ],
          "SecurityGroupIds": [
              "sg-0123456789abcdef0"
          ]
      }
  }
  ```
+ **SageMaker Python SDK**: 다음 예제와 같이 [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor)API 또는 [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.SageMakerClarifyProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.SageMakerClarifyProcessor)API의 `NetworkConfig`파라미터를 사용하세요.

  ```
  from sagemaker.network import NetworkConfig
  network_config = NetworkConfig(
      subnets=[
          "subnet-0123456789abcdef0",
          "subnet-0123456789abcdef1",
          "subnet-0123456789abcdef2",
      ],
      security_group_ids=[
          "sg-0123456789abcdef0",
      ],
  )
  ```

SageMaker AI는 이 정보를 사용하여 네트워크 인터페이스를 생성하고 이를 SageMaker Clarify 작업에 연결합니다. 네트워크 인터페이스는 퍼블릭 인터넷에 연결되지 않은 Amazon VPC 내의 네트워크 연결을 통해 SageMaker Clarify 작업을 제공합니다. 또한 SageMaker Clarify 작업을 프라이빗 Amazon VPC의 리소스에 연결할 수 있게 해 줍니다.

**참고**  
SageMaker Clarify 작업이 섀도우 엔드포인트와 통신할 수 있도록 SageMaker Clarify 작업의 네트워크 격리 옵션을 꺼야 합니다(기본적으로 이 옵션은 꺼져 있음).

### 추론을 위한 모델 Amazon VPC 구성
<a name="clarify-vpc-model"></a>

훈련 후 편향 지표와 설명 가능성을 계산하려면 SageMaker Clarify 작업은 SageMaker Clarify 처리 작업에 대한 [분석 구성](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html#clarify-processing-job-configure-analysis)의 `model_name` 파라미터로 지정된 SageMaker AI 모델에서 추론을 가져와야 합니다. 또는 SageMaker AI Python SDK에서 `SageMakerClarifyProcessor` API를 사용하는 경우 [ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig) 클래스에서 지정한 `model_name`을 가져와야 합니다. 이를 위해 SageMaker Clarify 작업은 섀도우 엔드포인트라고 하는 모델을 사용하여 임시 엔드포인트를 생성한 다음 모델의 Amazon VPC 구성을 섀도우 엔드포인트에 적용합니다.**

프라이빗 VPC에서 SageMaker AI 모델에 서브넷 및 보안 그룹을 지정하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel) API의 `VpcConfig` 요청 파라미터를 사용하거나 콘솔에서 SageMaker AI 대시보드를 사용하여 모델을 생성할 때 이 정보를 제공합니다. 다음은 `CreateModel`작업 호출에 포함할 `VpcConfig`파라미터의 예입니다.

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

SageMaker Clarify 처리 작업에 대한 [분석 구성](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html#clarify-processing-job-configure-analysis)의 `initial_instance_count`파라미터를 사용하여 시작할 섀도우 엔드포인트의 인스턴스 수를 지정할 수 있습니다. 또는 SageMaker AI Python SDK에서 `SageMakerClarifyProcessor` API를 사용하는 경우 [ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig) 클래스에서 지정한 `instance_count`을 가져와야 합니다.

**참고**  
섀도우 엔드포인트를 생성할 때 인스턴스를 하나만 요청하더라도 모델의 [ModelConfig](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.ModelConfig)에는 서로 다른 가용 영역에 있는 최소 두 개의 서브넷이 필요합니다. 그렇지 않으면 섀도우 엔드포인트 생성이 실패하고 다음 오류가 발생합니다.  
ClientError: 엔드포인트 sagemaker-clarify-endpoint-XXX 호스팅 오류: 실패. 원인: 요청된 인스턴스 유형이 YYY이고 SageMaker AI 서브넷과 겹치는 가용 영역을 2개 이상 찾을 수 없습니다.

모델에 Amazon S3의 모델 파일이 필요한 경우, 모델 Amazon VPC에는 Amazon S3 VPC 엔드포인트가 있어야 합니다. SageMaker AI 모델용 Amazon VPC를 생성 및 구성하는 방법에 대한 자세한 내용은 [SageMaker AI에서 호스팅된 엔드포인트에 Amazon VPC의 리소스에 대한 액세스 권한 부여](host-vpc.md) 섹션을 참조하세요.

## SageMaker Clarify 작업을 위한 프라이빗 Amazon VPC 구성
<a name="clarify-vpc-vpc"></a>

일반적으로 [SageMaker 처리를 위한 프라이빗 VPC 구성](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc.html#process-vpc-vpc) 단계를 수행하여 SageMaker Clarify 작업을 위한 프라이빗 Amazon VPC를 구성할 수 있습니다. 다음은 SageMaker Clarify 작업에 대한 몇 가지 주요 사항 및 특별 요구 사항입니다.

**Topics**
+ [Amazon VPC 외부 리소스에 연결](#clarify-vpc-nat)
+ [Amazon VPC 보안 그룹 구성](#clarify-vpc-security-group)

### Amazon VPC 외부 리소스에 연결
<a name="clarify-vpc-nat"></a>

퍼블릭 인터넷 액세스를 허용하지 않도록 Amazon VPC를 구성하는 경우, SageMaker Clarify 작업에 Amazon VPC 외부의 리소스 및 서비스에 대한 액세스 권한을 부여하려면 몇 가지 추가 설정이 필요합니다. 예를 들어, SageMaker Clarify 작업은 S3 버킷에서 데이터세트를 로드하고 분석 결과를 S3 버킷에 저장해야 하기 때문에 Amazon S3 VPC 엔드포인트가 필요합니다. 자세한 내용은 작성 가이드의 [Amazon S3 VPC 엔드포인트 작성](https://docs.aws.amazon.com/sagemaker/latest/dg/process-vpc.html#process-vpc-s3)을 참조하세요. 또한 SageMaker Clarify 작업이 섀도우 엔드포인트에서 추론을 가져와야 하는 경우 여러 서비스를 추가로 호출해야 합니다 AWS .
+ **Amazon SageMaker API 서비스 VPC 엔드포인트 생성**: SageMaker Clarify 작업은 섀도우 엔드포인트를 조작하거나 Amazon VPC 검증을 위한 SageMaker AI 모델을 설명하려면 SageMaker API 서비스를 직접적으로 호출해야 합니다. [AWS PrivateLink를 통한 모든 Amazon SageMaker API 직접 호출 보호](https://aws.amazon.com/blogs/machine-learning/securing-all-amazon-sagemaker-api-calls-with-aws-privatelink/) 블로그에 제공된 지침에 따라 SageMaker API VPC 엔드포인트를 생성하여 SageMaker Clarify 작업에서 서비스를 호출할 수 있도록 할 수 있습니다. Amazon SageMaker API 서비스의 서비스 이름은 `com.amazonaws.region.sagemaker.api`이며, 여기서 *region*은 Amazon VPC가 위치한 리전의 이름입니다.
+ **Amazon SageMaker AI 런타임 VPC 엔드포인트 생성**: SageMaker Clarify 작업은 Amazon SageMaker AI 런타임 서비스를 직접적으로 호출해야 합니다. 이 서비스는 간접 호출을 섀도우 엔드포인트로 라우팅합니다. 설정 단계는 Amazon SageMaker API 서비스와 비슷합니다. Amazon SageMaker AI 런타임 서비스의 서비스 이름은 `com.amazonaws.region.sagemaker.runtime`이며, 여기서 *region*은 Amazon VPC가 위치한 리전의 이름입니다.

### Amazon VPC 보안 그룹 구성
<a name="clarify-vpc-security-group"></a>

SageMaker Clarify 작업은 두 개 이상의 처리 인스턴스가 다음 방법 중 하나로 지정된 경우 분산 처리를 지원합니다.
+ **SageMaker AI 콘솔**: **인스턴스 개수**는 **처리 작업 생성** 페이지에 있는 **작업 설정** 패널의 **리소스 구성** 부분에서 지정됩니다.
+ **SageMaker API**: `InstanceCount`는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob)API로 작업을 생성할 때 지정됩니다.
+ **SageMaker Python SDK**: `instance_count`은 [SageMakerClarifyProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.clarify.SageMakerClarifyProcessor) API 또는 [프로세서](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html?highlight=Processor#sagemaker.processing.Processor) API를 사용할 때 지정됩니다.

분산 처리에서는 동일한 처리 작업에서 서로 다른 인스턴스 간의 통신을 허용해야 합니다. 이렇게 하려면 동일한 보안 그룹의 구성원 간 인바운드 연결을 허용하는 보안 그룹 규칙을 구성합니다. 자세한 내용은 [보안 그룹 규칙](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules)을 참조하세요.

# SageMaker AI 컴파일 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여
<a name="neo-vpc"></a>

**참고**  
컴파일 작업의 경우 작업이 공유 하드웨어에서 실행되는 기본 테넌시 VPC를 사용하여 서브넷만 구성할 수 있습니다. VPC의 테넌시 속성에 대한 자세한 내용은 [전용 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)를 참조하세요.

## Amazon VPC 액세스를 위한 컴파일 작업 구성
<a name="neo-vpc-configure"></a>

프라이빗 VPC에서 서브넷 및 보안 그룹을 지정하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html) API의 `VpcConfig` 요청 파라미터를 사용하거나 SageMaker AI 콘솔에서 컴파일 작업을 생성할 때 이 정보를 제공합니다. SageMaker AI Neo는 이 정보를 사용하여 네트워크 인터페이스를 생성하고 컴파일 작업에 연결합니다. 네트워크 인터페이스는 인터넷에 연결되지 않은 VPC 내의 네트워크 연결을 통해 컴파일 작업을 제공합니다. 또한 컴파일 작업을 프라이빗 VPC의 리소스에 연결할 수 있게 해 줍니다. 다음은 `CreateCompilationJob`작업 호출에 포함할 `VpcConfig`파라미터의 예입니다.

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

## SageMaker AI 컴파일을 위한 프라이빗 VPC 구성
<a name="neo-vpc-vpc"></a>

SageMaker AI 컴파일 작업에 대한 프라이빗 VPC를 구성할 때 다음 지침을 따릅니다. VPC 설정에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [VPC 및 서브넷 작업](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/working-with-vpcs.html)을 참조하세요.**

**Topics**
+ [서브넷에 충분한 IP 주소를 확보해야 합니다](#neo-vpc-ip)
+ [Amazon S3 VPC 엔드포인트 생성](#neo-vpc-s3)
+ [사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한](#neo-vpc-policy)
+ [라우팅 테이블 구성](#neo-vpc-route-table)
+ [VPC 보안 그룹 구성](#neo-vpc-groups)

### 서브넷에 충분한 IP 주소를 확보해야 합니다
<a name="neo-vpc-ip"></a>

VPC 서브넷에는 컴파일 작업의 각 인스턴스에 대해 최소 2개 이상의 이용 가능한 프라이빗 IP 주소가 있어야 합니다. 자세한 내용은 Amazon VPC 사용 설명서의 [IPv4에 대한 VPC 및 서브넷 크기 조정](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)을 참조하세요.**

### Amazon S3 VPC 엔드포인트 생성
<a name="neo-vpc-s3"></a>

인터넷 액세스를 차단하도록 VPC를 구성하는 경우 액세스를 허용하는 VPC 엔드포인트를 생성하지 않는 한 SageMaker Neo는 모델이 포함된 Amazon S3 버킷에 연결할 수 없습니다. VPC 엔드포인트를 생성함으로써 SageMaker Neo 컴파일 작업이 데이터 및 모델 아티팩트를 저장하는 버킷에 액세스할 수 있습니다. 프라이빗 VPC의 S3 버킷 액세스 요청만을 허용하는 사용자 지정 정책을 생성하는 것이 좋습니다. 자세한 내용은 [Amazon S3용 엔드포인트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html)를 참조하세요.

**S3 VPC 엔드포인트를 생성하려면**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **엔드포인트**를 선택하고 **엔드포인트 생성**을 선택합니다.

1. **서비스 이름**에서 **com.amazonaws.*region*.s3**를 선택합니다.여기서 *region*은 VPC가 상주하는 리전의 이름입니다.

1. **게이트웨이** 유형을 선택합니다.

1. **VPC**에서 이 엔드포인트에 사용할 VPC를 선택합니다.

1. **라우팅 테이블 구성**에서 엔드포인트에서 사용할 라우팅 테이블을 선택합니다. 그러면 VPC 서비스는 사용자가 선택한 각 라우팅 테이블에 S3 트래픽을 새 엔드포인트로 유도하는 경로를 자동으로 추가합니다.

1. **정책**에서 **모든 액세스**를 선택하여 VPC의 모든 사용자 또는 서비스에 S3 서비스에 대한 모든 액세스를 허용합니다. 액세스 권한을 추가로 제한하려면 **사용자 지정**을 선택합니다. 자세한 내용은 [사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한](train-vpc.md#train-vpc-policy)을 참조하세요.

### 사용자 지정 엔드포인트 정책을 사용하여 S3에 대한 액세스 제한
<a name="neo-vpc-policy"></a>

기본 엔드포인트 정책은 VPC의 모든 사용자 또는 서비스에 S3에 대한 모든 액세스를 허용합니다. S3에 대한 액세스를 추가로 제한하려면 사용자 지정 엔드포인트 정책을 생성합니다. 자세한 내용은 의 [Amazon S3용 엔드포인트 정책 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)을 참조하세요. 또한 S3 버킷에 대한 액세스를 Amazon VPC에서 시작하는 트래픽으로만 제한하는 버킷 정책을 사용할 수도 있습니다. 자세한 내용은 [Amazon S3 버킷 정책 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-s3-bucket-policies)을 참조하세요. 다음은 샘플 사용자 지정 정책입니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::your-sample-bucket",
                "arn:aws:s3:::your-sample-bucket/*"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:SourceVpce": [
                        "vpce-1a2b3c4d"
                    ]
                }
            }
        }
    ]
}
```

------

#### Amazon VPC에서 실행 중인 컴파일 작업에 대한 권한을 사용자 지정 IAM 정책에 추가
<a name="neo-vpc-custom-iam"></a>

`SageMakerFullAccess` 관리형 정책은 사용자가 엔드포인트에서 Amazon VPC 액세스에 대해 구성된 모델을 사용하는 데 필요한 사용 권한이 포함됩니다. 이러한 권한을 통해 SageMaker Neo는 탄력적인 네트워크 인터페이스를 생성하여 Amazon VPC에서 실행되는 컴파일 작업에 연결할 수 있습니다. 자체 IAM 정책을 사용하는 경우 Amazon VPC 액세스를 위해 구성된 모델을 사용하려면 해당 정책에 다음 권한을 추가해야 합니다.

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

****  

```
{"Version":"2012-10-17",		 	 	 
    "Statement": [
        {"Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateNetworkInterface",
                "ec2:ModifyNetworkInterfaceAttribute"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`SageMakerFullAccess` 관리형 정책에 대한 자세한 내용은 [AWS 관리형 정책: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)을 참조하세요.

### 라우팅 테이블 구성
<a name="neo-vpc-route-table"></a>

엔드포인트 라우팅 테이블에 기본 DNS 설정을 사용하여 표준 Amazon S3 URL(예: `http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`)을 확인합니다. 기본 DNS 설정을 사용하지 않는 경우 엔드포인트 라우팅 테이블을 구성하여 컴파일 작업 내 데이터 위치를 지정하는 데 사용하는 URL이 해결되는지 확인합니다. VPC 엔드포인트 라우팅 테이블에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [게이트웨이 엔드포인트 라우팅](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)을 참조하세요.**

### VPC 보안 그룹 구성
<a name="neo-vpc-groups"></a>

컴파일 작업을 위한 보안 그룹에서 Amazon S3 Amazon VPC 엔드포인트 및 컴파일 작업에 사용되는 서브넷 CIDR 범위에 대한 아웃바운드 통신을 허용해야 합니다. 자세한 내용은 [보안 그룹 규칙](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules) 및 [Amazon VPC 엔드포인트를 사용하는 서비스에 대한 액세스 제어](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-access.html)를 참조하세요.

# Inference Recommender 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여
<a name="inference-recommender-vpc-access"></a>

**참고**  
Inference Recommender를 사용하려면 모델 레지스트리에 모델을 등록해야 합니다. 참고로 모델 레지스트리에서는 모델 아티팩트 또는 Amazon ECR 이미지를 VPC로 제한하는 것이 허용되지 않습니다.  
또한 Inference Recommender에는 샘플 페이로드 Amazon S3 개체가 VPC 제한을 받지 않아야 한다는 요구 사항도 있습니다. 추론 권장 작업의 경우 프라이빗 VPC의 S3 버킷 액세스 요청만을 허용하는 사용자 지정 정책을 생성하는 것이 좋습니다.

프라이빗 VPC에서 서브넷 및 보안 그룹을 지정하려면 [CreateInferenceRecommendationsJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html) API의 `RecommendationJobVpcConfig`요청 파라미터를 사용하거나 SageMaker AI 콘솔에서 권장 작업을 생성할 때 서브넷 및 보안 그룹을 지정합니다.

Inference Recommender는 이 정보를 사용하여 엔드포인트를 생성합니다. 엔드포인트를 프로비저닝할 때 SageMaker AI는 네트워크 인터페이스를 생성하여 엔드포인트에 연결합니다. 네트워크 인터페이스는 엔드포인트에 VPC에 대한 네트워크 연결을 제공합니다. 다음은 `CreateInferenceRecommendationsJob`작업 호출에 포함할 `VpcConfig`파라미터의 예입니다.

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

Inference Recommender 작업에 사용할 Amazon VPC 구성에 대한 자세한 내용은 다음 항목을 참조하세요.

**Topics**
+ [서브넷에 충분한 IP 주소 확보](#inference-recommender-vpc-access-subnets)
+ [Amazon S3 VPC 엔드포인트 생성](#inference-recommender-vpc-access-endpoint)
+ [Amazon VPC에서 실행 중인 Inference Recommender 작업에 대한 권한을 사용자 지정 IAM 정책에 추가](#inference-recommender-vpc-access-permissions)
+ [라우팅 테이블 구성](#inference-recommender-vpc-access-route-tables)
+ [VPC 보안 그룹 구성](#inference-recommender-vpc-access-security-group)

## 서브넷에 충분한 IP 주소 확보
<a name="inference-recommender-vpc-access-subnets"></a>

VPC 서브넷에는 추론 권장 작업의 각 인스턴스에 대해 최소 2개 이상의 이용 가능한 프라이빗 IP 주소가 있어야 합니다. 서브넷 및 프라이빗 IP 주소에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [Amazon VPC 작동 방식](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-sizing-ipv4)을 참조하세요.**

## Amazon S3 VPC 엔드포인트 생성
<a name="inference-recommender-vpc-access-endpoint"></a>

인터넷 액세스를 차단하도록 VPC를 구성하는 경우 액세스를 허용하는 VPC 엔드포인트를 생성하지 않는 한 Inference Recommender는 모델이 포함된 Amazon S3 버킷에 연결할 수 없습니다. VPC 엔드포인트를 생성함으로써 SageMaker AI 추론 권장 작업이 데이터 및 모델 아티팩트를 저장하는 버킷에 액세스하도록 할 수 있습니다.

Amazon S3 VPC 엔드포인트를 생성하려면 다음 절차를 사용합니다.

1. [Amazon VPC 콘솔](https://console.aws.amazon.com/vpc/)을 엽니다.

1. 탐색 창에서 **엔드포인트**를 선택하고 **엔드포인트 생성**을 선택합니다.

1. **서비스 이름**에서 `com.amazonaws.region.s3`를 검색합니다.여기서 `region`은 VPC가 상주하는 리전의 이름입니다.

1. **게이트웨이 유형**을 선택합니다.

1. **VPC**에서 이 엔드포인트에 사용할 VPC를 선택합니다.

1. **라우팅 테이블 구성**에서 엔드포인트에서 사용할 라우팅 테이블을 선택합니다. VPC 서비스는 사용자가 선택한 각 라우팅 테이블에 Amazon S3 트래픽을 새 엔드포인트로 유도하는 경로를 자동으로 추가합니다.

1. **정책**에서 **모든 액세스**를 선택하여 VPC의 모든 사용자 또는 서비스에 Amazon S3 서비스에 대한 모든 액세스를 허용합니다.

## Amazon VPC에서 실행 중인 Inference Recommender 작업에 대한 권한을 사용자 지정 IAM 정책에 추가
<a name="inference-recommender-vpc-access-permissions"></a>

`[ AmazonSageMakerFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess)` 관리형 정책은 사용자가 엔드포인트에서 Amazon VPC 액세스에 대해 구성된 모델을 사용해야 하는 권한을 포함합니다. 이러한 권한을 통해 Inference Recommender는 탄력적 네트워크 인터페이스를 생성하여 이를 Amazon VPC에서 실행 중인 추론 권장 작업에 연결할 수 있습니다. 자체 IAM 정책을 사용하는 경우 Amazon VPC 액세스를 위해 구성된 모델을 사용하려면 해당 정책에 다음 권한을 추가해야 합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {"Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateNetworkInterface",
                "ec2:ModifyNetworkInterfaceAttribute"
            ],
            "Resource": "*"
        }
    ]
}
```

------



## 라우팅 테이블 구성
<a name="inference-recommender-vpc-access-route-tables"></a>

엔드포인트 라우팅 테이블에 기본 DNS 설정을 사용하여 표준 Amazon S3 URL(예: `http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket`)을 확인합니다. 기본 DNS 설정을 사용하지 않는 경우 엔드포인트 라우팅 테이블을 구성하여 추론 권장 작업 내 데이터 위치를 지정하는 데 사용하는 URL이 해결되는지 확인합니다. VPC 엔드포인트 라우팅 테이블에 대한 자세한 내용은 Amazon VPC 사용 설명서의 [라우팅 게이트웨이 엔드포인트](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)를 참조하세요.**

## VPC 보안 그룹 구성
<a name="inference-recommender-vpc-access-security-group"></a>

추론 권장 작업을 위한 보안 그룹에서 Amazon S3 VPC 엔드포인트 및 추론 권장 작업에 사용되는 서브넷 CIDR 범위로의 아웃바운드 통신을 허용해야 합니다. 자세한 내용은 Amazon VPC 사용 설명서의 [보안 그룹 규칙](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#SecurityGroupRules) 및 [Amazon VPC 엔드포인트가 있는 서비스에 대한 액세스 제어](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-access.html)를 참조하세요.**