SageMaker 호스팅된 엔드포인트에 Amazon VPC의 리소스에 대한 액세스 권한 부여 - 아마존 SageMaker

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

SageMaker 호스팅된 엔드포인트에 Amazon VPC의 리소스에 대한 액세스 권한 부여

Amazon VPC 액세스를 위한 모델 구성

프라이빗 VPC에서 서브넷과 보안 그룹을 지정하려면 API의 CreateModel요청 파라미터를 사용하거나 VpcConfig 콘솔에서 SageMaker 모델을 생성할 때 이 정보를 제공하십시오. SageMaker 이 정보를 사용하여 네트워크 인터페이스를 생성하고 모델 컨테이너에 연결합니다. 네트워크 인터페이스는 모델 컨테이너에 인터넷에 연결되지 않은 VPC 내의 네트워크 연결을 제공합니다. 또한 모델을 프라이빗 VPC의 리소스에 연결할 수 있게 해 줍니다.

참고

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

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

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

호스팅용 프라이빗 VPC 구성 SageMaker

SageMaker 모델에 맞게 프라이빗 VPC를 구성할 때는 다음 가이드라인을 사용하십시오. VPC 설정에 대한 자세한 내용은 Amazon VPC 사용 설명서의 VPC 및 서브넷 작업을 참조하세요.

서브넷에 충분한 IP 주소를 확보해야 합니다

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

Amazon S3 VPC 엔드포인트 생성

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

Amazon S3 VPC 엔드포인트를 생성하려면
  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 여세요.

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

  3. 서비스 이름으로 com.amazonaws를 선택합니다. .s3 지역, 여기서 지역은 VPC가 AWS 위치한 지역의 이름입니다.

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

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

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

사용자 지정 엔드포인트 정책을 사용하여 Amazon S3에 대한 액세스 제한

기본 엔드포인트 정책은 VPC의 모든 사용자 또는 서비스에 대해 Amazon Simple Storage Service(S3)에 대한 전체 액세스를 허용합니다. Amazon S3에 대한 액세스를 추가로 제한하려면 사용자 지정 엔드포인트 정책을 생성합니다. 자세한 내용은 Amazon S3용 엔드포인트 정책 사용을 참조하세요.

또한 S3 버킷에 대한 액세스를 Amazon VPC에서 시작하는 트래픽으로만 제한하는 버킷 정책을 사용할 수도 있습니다. 자세한 내용은 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/*" ] } ] }

VPC에서 실행되는 컨테이너에 대한 엔드포인트 액세스 권한을 사용자 지정 IAM 정책에 추가

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

{ "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을 참조하세요.

라우팅 테이블 구성

엔드포인트 라우팅 테이블에 기본 DNS 설정을 사용하여 표준 Amazon S3 URL(예: http://s3-aws-region.amazonaws.com/MyBucket)을 확인합니다. 기본 DNS 설정을 사용하지 않는 경우 엔드포인트 라우팅 테이블을 구성하여 모델 내 데이터 위치를 지정하는 데 사용하는 URL이 해결되는지 확인합니다. VPC 엔드포인트 라우팅 테이블에 대한 자세한 내용은 Amazon 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)를 참조하세요.