본문 바로가기

Cloud/AWS

AWS 계정간 EC2 인스턴스 공유하기

반응형

AWS를 사용하다보면 EC2 인스턴스를 다른 계정에서 사용하고 싶은 경우가 생기게 됩니다.

Free-Tier 이용 목적으로 만든 개인계정에서 생성한 이미지를 업무용 시스템에 적용하고 싶다거나 특정 사용자에게 본인이 구성한 이미지를 공유하고자 하는 경우 입니다.
이러때는 AWS 에서 제공되는 IMAGE 공유 기능을 사용하면 이용합니다.

편의상 EC2 이미지가 있는 계정을 공유계정
AMI 이미지를 공유 받을 계정을 구독계정 으로 명명 하겠습니다.

우선 EC2 인스턴스가 생성되어 있는 공유계정에서 AMI 이미지를 생성합니다.

 

 



Ec2 - Instances 에서 이미지 생성을 위한 인스턴스를 선택한 후
상단메뉴의 Action -image - Create Image 를 선택합니다.




이미지 생성시에 인스턴스는 자동으로 재부팅 됩니다.
인스턴스가 재부팅되는 것을 방지하기 위해서는 No reboot 항목에 체크 합니다.

Create Image 버튼을 클릭하면 이미지 생성이 시작 됩니다.

이미지가 생성될 때


이미지를 공유하기 위하여 공유대상 AWS 계정 ID 가 필요합니다.

공유계정에서 로그아웃 한 후 구독계정 으로 다시 로그인합니다.

우측상단 사용자 정보에서 My Account  를 선택합니다.







계정설정계정 ID 항목이 보입니다.
해당 번호를 복사하여 기록해 둡니다






이제 다시 EC2 이미지를 생성했던 공유계정으로 로그인 합니다.

EC2 - images - AMIs 항목으로 이동하면 조금전에 수행한 이미지 생성 작업이 완료 되어 있을 것입니다.

이미지 생성이 정상적으로 완료 되었다면  Status 항목이 Pending 에서 available 로 변경되어 있어야 합니다.






이제 완료된 이미지를 선택한 후 공유 설정을 진행 합니다.
Actions - Modify Image Permissions 을 선택합니다




Permission 설정을 위한 창이 나타납니다.

AWS Account Number 에 조금전 기록해 두었던 구독계정 계정 ID 를 입력하고

Add Permission 버튼을 선택합니다.




정상적으로 ID 가 입력되면 상단에 입력한 ID 값이 나타납니다.

Save 버튼을 선택하여 이미지 이미지 공유 설정을 완료 합니다.




만약 구독계정 AWS Account Number 가 잘못 입력되면 아래와 같은 에러가 출력 됩니다.

* Account Number 를 복사 - 붙여넣기 했다면 앞/뒤에 공백이 입력되지 않았는지 확인합니다. 

공백이 입력된 경우에도 아래와 같이 에러가 발생합니다.



그럼 마지막으로 이미지 공유가 잘 이루어 졌는지 구독계정 으로 로그인하여 AMI 이미지를 확인해 봅니다.

구독계정 로그인 - EC2 - IMAGES - AMIs 를 선택합니다.
아무런 이미지도 목록에 표시되지 않습니다.

응 ???



공유된 이미지는 Pricate Images 항목에만 표출됩니다.

Owned by Me 를 클릭하여 Private Images 를 선택합니다.





공유된 이미지가 구독계정에서 활성화 되어 있는것을 확인 하실수 있습니다.
아래 Owner 항목에서 이미지 공유계정 정보를 확인할 수있습니다.



이제 이전 환경에서 운영하던 EC2 인스턴스를 새로운 AWS 계정에서 동일하게 운영할 수 있습니다.

동일한 방법을 EBS Snapshot 과 RDS SnapShot 이미지도 공유가 가능합니다.