VPC 인터페이스 엔드포인트를 통해 노트북 인스턴스에 연결 - 아마존 SageMaker

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

VPC 인터페이스 엔드포인트를 통해 노트북 인스턴스에 연결

퍼블릭 인터넷을 통해 연결하는 대신 Virtual Private Cloud(VPC)의 인터페이스 엔드포인트를 통해 VPC에서 노트북 인스턴스에 연결할 수 있습니다. VPC 인터페이스 엔드포인트를 사용하는 경우 VPC와 노트북 인스턴스 간의 통신은 모두 AWS 네트워크에서 안전하게 수행됩니다.

SageMaker 노트북 인스턴스는 에서 구동되는 Amazon VPC (Virtual Private Cloud) 인터페이스 엔드포인트를 지원합니다. AWS PrivateLink 각 VPC 엔드포인트는 하나 이상의 탄력적 네트워크 인터페이스 및 VPC 서브넷의 프라이빗 IP 주소로 표현됩니다.

참고

노트북 인스턴스에 연결할 인터페이스 VPC 엔드포인트를 생성하기 전에 API에 연결할 인터페이스 VPC 엔드포인트를 생성하십시오. SageMaker 이러한 방식으로 사용자가 CreatePresignedNotebookInstanceUrl을 호출하여 노트북 인스턴스에 연결하기 위한 URL을 얻으면 해당 호출 역시 인터페이스 VPC 엔드포인트를 통과합니다. 자세한 내용은 VPC SageMaker 내에 연결을 참조하세요.

AWS Management Console or AWS Command Line Interface (AWS CLI) 명령을 사용하여 노트북 인스턴스에 연결할 인터페이스 엔드포인트를 생성할 수 있습니다. 자세한 내용은 인터페이스 엔드포인트 생성을 참조하세요. 노트북 인스턴스에 연결하려는 VPC에 있는 모든 서브넷에 대해 인터페이스 엔드포인트를 생성해야 합니다.

인터페이스 엔드포인트를 생성할 때 서비스 이름으로 aws.sagemaker.Region.notebook을 지정합니다. VPC 엔드포인트를 만든 후에는 VPC 엔드포인트에 대해 프라이빗 DNS를 사용하도록 설정합니다. SageMaker API AWS CLI, 또는 콘솔을 사용하여 VPC 내에서 노트북 인스턴스에 연결하면 공용 인터넷 대신 VPC 엔드포인트를 통해 노트북 인스턴스에 연결됩니다.

SageMaker 노트북 인스턴스는 Amazon AWS 리전 VPC와 사용 가능한 모든 곳에서 VPC 엔드포인트를 지원합니다. SageMaker

VPC를 통해 노트북 인스턴스에 연결하려면 VPC 내부의 인스턴스에서 연결하거나 () 또는 를 사용하여 VPC에 프라이빗 네트워크를 연결해야 합니다. AWS Virtual Private Network AWS VPN AWS Direct Connect자세한 내용은 Amazon Virtual Private Cloud 사용 설명서의 VPN 연결을 참조하십시오. AWS VPN에 대한 AWS Direct Connect자세한 내용은 AWS Direct Connect 사용 설명서의 연결 생성을 참조하십시오.

SageMaker 노트북 인스턴스의 Amazon VPC 엔드포인트에 대한 정책을 생성하여 다음을 지정할 수 있습니다.

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

  • 수행할 수 있는 작업.

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

자세한 내용은 Amazon VPC 사용 설명서의 VPC 엔드포인트를 통해 서비스에 대한 액세스 제어를 참조하세요.

다음 VPC 엔드포인트 정책 예제에서는 엔드포인트에 대한 액세스 권한이 있는 모든 사용자가 myNotebookInstance이름의 노트북 인스턴스에 액세스할 수 있도록 지정합니다.

{ "Statement": [ { "Action": "sagemaker:CreatePresignedNotebookInstanceUrl", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:123456789012:notebook-instance/myNotebookInstance", "Principal": "*" } ] }

다른 노트북 인스턴스에 대한 액세스가 거부되었습니다.

VPC 내에서 인터페이스 엔드포인트를 설정했더라도 VPC 외부 사용자가 인터넷을 통해 노트북 인스턴스에 연결할 수 있습니다.

중요

다음 중 하나와 유사한 IAM 정책을 적용할 경우 사용자는 콘솔을 통해 지정된 SageMaker API 또는 노트북 인스턴스에 액세스할 수 없습니다.

VPC 내에서 생성된 연결에 대해서만 액세스를 제한하려면 VPC 내에서 생성된 호출로만 액세스를 제한하는 AWS Identity and Access Management 정책을 생성합니다. 그런 다음 노트북 인스턴스에 액세스하는 데 사용되는 모든 AWS Identity and Access Management 사용자, 그룹 또는 역할에 해당 정책을 추가합니다.

참고

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

{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVpc": "vpc-111bbaaa" } } } ] }

인터페이스 엔드포인트를 사용하여 수행된 연결로만 노트북 인스턴스에 대한 액세스를 제한하려면 aws:SourceVpc:대신 aws:SourceVpce조건 키를 사용합니다.

{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:sourceVpce": [ "vpce-111bbccc", "vpce-111bbddd" ] } } } ] }

이 두 정책 예제는 모두 SageMaker API용 인터페이스 엔드포인트도 생성했다고 가정합니다. 자세한 정보는 VPC SageMaker 내에 연결을 참조하세요. 두 번째 예제에서 aws:SourceVpce에 대한 값 중 하나는 노트북 인스턴스에 대한 인터페이스 엔드포인트의 ID입니다. 다른 하나는 SageMaker API의 인터페이스 엔드포인트 ID입니다.

일반적으로 연결을 시도하기 전에 NotebookInstanceStatusInService인지 확인하기 위해 DescribeNotebookInstance를 호출하기 때문에 다음 정책 예제에는
 DescribeNotebookInstance가 포함되어 있습니다. 예:

aws sagemaker describe-notebook-instance \ --notebook-instance-name myNotebookInstance { "NotebookInstanceArn": "arn:aws:sagemaker:us-west-2:1234567890ab:notebook-instance/mynotebookinstance", "NotebookInstanceName": "myNotebookInstance", "NotebookInstanceStatus": "InService", "Url": "mynotebookinstance.notebook.us-west-2.sagemaker.aws", "InstanceType": "ml.m4.xlarge", "RoleArn": "arn:aws:iam::1234567890ab:role/service-role/AmazonSageMaker-ExecutionRole-12345678T123456", "LastModifiedTime": 1540334777.501, "CreationTime": 1523050674.078, "DirectInternetAccess": "Disabled" } aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance { "AuthorizedUrl": "https://mynotebookinstance.notebook.us-west-2.sagemaker.aws?authToken=AuthToken }
참고

생성된 presigned-notebook-instance-url, AuthorizedUrl는 인터넷의 어느 곳에서나 사용할 수 있습니다.

두 호출 모두에 대해 VPC 엔드포인트에 프라이빗 DNS 호스트 이름을 활성화하지 않았거나 2018년 8월 13일 이전에 릴리스된 SDK 버전을 사용하는 경우 호출에서 엔드포인트 URL을 지정해야 합니다. AWS 예를 들어 create-presigned-notebook-instance-url에 대한 호출은 다음과 같습니다.

aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com