다른 AWS 계정에 리소스 공유하는 법

2023.04.30

안녕하세요, 임채정입니다.
이번 블로그에서는 AWS RAM 서비스를 사용해서 다른 AWS 계정에 리소스를 공유해서 사용하는 방법에 대해 공유하겠습니다.
요즘에는 여러 개의 계정을 사용하는 경우도 많은데 이럴때

아젠다

  1. AWS Resource Access Manager(AWS RAM)란?
  2. 리소스 공유해보기
  3. 마무리

1. AWS Resource Access Manager(AWS RAM)란?

한 계정에서 만든AWS 리소스를 동일한 계정의 모든 역할 및 사용자 또는 다른 계정과 안전하게 공유할 수 있습니다.
리소스가 여러 개AWS 계정 있는 경우 리소스를 한 번 생성하여 다른 계정에서 해당 리소스를 사용할 수 있도록 할 수 있습니다.

AWS Organizations 계정에서는 특정 계정 ID로도 공유할 수도 있습니다.

특징

  • 운영 오버헤드 감소 — 리소스를 한 번 생성해서 해당 리소스를 다른 계정과 공유하여 사용

    • 모든 계정에서 하나의 리소스를 사용하기 때문에 운영 오버헤드가 줄어듬
  • 보안 및 일관성 제공 — 단일 정책 및 권한 집합을 사용하여 공유 리소스의 보안 관리를 간소화

    • 모든 개별 계정에 중복된 리소스를 만드는 대신 동일한 정책과 권한을 구현한 다음 모든 계정에서 동일하게 유지
    • 리소스 공유의 모든 사용자는 단일 정책 및 권한 집합으로 관리
    • 다양한 AWS 리소스 공유 가능
  • 가시성 및 감사 기능 제공 — Amazon CloudWatch 를 통해 공유 리소스의 사용 세부 정보를 볼 수 있음

    • 공유 리소스 및 계정에 대한 포괄적인 가시성을 제공

2. 리소스 공유해보기

이번에는 실제로 공유해보겠습니다.

제가 이번에 공유할 리소스는 관리형 접두사 목록(Prefix list)입니다.
저번에 작성해둔 리소스가 있기때문에 그걸 다른 계정과 공유해보겠습니다.

관리형 접두사 목록(Prefix list) 생성 방법에 대해 궁금하시면 다음 블로그를 참고해주세요

2-1. 공유 전 상황 확인하기

A 계정

먼저 A 계정을 살펴보면 「Prefix-list-sg-test」라는 접두사 목록이 있는 걸 확인할 수 있습니다.
이 블로그에서는 이 리소스를 공유할 것입니다.

B 계정

그럼 이번에는 B 계정을 확인해보겠습니다.
A 계정과는 다르게 「Prefix-list-sg-test」라는 접두사 목록을 작성하지 않았기 때문에 목록에 존재하지 않습니다.

여기까지 확인했으면 이제 공유를 해보겠습니다.

2-2. 공유하기

A 계정에서 공유하기

Resource Access Manager 페이지에 들어갑니다.
[리소스 공유 생성]을 클릭합니다.

이름은 임의로 입력하면 됩니다.
리소스 유형을 [접두사 목록]으로 선택해서 「Prefix-list-sg-test」 를 선택해 줍니다.
그러면 다음과 같이 선택 리소스에 내가 선택한 접두사 목록이 들어갑니다.

권한은 설정 없이 넘어가겠습니다.

그리고 다음으로 공유해줄 주체를 선택해줍니다.
이번에는 AWS의 다른 계정(B 계정)에 공유를 할 것이기 때문에 [AWS 계정]을 선택합니다.
그리고 B 계정 ID를 입력해주고 [추가]를 클릭합니다.

그러면 사진과 같이 선택한 보안 주체가 추가됩니다.

마지막으로 [리소스 공유 생성]을 클릭해주면 됩니다.
하지만 이것만으로는 B 계정에서는 아직 리소스를 사용할 수 없습니다.
생성된 리소스 공유의 [공유한 프린시펄]를 보면 B 계정의 상태가 「Associating」 되어 있기 때문입니다.

B 계정의 접두사 목록에도 실제로 아직 「Prefix-list-sg-test」 가 없는 것을 확인 할 수 있습니다.

B 계정에서 공유한 리소스를 사용하기 위해서는 그 공유를 수락할 필요가 있기 때문입니다.
그렇기 때문에 다음으로는 B 계정에서 공유 수락을 하겠습니다.

B 계정에서 공유 수락하기

먼저 B 계정에서 Resource Access Manager 페이지에 들어갑니다.
[나와 공유] > [리소스 공유] 탭에 들어가면 리소스 공유된 목록하다가 「Pending」 상태로 되어 있습니다.

해당 리소스에 들어가서 [리소스 공유 수락]를 클릭합니다.

[확인]을 클릭합니다.

[나와 공유] > [공유 리소스] 탭으로 공유가 이동되고 수낙된 것을 확인할 수 있습니다.

2-3. 공유한 후 확인하기

B 계정 확인하기

실제로 공유되었는지도 확인하겠습니다.
B 계정의 접두사 목록을 확인하면 사진과 같이 성공적으로 공유가 되었습니다.

테스트를 위해 아무 라이팅 테이블에 들어가서 대상으로 지정이 되는지도 확인해보겠습니다.
다음과 같이 대상이 선택할 수 있도록 잘 나와있습니다.

A 계정 확인하기

마지막으로 A 계정에서 아까 「Associating」가 변경되었는지도 확인하겠습니다.
아까와는 달리 「Associated」 로 변경되었습니다.

여기까지가 AWS Resource Access Manager를 사용한 리소스 공유 방법이었습니다.