인터페이스 VPC 엔드포인트를 통해 Amazon SageMaker 스튜디오 및 스튜디오 클래식에 연결 - 아마존 SageMaker

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

인터페이스 VPC 엔드포인트를 통해 Amazon SageMaker 스튜디오 및 스튜디오 클래식에 연결

인터넷을 통해 연결하는 VPC 대신 Amazon Virtual Private Cloud (AmazonVPC) 의 인터페이스 엔드포인트를 통해 Amazon SageMaker SageMaker Studio 및 Amazon Studio Classic에 연결할 수 있습니다. 인터페이스 VPC 엔드포인트 (인터페이스 엔드포인트) 를 사용하면 Studio 또는 Studio Classic 간의 통신이 인터페이스 엔드포인트 내에서 완전하고 안전하게 수행됩니다. VPC AWS 네트워크.

스튜디오와 스튜디오 클래식은 다음으로 구동되는 인터페이스 엔드포인트를 지원합니다. AWS PrivateLink. 각 인터페이스 엔드포인트는 VPC 서브넷에 사설 IP 주소가 있는 하나 이상의 엘라스틱 네트워크 인터페이스로 표시됩니다.

스튜디오와 스튜디오 클래식은 모두 인터페이스 엔드포인트를 지원합니다. AWS SageMakerAmazon과 Amazon을 VPC 모두 사용할 수 있는 지역

VPC엔드포인트 생성

다음 중 하나를 사용하여 Studio 또는 Studio Classic에 연결할 인터페이스 엔드포인트를 생성할 수 있습니다. AWS 콘솔 또는 AWS Command Line Interface (AWS CLI). 지침은 인터페이스 엔드포인트 생성을 참조하십시오. Studio 및 Studio Classic에 연결하려는 서브넷의 모든 서브넷에 대해 인터페이스 엔드포인트를 생성해야 합니다VPC.

인터페이스 엔드포인트를 생성할 때는 엔드포인트의 보안 그룹이 Studio 및 Studio Classic과 연결된 보안 그룹의 HTTPS 트래픽에 대한 인바운드 액세스를 허용하는지 확인하십시오. 자세한 내용은 VPC엔드포인트를 통한 서비스 액세스 제어를 참조하십시오.

참고

Studio 및 Studio Classic에 연결하기 위한 인터페이스 엔드포인트를 생성하는 것 외에도 Amazon에 연결할 인터페이스 엔드포인트를 SageMaker API 생성하십시오. 사용자가 Studio 및 Studio Classic에 URL 연결하기 위해 를 호출하면 해당 호출은 연결에 사용된 인터페이스 엔드포인트를 SageMaker API 통과합니다. CreatePresignedDomainUrl

인터페이스 엔드포인트를 생성할 때는 Studio 또는 Studio Classic의 서비스 aws.sagemaker.Region.studio 이름으로 지정하십시오. 인터페이스 엔드포인트를 생성한 후 엔드포인트에서 DNS 프라이빗을 활성화하십시오. 를 VPC 사용하여 내에서 Studio 또는 Studio Classic에 연결하는 SageMaker API 경우 AWS CLI또는 콘솔에서는 공용 인터넷 대신 인터페이스 엔드포인트를 통해 연결합니다. 또한 Studio 또는 Studio Classic이 엔드포인트를 사용하지 않고 VPC 엔드포인트를 SageMaker API 사용하여 액세스할 수 있도록 Amazon api.sagemaker.$region.amazonaws.com 엔드포인트에 프라이빗 호스팅 영역을 포함하는 사용자 정의를 DNS 설정해야 URL 합니다. VPC 프라이빗 호스팅 영역 설정에 대한 지침은 프라이빗 호스팅 영역 작업을 참조하세요.

Amazon VPC 엔드포인트 정책을 Studio 또는 Studio Classic에 연결하는 데 사용하는 인터페이스 VPC 엔드포인트에 연결할 수 있습니다. 엔드포인트 정책은 스튜디오 또는 스튜디오 클래식에 대한 액세스를 제어합니다. 다음을 지정할 수 있습니다.

  • 작업을 수행할 수 있는 보안 주체.

  • 수행할 수 있는 작업.

  • 작업을 수행할 수 있는 리소스.

Studio 또는 Studio Classic에서 VPC 엔드포인트를 사용하려면 엔드포인트 정책이 해당 KernelGateway 앱 유형에서의 CreateApp 작업을 허용해야 합니다. 이렇게 하면 VPC 엔드포인트를 통해 라우팅되는 트래픽이 를 호출할 수 있습니다. CreateApp API 다음 예제 VPC 엔드포인트 정책은 CreateApp 작업을 허용하는 방법을 보여줍니다.

