본문 바로가기

Cloud/AWS

SageMaker 에 Code whisperer 연결하는 방법

1. 정책 생성

  • IAM 에서 오른쪽 메뉴에 “정책”을 클릭하여 들어간다.
  • 오른쪽 상단의 “정책 생성”을 클릭한다.

  • 권한 지정 페이지가 나오면 오른쪽 상단의 “JSON” 버튼을 클릭해서 편집기를 변경한다.

  • 왼쪽의 음영 진 부분[”Statement”]을 아래 코드 [변경해야 하는 부분] 로 변경해준다.
  • 원래 아래와 같이 지정하라고 해서 아래도 지정했었는데 이렇게 해주니까 실제 쥬피터에서 Code Whisperer가 실행되지 않았다.

# 변경해야 하는 부분 (복사 + 붙여넣기!)

   
    {
      "Sid": "AmazonQDeveloperPermissions",
      "Effect": "Allow",
      "Action": ["codewhisperer:GenerateRecommendations"],
      "Resource": "*"
    }

 

  • 오른쪽 하단에 있는 “다음” 버튼을 클릭한다.

  • 정책 이름과 설명을 작성한 후, (아래로 이어짐)

  • 오른쪽 하단 “정책 생성” 버튼을 클릭한다.

  • IAM > 정책 페이지에서 확인하면 해당 정책이 제대로 생성되어 있는 것을 볼 수 있다.

 

 

2. 정책 연결

  • 해당 정책의 라디오 버튼을 클릭 후 오른쪽 상단의 “작업” > “연결”을 클릭한다.

  • 연결하는 창으로 넘어가면, 필터링 기준 엔터티 유형에서 “IAM users” 로 변경 후 연결 할 엔터티를 찾는다.

  • 해당 엔터티를 클릭 후, (아래로 이어짐)

  • 오른쪽 하단에 “정책 연결” 을 클릭하면 연결은 끝!

 

 

3. SageMaker 에서 적용하기

  • Amazon SageMaker 에 접속한다.

  • 작성자 기준 Notebooks 를 주로 사용하기 때문에 해당 노트북 인스턴스에서 JupyterLab을 열었다.

  • Launcher 에서 Other > Terminal 로 접속한다.

  • 아래 코드를 터미널에서 실행시킨 후 재실행한다.
# 작성해야 하는 부분 (복사 + 붙여넣기!)
	
conda activate studio
pip install amazon-codewhisperer-jupyterlab-ext~=1.0
jupyter server extension enable amazon_codewhisperer_jupyterlab_ext
conda deactivate
restart-jupyter-server

 

  • 재실행해서 들어갔는데 위와 같은 오류가 뜰 경우, 아래와 같이 적용 후 브라우저를 재실행한다.

  • 아래 코드를 터미널에서 실행시킨다.
# 작성해야 하는 부분 (복사 + 붙여넣기!)

jupyter server extension enable amazon_codewhisperer_ jupyterlab_ext
  • 하단에 CodeWhisperer 가 실행되고 있음을 확인할 수 있다.

 

 

4. 참고

  1. https://docs.aws.amazon.com/ko_kr/codewhisperer/latest/userguide/sagemaker-setup.html
  2. https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/access_policies_create-console.html
  3. https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console