베하 ~~~~~~~~
오늘 저는 닭가슴살을 먹었는데 백숙 맛이 나는겁니다!
그래서 오늘 저녁은 치킨입니당
서 지 타 산 입니다 ~~~!
이번 시간에는 RDS 를 사용한 수동 DB 스냅샷 공유를 알아볼텐데요,
그 중에도 암호화된 스냅샷 공유에 더 초점을 두고 진행해볼게요!
팔로팔로팔로미 ~~~~~~~
RDS를 사용한 수동 DB 스냅샷 공유
Amazon RDS를 사용하여 수동 DB 스냅샷을 공유할 수 있습니다.
수동 DB 스냅샷을 공유하면 권한이 있는 AWS 계정에서 해당 스냅샷을 복사할 수 있습니다.
암호화되지 않은 수동 DB 스냅샷을 공유하면 권한이 있는 AWS 계정에서 스냅샷의 복사본을 만든 후 복원하는 대신에 해당 스냅샷에서 DB 인스턴스를 직접 복원할 수 있습니다.
그러나 공유되고 동시에 암호화된 DB 스냅샷에서는 DB 인스턴스를 복원할 수 없습니다.
대신 DB 스냅샷의 사본을 만들어 거기에서 DB 인스턴스를 복원할 수 있습니다.
참고) 자동 DB 스냅샷을 공유하려면 자동 스냅샷을 복사하여 수동 DB 스냅샷을 생성한 다음 해당 복사본을 공유합니다. 이 프로세스는 AWS Backup에서 생성된 리소스에도 적용됩니다.
1. 퍼블릭 스냅샷 공유
다른 AWS 계정이 소유한 퍼블릭 스냅샷 보기
Amazon RDS 콘솔의 [스냅샷(Snapshots)] 페이지에 있는 [퍼블릭(Public)] 탭에서 특정 AWS 리전의 다른 계정이 소유한 퍼블릭 스냅샷을 볼 수 있습니다. (사용 중인 계정이 소유한 스냅샷은 이 탭에 표시되지 않습니다.)
본인이 소유한 퍼블릭 스냅샷 보기
다음 AWS CLI 명령(Unix에만 해당)을 사용하여 특정 AWS 리전의 AWS 계정이 소유한 퍼블릭 스냅샷을 볼 수 있습니다.
aws rds describe-db-snapshots --snapshot-type public --include-public | grep account_number
퍼블릭 스냅샷이 있는 경우 반환되는 출력은 다음 예제와 유사합니다.
"DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mysnapshot1", "DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mysnapshot2",
2. 암호화된 스냅샷 공유
2-1. 스냅샷을 암호화하는 데 사용한 AWS KMS key을(를) 해당 스냅샷에 액세스할 수 있도록 하려는 계정과 공유합니다.
KMS 키 정책에 다른 계정을 추가하여 KMS 키를 다른 AWS 계정과 공유할 수 있습니다.
키 정책 생성의 예는 이번 주제 후반부의 AWS KMS key에 대한 액세스 허용 단원을 참조.
2-2. AWS Management Console, AWS CLI 또는 Amazon RDS API를 사용하여 암호화된 스냅샷을 다른 계정과 공유합니다.
이러한 제한은 암호화된 스냅샷 공유에 적용됩니다.
- 암호화된 스냅샷을 퍼블릭으로는 공유할 수 없습니다.
- TDE(Transparent Data Encryption)를 사용하여 암호화된 Oracle 또는 Microsoft SQL Server 스냅샷은 공유할 수 없습니다.
- 스냅샷을 공유한 AWS 계정의 기본 KMS 키를 사용하여 암호화된 스냅샷은 공유할 수 없습니다.
3. AWS KMS key에 대한 액세스 허용
다른 AWS 계정이 사용자 계정에서 공유된 암호화된 DB 스냅샷을 복사하려면 스냅샷을 공유하는 계정에 스냅샷을 암호화한 AWS KMS key에 대한 액세스 권한이 있어야 합니다.
다른 AWS 계정 액세스를 KMS 키에 허용하려면 KMS 키의 키 정책을 업데이트합니다. KMS 키 정책에서 Principal(으)로 공유하고 있는 AWS 계정의 Amazon 리소스 이름(ARN)을 사용하여 업데이트합니다. 그런 다음 kms:CreateGrant 작업을 허용합니다.
4. 암호화된 스냅샷을 복사할 수 있도록 IAM 정책 생성
외부 AWS 계정에 사용자의 KMS 키에 대한 액세스 권한을 부여한 후에는 해당 AWS 계정의 소유자가 이 계정에 대해 생성된 IAM 사용자가 해당 KMS 키를 사용하여 암호화된 스냅샷을 복사할 수 있게 하는 정책을 만들 수 있습니다.
5. 스냅샷 공유
▶ Console
Amazon RDS 콘솔을 사용하여 수동 DB 스냅샷 공유
1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.
2. 탐색 창에서 [Snapshots]를 선택합니다.
3. 공유할 수동 스냅샷을 선택합니다.
4. Actions(작업)에서 Share snapshot(스냅샷 공유)을 선택합니다.
5. DB 스냅샷 공개 여부에 대해 다음 옵션 중 하나를 선택합니다.
소스가 암호화되어 있지 않은 경우 퍼블릭(Public)을 선택하여 모든 AWS 계정이 수동 DB 스냅샷에서 DB 인스턴스를 복원하도록 허용하거나,
프라이빗(Private)을 선택하여 지정한 AWS 계정만 수동 DB 스냅샷에서 DB 인스턴스를 복원하도록 허용합니다.
6. AWS Account ID(AWS 계정 ID)에 수동 스냅샷에서 DB 인스턴스를 복원하도록 허용할 계정의 AWS 계정 식별자를 입력한 다음 추가(Add)를 선택합니다.
허용된 계정 목록에 AWS 계정 식별자를 추가하다가 실수하는 경우, 잘못된 AWS 계정 식별자의 오른쪽에 있는 [삭제(Delete)]를 선택하여 목록에서 해당 식별자를 삭제할 수 있습니다.
7. AWS 계정이 수동 DB 스냅샷을 복원할 수 있도록 허용
수동 스냅샷을 복원할 수 있도록 허용할 모든 AWS 계정의 식별자를 추가한 후 [저장(Save)]을 선택하여 변경 내용을 저장합니다.
주의) DB 스냅샷 가시성(DB snapshot visibility)을 퍼블릭(Public)으로 설정한 경우 모든 AWS 계정은 수동 DB 스냅샷에서 DB 인스턴스를 복원하고 사용자 데이터에 액세스할 수 있습니다. 프라이빗 정보가 포함된 수동 DB 스냅샷을 퍼블릭(Public)으로 공유하지 마세요.
** 스냅샷 복사 및 공유
1. Amazon RDS 콘솔을 연 다음 탐색 창에서 스냅샷을 선택합니다.
2. 생성한 스냅샷의 이름을 선택하고 작업을 선택한 다음 스냅샷 복사를 선택합니다.
3. KMS 키가 있는 동일한 AWS 리전을 선택한 다음 새 DB 스냅샷 식별자를 입력합니다.
4. 암호화 섹션에서 생성한 KMS 키를 선택합니다.
5. 스냅샷 복사를 선택합니다.
6. 복사한 스냅샷을 대상 계정과 공유합니다.
** 공유된 DB 스냅샷 복사
1. 대상 계정에 로그인한 다음 Amazon RDS 콘솔을 엽니다.
2. 탐색 창에서 스냅샷을 선택합니다.
3. 스냅샷 창에서 나와 공유 탭을 선택합니다.
4. 공유한 DB 스냅샷을 선택합니다.
5. 작업을 선택 후 스냅샷 복사를 선택하여 대상 계정의 KMS 키를 사용하여 동일한 AWS 리전으로 스냅샷을 복사합니다.
→ DB 스냅샷을 복사한 후 복사본을 사용하여 인스턴스를 시작할 수 있습니다.
자 오늘은 여기까지 RDS 수동 snapshot을 공유하는 방법에 대하여 알아보았어요.
AWS 계정 간 Migration 작업에 있어 DB를 옮기는 방법 중 하나가 될 수 있겠죠?
알아두면 유용하게 사용될 거예요 ~!
다음주에도 유용한 정보로 돌아올게요
그럼 다음주도 함께해요
제에에에에에바아아아알 ~~~~~~~
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
[AWS] ALB에 EIP를 부여하는 방법 (0) | 2023.08.18 |
---|---|
AWS IAM과 리소스 기반 정책의 비교 (0) | 2023.08.18 |
AWS SigV4와 JWT (0) | 2023.08.18 |
[AWS] AWS CodeArtifact (0) | 2023.08.18 |
[AWS] Amazon Linux AMI 시리즈 (0) | 2023.08.18 |
댓글