{ "Statement": [ { "Action": "sagemaker:CreateApp", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:acct-id:app/domain-id/*", "Principal": "*" } ] }

자세한 내용은 VPC엔드포인트를 통한 서비스 액세스 제어를 참조하십시오.

다음 VPC 엔드포인트 정책 예시에서는 엔드포인트에 액세스할 수 있는 모든 사용자가 지정된 도메인 ID를 사용하여 SageMaker 도메인의 사용자 프로필에 액세스할 수 있도록 지정합니다. 다른 도메인에 대한 액세스는 거부됩니다.

{ "Statement": [ { "Action": "sagemaker:CreatePresignedDomainUrl", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:acct-id:user-profile/domain-id/*", "Principal": "*" } ] }

에 인터페이스 엔드포인트를 설정한 경우에도 외부 사용자는 인터넷을 통해 Studio 또는 Studio Classic에 연결할 VPC 수 있습니다VPC.

내에서 이루어진 연결에만 액세스할 수 있도록 하려면 다음을 생성하십시오VPC. AWS Identity and Access Management 이를 위한 (IAM) 정책. Studio 또는 Studio Classic에 액세스하는 데 사용되는 모든 사용자, 그룹 또는 역할에 해당 정책을 추가하십시오. 이 기능은 인증 IAM 모드를 사용할 때만 지원되며 IAM Identity Center 모드에서는 지원되지 않습니다. 다음 예에서는 이러한 정책을 생성하는 방법을 보여줍니다.

중요

다음 예제 중 하나와 유사한 IAM 정책을 적용하는 경우 사용자는 SageMaker 콘솔을 SageMaker APIs 통해 Studio 또는 Studio Classic 또는 지정된 기능에 액세스할 수 없습니다. Studio 또는 Studio Classic에 액세스하려면 사용자가 미리 서명된 계정을 URL 사용하거나 SageMaker APIs 직접 호출해야 합니다.

예 1: 인터페이스 엔드포인트의 서브넷 내에서만 연결 허용

이 정책으로는 인터페이스 엔드포인트를 생성한 서브넷의 호출자에만 연결할 수 있습니다.

{ "Id": "sagemaker-studio-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeUserProfile" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVpc": "vpc-111bbaaa" } } } ] }

예 2: aws:sourceVpce를 사용하여 인터페이스 엔드포인트를 통한 연결만 허용

다음 정책은 aws:sourceVpce조건 키로 지정된 인터페이스 엔드포인트를 통해 이루어진 연결만 허용합니다. 예를 들어 첫 번째 인터페이스 엔드포인트는 SageMaker 콘솔을 통한 액세스를 허용할 수 있습니다. 두 번째 인터페이스 엔드포인트는 를 통한 액세스를 허용할 수 SageMaker API 있습니다.

{ "Id": "sagemaker-studio-example-2", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeUserProfile" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:sourceVpce": [ "vpce-111bbccc", "vpce-111bbddd" ] } } } ] }

이 정책에는 DescribeUserProfile작업이 포함됩니다. 일반적으로 도메인에 연결하기 전에 사용자 프로필의 상태가 InService인지 확인하기 위해 DescribeUserProfile를 호출합니다. 예:

aws sagemaker describe-user-profile \ --domain-id domain-id \ --user-profile-name profile-name

응답:

{ "DomainId": "domain-id", "UserProfileArn": "arn:aws:sagemaker:us-west-2:acct-id:user-profile/domain-id/profile-name", "UserProfileName": "profile-name", "HomeEfsFileSystemUid": "200001", "Status": "InService", "LastModifiedTime": 1605418785.555, "CreationTime": 1605418477.297 }
aws sagemaker create-presigned-domain-url --domain-id domain-id \ --user-profile-name profile-name

응답:

{ "AuthorizedUrl": "https://domain-id.studio.us-west-2.sagemaker.aws/auth?token=AuthToken" }

두 호출 모두에 대해 다음 버전을 사용하는 경우 AWS SDK2018년 8월 13일 이전에 릴리스된 경우 URL 통화에서 엔드포인트를 지정해야 합니다. 예를 들어 다음 예에서는 create-presigned-domain-url에 대한 호출을 보여줍니다.

aws sagemaker create-presigned-domain-url --domain-id domain-id \ --user-profile-name profile-name \ --endpoint-url vpc-endpoint-id.api.sagemaker.Region.vpce.amazonaws.com

예 3: aws:SourceIp을 사용하여 IP 주소에서의 연결 허용

다음 정책은 aws:SourceIp조건 키를 사용하여 지정된 IP 주소 범위에서만 연결을 허용합니다.

{ "Id": "sagemaker-studio-example-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeUserProfile" ], "Resource": "*", "Condition": { "IpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "203.0.113.0/24" ] } } } ] }

예 4: aws:VpcSourceIp를 사용하여 인터페이스 엔드포인트를 통한 IP 주소로부터의 연결 허용

인터페이스 엔드포인트를 통해 Studio 또는 Studio Classic에 액세스하는 경우 다음 정책에 표시된 대로 aws:VpcSourceIp 조건 키를 사용하여 인터페이스 엔드포인트를 만든 서브넷 내에서 지정된 IP 주소 범위에서만 연결을 허용할 수 있습니다.

{ "Id": "sagemaker-studio-example-4", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeUserProfile" ], "Resource": "*", "Condition": { "IpAddress": { "aws:VpcSourceIp": [ "192.0.2.0/24", "203.0.113.0/24" ] }, "StringEquals": { "aws:SourceVpc": "vpc-111bbaaa" } } } ] }