개요

회사에서 AWS Sagemaker Studio를 Production Level로 셋팅할 일이 생겨서 작업 한 뒤 내용을 정리해둔다.

해당 문서는 회사에서 Sagemaker Studio 사용을 가이드하는 내용이다.

목차

  • 접속방법
  • 보안정책
  • 형상관리 연동방법
  • 노트북 공유
  • S3 사용방법
  • 실행 인스턴스 성능 변경

접속방법

  • 접속주소 : https://AWS계정ID.signin.aws.amazon.com/console/

접속하면 관리 콘솔 화면을 볼 수 있다.

Services 클릭 후 Amazon SageMaker를 클릭한다.

계정 사용 정책

  • IAM계정명과 동일하게 맞추어서 발급했다.
  • Studio용 Role과 사용자 Role을 동일하게 부여했다.
  • 왼쪽 메뉴에서 Studio를 클릭하면 SageMaker 도메인 메뉴가 나온다.
  • 이미 생성된 계정 중에 본인 계정의 앱시작 버튼을 누른다.
    width:600px

Studio 실행

이후 앱 시작 -> Studio 클릭 시 Sagemaker Studio를 시작한다.

  • 스튜디오가 실행되면 노트북 실행이 정상동작하는지 확인해보자.
  • File -> New -> Notebook을 클릭한다.

커스텀 도커이미지

  • 사내 도커이미지를 1벌로 공통화 하여 가져가고자 한다.
  • 노트북 실행 시 사용할 도커이미지 및 커널을 선택하라고 나온다.
  • 이때 ECR로 미리 만들어둔 공통 도커이미지를 선택하면 된다.
    (부가적으로는 ECR 이미지를 studio화면에서 attach 해야한다.)

보안정책

  • Sagemaker Studio IDE는 본인만 사용할 수 있게 보안설정을 했다.
  • 만약 협업 필요 시 노트북 공유(읽기전용)는 가능하다.
  • 더불어 코드 저장소는 공동사용 영역이다.

형상관리 연동방법: Git Clone

Github이 아닌 AWS CodeCommit으로 연동을 했다. 차후 Github으로 변경 여지는 있다.

  • 사용할 git repo 정보를 확인해보자.
  • Services -> CodeCommit으로 접속한다.

  • 원하는 repo에 HTTPS 아이콘을 클릭하면 git repo 주소를 복사 할 수 있다.

  • 스튜디오 좌측에서 Git모양 아이콘을 클릭 후 Clone a Repository를 선택한다.

  • 위에서 획득한 HTTPS 주소를 입력하고 CLONE 한다.

  • 클론이 완료되면 / 경로 아래에 클론된 디렉토리가 표시된다.

형상관리 연동방법: Git Commit & Push

  • 아래의 신규파일을 Git Commit 후 Push 해보기로 하자.

  • 아래 네모 영역에 마우스를 갖다대서 +를 하면 stage영역으로 파일이 이동한다.

  • Stage 영역으로 옮겨진 2개의 파일을 확인 할 수 있다.

  • 커밋메세지를 적고 커밋 버튼을 눌러보자.
    width:200px

  • 정상적으로 커밋한 뒤 네모 아이콘을 눌러 원본 repo로 push한다.

  • 정상적으로 git push가 완료됨을 알려준다.

  • 이후 code commit repo에서도 원하는 파일이 정상 추가되었음을 확인 할 수 있다.
    width:600px

노트북 공유

필요시 읽기전용 으로 내 노트북을 동료에게 공유할 수 있다.

  • 공유를 원하는 노트북에 들어가 Share를 클릭한다.

  • 필요에 따라 output 포함여부를 선택하고 Create를 누른다.

  • 노트북 공유용 URL이 생성되었다. 이 링크를 공유하면 된다.

  • 타 계정에서 노트북 공유 링크에 접속해보면 읽기 전용이라는 경고와 함께 노트북을 볼 수 있다.

  • 필요시 노트북을 복사해서 내 스튜디오에서 돌려 볼 수 있다.

S3 사용방법

S3는 우선 단일 버킷에 대한 접근 권한만 부여하여 관리를 시작하고자 한다.

아래는 boto3를 이용한 코드 예제이다.

  • Import & List

  • Put & Get

  • Delete

실행 인스턴스 성능 변경

  • 스튜디오 오른쪽 상단에 cpu 표시된 부분을 클릭하면 실행자원을 변경 할 수 있다.
  • 필요시 GPU 모델링도 가능하다.
  • 과금과 연결되므로 오남용은 주의하여야 한다.