BLOG
Amazon SageMaker 노트북 인스턴스는 완벽하게 관리되는 ML (Machine Learning) Amazon EC2 인스턴스를 통해 Jupyter 노트북 애플리케이션을 제공합니다. Amazon SageMaker Jupyter 노트북은 고급 데이터 탐색, 교육 작업 생성, Amazon SageMaker 호스팅에 모델 배포, 모델 테스트 또는 유효성 검사에 사용됩니다.
노트북 인스턴스는 다양한 네트워킹 구성을 사용할 수 있습니다. 이 글에서는 다양한 옵션을 설명하고 고객을 위한 일반적인 시나리오를 논의합니다.
기본 사항
Amazon SageMaker 노트북 인스턴스는 가상 프라이빗 클라우드 (VPC)를 연결하거나 연결하지 않고 시작할 수 있습니다. VPC가 부착된 채로 시작하면 노트북을 직접 인터넷에 연결하거나 혹은 연결하지 않고도 구성 할 수 있습니다.
중요 참고 사항 : 직접적인 인터넷 액세스란 Amazon SageMaker 서비스가 서비스에서 관리되는 VPC를 통해 인터넷과 대화 할 수 있는 네트워크 인터페이스를 제공한다는 의미입니다.
Amazon SageMaker 콘솔을 사용하면 다음 세 가지 옵션을 사용할 수 있습니다.
- 고객 VPC가 연결되지 않았습니다.
- 고객VPC 가 디렉트 인터넷 액세스로 연결되었습니다.
- 고객VPC 가 직접적인 인터넷 액세스 없이 연결되었습니다.
이는 무엇을 의미합니까?
세 가지 옵션 각각은 일련의 라우팅 구성으로 관리되는 EC2 인스턴스의 네트워크 인터페이스를 자동으로 구성합니다. 특정 상황에서 이 설정을 수정하여 특정 IP 주소 범위를 다른 네트워크 인터페이스로 라우팅 할 수 있습니다. 다음은 각 기본 구성을 단계별로 설명합니다.
- 연결된 고객 없음 VPC (네트워크 인터페이스 1 개)
이 구성에서 모든 트래픽은 단일 네트워크 인터페이스를 통과합니다. 노트북 인스턴스는 위의 그림과 같이 Amazon SageMaker 관리 VPC에서 실행됩니다.
- 고객이 직접 인터넷 접속이 가능한 VPC (2 개의 네트워크 인터페이스)
이 구성에서 노트북 인스턴스는 어떤 네트워크 트래픽이 두 네트워크 인터페이스 중 하나를 다운시켜야 하는지에 대하여 결정해야 합니다.
172.31.0.0/16 CIDR 범위의 VPC를 실행하고 OS 수준의 경로 정보를 살펴본 예제를 보면 이를 알 수 있습니다.
이 경로 테이블을 보면 다음과 같은 내용을 볼 수 있습니다.
- 172.31.0.0/16 트래픽은 eth2 인터페이스를 사용합니다.
- 일부 Docker 및 메타데이터 경로.
- 다른 모든 트래픽은 eth0 인터페이스를 사용합니다.
간단히 하기 위해 eth0 및 eth2 구성에만 초점을 맞추고 다른 Docker / ec2 메타데이터 항목에는 집중하지 않을 것입니다. 다음과 같은 구성을 보여줍니다.
이 기본 설정은 고객이 첨부한 VPC (eth2)의 CIDR 범위를 제외한 모든 트래픽에 대해 인터넷 네트워크 인터페이스 (eth0)를 사용합니다. 온프레미스 또는 피어 VPC 리소스와 상호 작용할 때 이 설정을 덮어 써야하는 경우가 있습니다.
- 고객이 직접 인터넷에 접속하지 않고 VPC를 연결했습니다.
중요 참고 사항 :이 구성에서 노트북 인스턴스는 여전히 인터넷에 액세스하도록 구성 할 수 있습니다. 시작된 네트워크 인터페이스에는 개인 IP 주소 만 있습니다. 즉, NAT가 있는 개인 서브넷에 있거나 가상 개인 게이트웨이를 통해 인터넷에 다시 액세스해야합니다. 공개 서브넷에 시작되면 인터넷 게이트웨이 (IGW)를 통해 인터넷에 접속할 수 없습니다.
공통 고객 패턴
직접적인 인터넷 액세스를 통해 Amazon SageMaker 인스턴스에서 온프레미스 리소스에 액세스하기 :
다음과 같은 구성을 가지고 있다고 가정해보십시오.
10.0.0.0/16 CIDR 범위의 온프레미스형 리소스에 액세스하려고 시도하면 eth0 인터넷 인터페이스를 통해 OS가 라우팅합니다. 이 인터페이스는 온프레미스로 다시 연결되지 않으며 온프레미스형 리소스와 통신할 수 없습니다.
온프레미스에서 다시 경로를 지정하려면 경로 표를 다음과 같이 업데이트 해야 합니다.
이를 위해 Amazon SageMaker 노트북 인스턴스의 터미널에서 다음 명령을 수행 할 수 있습니다.
이제 “route -n”을 입력하여 경로 테이블을 보면 경로가 표시됩니다.
마스크 255.255.0.0 (10.0.0.0/16과 동일)을 사용하는 10.0.0.0의 경로가 VPC 라우팅 IP 주소 (172.31.64.1)를 통과합니다.
하지만, 여전히 한 가지 문제가 있습니다.
노트북을 다시 시작하면 변경 사항이 유지되지 않습니다. ML 스토리지 볼륨에 대한 변경 사항만 중지 / 시작과 함께 유지됩니다. 일반적으로 패키지와 파일을 유지하려면 “/ home / ec2-user / SageMaker” 아래에 있어야 합니다. 이 경우 다른 기능인 라이프 사이클 구성을 사용하여 노트북을 시작할 때마다 경로를 추가합니다.
다음 다이어그램과 같이 라이프 사이클 정책을 만들 수 있습니다.
이제 우리는 라이프스타일 설정을 통해 노트북을 만들 수 있습니다.
이 설정을 사용하면 노트북이 만들어지거나 중지되고 다시 시작될 때 예상되는 네트워킹 구성을 갖게 됩니다.
결론
Amazon SageMaker Jupyter 노트북은 고급 데이터 탐색을 수행하고 모델 교육 작업을 작성하며 Amazon SageMaker 호스팅에 모델을 배치하고 테스트하거나 검증하는 데 사용됩니다. 따라서 노트북 인스턴스가 다양한 네트워킹 구성을 사용할 수 있는 능력을 갖고 있어야 합니다. 이러한 구성을 적용 할 수 있는 방법을 알면 조직 및 기업체의 기존 리소스와 통합 할 수 있습니다.
원문 URL: https://aws.amazon.com/ko/blogs/machine-learning/understanding-amazon-sagemaker-notebook-instance-networking-configurations-and-advanced-routing-options/
** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.