BLOG
모든 Amazon SageMaker API 작업은 AWS PrivateLink를 통해 완벽하게 지원되므로 인터넷에 대한 데이터 노출을 줄임으로써 클라우드 기반 응용프로그램과 공유되는 데이터의 보안이 향상됩니다. 이 글에서는 AWS PrivateLink를 사용하여 Amazon SageMaker API 호출을 보호하기 위해 VPC 엔드포인트를 설정하는 방법을 보여 줍니다.
AWS PrivateLink 트래픽은 인터넷을 횡단하지 않으므로 brute force 공격과 DDos 같은 위협에 대한 노출이 줄어듭니다. 응용프로그램과 Amazon SageMaker API 작업 간의 모든 통신은 VPC 내부에 있으므로 Amazon SageMaker와 통신하기 위해 인터넷 게이트웨이, NAT 장치, VPN 연결 또는 AWS Direct Connect가 필요하지 않습니다. 대신 AWS PrivateLink를 사용하면 인터페이스 VPC 엔드포인트를 사용하여 확장 가능한 방식으로 VPC에서 모든 Amazon SageMaker API 작업에 개인적으로 액세스할 수 있습니다. VPC 엔드포인트는 모든 Amazon SageMaker API 호출의 시작 지점 역할을 하는 개인 IP 주소를 가진 서브넷의 유연한 네트워크 인터페이스입니다.
AWS PrivateLink는 모든 Amazon SageMaker API 작업을 지원하지만 CreatePresignedNotebookInstanceUrl에서 반환된 AuthorizedUrl는 AWS PrivateLink를 통해 액세스할 수 없습니다. 현재 SageMaker 노트북 인스턴스는 인터넷을 통해서만 액세스할 수 있기 때문입니다. 그러나 IAM 정책을 IP 주소 조건 연산자에 연결하여 특정 IP 주소 목록에 대한 노트북 인스턴스 액세스를 제한할 수 있습니다. 이 조건은 IAM 사용자, 그룹 또는 노트북 인스턴스에 액세스하는 역할과 관련된 정책의 IP 주소에서 호출이 시작되는 경우가 아니면 CreatePresignedNotebookInstanceUrl과 AuthorizedUrl에 대한 액세스를 거부합니다. 이 방법은 회사의 IP 주소가 정의된 범위 내에 있을 때 유용합니다. 자세한 내용은 노트북 인스턴스 액세스를 참조하십시오.
VPC 엔드포인트 생성
AWS PrivateLink를 사용하려면 인터페이스 VPC 엔드포인트를 생성하고 Amazon SageMaker API 서비스에 연결해야 합니다. 이 글에서는 AWS 관리 콘솔을 사용하여 VPC 엔드포인트를 만들지만 AWS CLI(AWS 명령줄 인터페이스) 명령을 사용하여 동일한 작업을 수행할 수 있습니다.
콘솔에서 VPC 엔드포인트를 생성하려면 다음 이미지와 같이 Amazon VPC 콘솔을 열고 엔드포인트 페이지를 열고 새 엔드포인트를 만듭니다.
- Amazon SageMaker API 서비스 이름. 서비스 범주에서 AWS 서비스를 선택하고 서비스 이름에 대해 eu-west-1.sagemaker.api를 선택합니다.
- VPC 및 사용할 가용성 영역(AZ)
- 인터페이스 VPC 엔드포인트와 연결할 보안 그룹. 보안 그룹을 지정하지 않으면 VPC의 기본 보안 그룹이 연결됩니다.
VPC 엔드포인트의 상태가 사용할 수 있는(available) 경우 VPC 엔드포인트를 사용할 수 있습니다. 다음 이미지에는 두 개의 VPC 엔드포인트가 표시됩니다. 첫 번째는 Amazon SageMaker에서 호스팅되는 모델에 대한 예측 호출을 확보하기 위한 Amazon SageMaker 런타임 서비스입니다. 두 번째는 모든 API 호출을 보호하기 위한 Amazon SageMaker API 서비스입니다.
VPC 엔드포인트를 생성한 후 다음 AWS CLI 명령을 사용하여 구성된 VPC 엔드포인트를 사용하여 VPC 내부의 노트북 인스턴스를 나열합니다.
aws sagemaker list-notebook-instances –-endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com
선택적으로, 다음 이미지와 같이 VPC 엔드포인트에 대해 전용 DNS 호스트 이름을 사용하도록 설정하는 경우 엔드포인트 URL을 지정할 필요가 없습니다.
전용 호스트 영역을 사용하면 AWS에서 제공하는 전용 IPv4 주소나 전용 DNS 호스트 이름을 사용하는 대신 example.com과 같은 사용자 지정 DNS 도메인 이름을 사용하여 VPC의 리소스에 액세스할 수 있습니다. AWS CLI 및 Amazon SageMaker SDK에서 기본적으로 사용하는 Amazon SageMaker DNS 호스트 이름(https://api.sagemaker.Region.amazonaws.com)이 VPC 엔드포인트로 확인됩니다.
전용 호스트 영역을 사용하도록 설정했거나 2018년 8월 13일 이전에 릴리스된 SDK를 사용하는 경우 SDK 또는 AWS CLI를 사용할 때 엔드포인트를 지정해야 합니다. 예를 들면 다음과 같습니다.
aws –endpoint https://VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com sagemaker list-notebook-instances
앞의 예에서 VPC 엔드포인트의 경우 다음과 같습니다.
aws –endpoint https://vpce-0ade0a2e24d1ae8a5.api.sagemaker.eu-west-1.vpce.amazonaws.com sagemaker list-notebook-instances
전용 호스트 영역을 활성화하고 2018년 8월 13일에 릴리스된 SDK를 사용하고 있다면 다음과 같습니다.
aws sagemaker list-notebook-instances
결론
이제 모든 Amazon SageMaker API 호출 및 예측 호출이 AWS PrivateLink를 통해 지원됩니다. 이 기능은 모든 Amazon SageMaker 리전에서 사용할 수 있습니다. 암호화, IAM 역할, KMS 키 및 AWS CloudTrail 통합과 같은 Amazon SageMaker의 보안 기능 사용에 대한 자세한 내용은 Amazon SageMaker 개발자 가이드를 참조하십시오.
원문 URL: https://aws.amazon.com/ko/blogs/machine-learning/securing-all-amazon-sagemaker-api-calls-with-aws-privatelink/
** 메가존 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.