기본 암호화가 적용된 Amazon EBS 볼륨을 사용하는 AWS Cloud9 IDE를 생성 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기본 암호화가 적용된 Amazon EBS 볼륨을 사용하는 AWS Cloud9 IDE를 생성

자나르단 말리알라 (AWS) 와 드루바죠티 무케르지 (AWS) 가 제작했습니다.

환경: 프로덕션

기술: 운영

워크로드: 기타 모든 워크로드

AWS 서비스: AWS Cloud9, AWS KMS

요약

암호화를 기본으로 사용하여 Amazon Web Services(AWS) 클라우드에서 Amazon Elastic Block Store(Amazon EBS) 볼륨과 스냅샷 복사본을 암호화할 수 있습니다. 

기본적으로 암호화된 EBS 볼륨을 사용하는 AWS Cloud9 통합 개발 환경(IDE)을 생성할 수 있습니다. 하지만 AWS Identity and Access Management(IAM) 서비스 연결 역할을 AWS Cloud9에 사용하려면 이러한 EBS 볼륨의 AWS Key Management Service(AWS KMS) 키에 대한 액세스 권한이 필요합니다. 이 액세스 권한이 제공되지 않으면 AWS Cloud9 IDE가 시작되지 않고 디버깅이 어려울 수 있습니다. 

이 패턴은 EBS 볼륨에서 사용되는 AWS KMS 키에 AWS Cloud9의 서비스 연결 역할을 추가하는 단계를 제공합니다. 이 패턴이 설명하는 설정은 기본적으로 암호화가 적용된 EBS 볼륨을 사용하는 IDE를 성공적으로 생성하고 시작하는 데 도움이 됩니다.

사전 조건 및 제한 사항

사전 조건

  • 활성 상태의 AWS 계정.

  • 기본 암호화가 켜져 있는 EBS 볼륨. 기본 암호화에 대한 자세한 내용은 Amazon Elastic Compute Cloud(Amazon EC2) 설명서의 Amazon EBS 암호화를 참조하세요.

  • EBS 볼륨을 암호화하기 위한 기존 고객 관리형 KMS 키.

참고: AWS Cloud9의 서비스 연결 역할을 생성할 필요가 없습니다. AWS Cloud9 개발 환경을 생성할 때 이 서비스 연결 역할을 자동으로 생성합니다.

아키텍처

기술 스택

  • AWS Cloud9

  • IAM

  • AWS KMS

도구

  • AWS Cloud9는 소프트웨어를 코딩, 구축, 실행, 테스트 및 디버깅할 수 있게 해주는 통합 개발 환경(IDE)입니다. 또한, 소프트웨어를 AWS 클라우드로 릴리스하는 데도 도움이 됩니다.

  • Amazon Elastic Block Store(Amazon EBS)는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 사용할 수 있는 블록 스토리지 볼륨을 제공합니다.

  • AWS Identity and Access Management(IAM)를 사용하면 사용자에 대해 인증 및 권한 부여를 제어함으로써 AWS 리소스에 대한 액세스를 안전하게 관리할 수 있습니다.

  • AWS Key Management Service(AWS KMS)를 사용하면 암호화 키를 생성하고 제어하여 데이터를 보호할 수 있습니다.

에픽

작업설명필요한 기술

EBS 볼륨의 기본 암호화 키 값을 기록합니다.

AWS Management Console에 로그인한 후 Amazon EC2 콘솔을 엽니다. EC2 대시보드를 선택한 다음 계정 속성에서 데이터 보호 및 보안을 선택합니다. EBS 암호화 섹션에서 기본 암호화 키의 값을 복사하여 기록합니다.

클라우드 아키텍트, 엔지니어 DevOps
작업설명필요한 기술

AWS Cloud9에 EBS 볼륨용 KMS 키에 대한 액세스 권한을 제공하세요.

  1. AWS KMS 콘솔을 열고 고객 관리형 키를 선택합니다. Amazon EBS 암호화에 사용되는 AWS KMS 키를 선택한 다음 키 보기를 선택합니다.

  2. 키 정책 탭에서 키 정책의 텍스트 양식을 볼 수 있는지 확인합니다. 텍스트 양식이 보이지 않으면 정책 보기로 전환을 선택합니다.

  3. 편집을 선택합니다. 추가 정보 섹션의 코드를 정책에 추가한 다음 변경 내용 저장을 선택합니다. 정책 변경으로 AWS Cloud9, AWSServiceRoleForAWSCloud9의 서비스 연결 역할이 키에 액세스할 수 있게 되었습니다.

키 정책 업데이트에 대한 자세한 내용은 키 정책 변경 방법(AWS KMS 설명서)을 참조하세요.

중요: AWS Cloud9의 서비스 연결 역할은 첫 IDE를 시작할 때 자동으로 생성됩니다. 자세한 내용은 AWS Cloud9 설명서의 서비스 연결 역할 생성 섹션을 참조하세요. 

클라우드 아키텍트, DevOps 엔지니어
작업설명필요한 기술

AWS Cloud9 IDE를 생성하고 실행합니다.

AWS Cloud9 콘솔을 열고 환경 생성을 선택합니다. AWS Cloud9 설명서의 EC2 환경 생성 단계에 따라 필요한 IDE를 구성합니다. 

클라우드 아키텍트, DevOps 엔지니어

관련 리소스

추가 정보

AWS KMS 키 정책 업데이트

<aws_accountid>를 AWS 계정 ID로 바꿉니다.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<aws_accountid>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<aws_accountid>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }

크로스 어카운트 키 사용

교차 계정 KMS 키를 사용하려면 KMS 키 정책과 함께 권한 부여를 사용해야 합니다. 이렇게 하면 키에 대한 교차 계정 액세스가 가능해집니다. Cloud9 환경을 만들 때 사용한 것과 동일한 계정에서 터미널에서 다음 명령을 실행합니다.

aws kms create-grant \ --region <Region where Cloud9 environment is created> \ --key-id <The cross-account KMS key ARN> \ --grantee-principal arn:aws:iam::<The account where Cloud9 environment is created>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9 \ --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"

이 명령을 실행한 후 다른 계정의 키로 EBS 암호화를 사용하여 Cloud9 환경을 만들 수 있습니다.