

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

# 기본 암호화가 적용된 Amazon EBS 볼륨을 사용하는 AWS Cloud9 IDE를 생성
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption"></a>

*Janardhan Malyala, Dhrubajyoti Mukherjee, Amazon Web Services*

## 요약
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-summary"></a>

**알림**: AWS Cloud9 신규 고객은 더 이상를 사용할 수 없습니다. 의 기존 고객은 평소와 같이 서비스를 계속 사용할 AWS Cloud9 수 있습니다. [자세히 알아보기](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

[암호화를 기본으로](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) 사용하여 Amazon Web Services(AWS) 클라우드에서 Amazon Elastic Block Store(Amazon EBS) 볼륨과 스냅샷 복사본을 암호화할 수 있습니다. 

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

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

## 사전 조건 및 제한 사항
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-prereqs"></a>

**사전 조건 **
+ 활성 상태의 AWS 계정.
+ 기본 암호화가 켜져 있는 EBS 볼륨. 기본 암호화에 대한 자세한 내용은 Amazon Elastic Compute Cloud(Amazon EC2) 설명서의 [Amazon EBS 암호화](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)를 참조하세요.
+ EBS 볼륨을 암호화하기 위한 기존 [고객 관리형 KMS 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

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

## 아키텍처
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-architecture"></a>

![AWS Cloud9 IDE를 사용하여 EBS 볼륨 및 스냅샷 암호화 적용.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/dd98fbb4-0949-4299-b701-bc857e13049c/images/6b22b8d1-75d9-4f06-b5d6-5fff7397f22d.png)


**기술 스택**
+ AWS Cloud9
+ IAM
+ KMS

## 도구
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-tools"></a>
+ [AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html)는 소프트웨어를 코딩, 구축, 실행, 테스트 및 디버깅할 수 있게 해주는 통합 개발 환경(IDE)입니다. 또한, 소프트웨어를 AWS 클라우드로 릴리스하는 데도 도움이 됩니다.
+ [Amazon Elastic Block Store(Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 사용할 수 있는 블록 스토리지 볼륨을 제공합니다.
+ [AWS Identity and Access Management(IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)를 사용하면 사용자에 대해 인증 및 권한 부여를 제어함으로써 AWS 리소스에 대한 액세스를 안전하게 관리할 수 있습니다.
+ [AWS Key Management Service(AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)를 사용하면 암호화 키를 생성하고 제어하여 데이터를 보호할 수 있습니다.

## 에픽
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-epics"></a>

### 기본 암호화 키값 찾기
<a name="find-the-default-encryption-key-value"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| EBS 볼륨의 기본 암호화 키 값을 기록합니다. | AWS Management Console에 로그인한 후 Amazon EC2 콘솔을 엽니다. **EC2 대시보드**를 선택한 다음 **계정 속성**에서 **데이터 보호 및 보안**을 선택합니다. **EBS 암호화 **섹션에서 **기본 암호화 키**의 값을 복사하고 기록합니다. | 클라우드 아키텍트, DevOps 엔지니어 | 

### AWS KMS 키에 대한 액세스 제공
<a name="provide-access-to-the-aws-kms-key"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| AWS Cloud9에 EBS 볼륨용 KMS 키에 대한 액세스 권한을 제공하세요. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption.html)키 정책 업데이트에 대한 자세한 내용은 [키 정책 변경 방법](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to)(AWS KMS 설명서)을 참조하세요.AWS Cloud9의 서비스 연결 역할은 첫 IDE를 시작할 때 자동으로 생성됩니다. 자세한 내용은 AWS Cloud9 설명서의 [서비스 연결 역할 생성](https://docs.aws.amazon.com/cloud9/latest/user-guide/using-service-linked-roles.html#create-service-linked-role) 섹션을 참조하세요.  | 클라우드 아키텍트, DevOps 엔지니어 | 

### IDE 생성 및 시작
<a name="create-and-launch-the-ide"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| AWS Cloud9 IDE를 생성하고 실행합니다. | AWS Cloud9 콘솔을 열고 **환경 생성**을 선택합니다.** **AWS Cloud9 설명서의 [EC2 환경 생성](https://docs.aws.amazon.com/cloud9/latest/user-guide/create-environment-main.html) 단계에 따라 필요한 IDE를 구성합니다.  | 클라우드 아키텍트, DevOps 엔지니어 | 

## 관련 리소스
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-resources"></a>
+ [AWS Cloud9에서 사용하는 EBS 볼륨 암호화](https://docs.aws.amazon.com/cloud9/latest/user-guide/move-environment.html#encrypting-volumes)
+ [AWS Cloud9에 대한 서비스 연결 역할 생성](https://docs.aws.amazon.com/cloud9/latest/user-guide/using-service-linked-roles.html#create-service-linked-role)
+ [AWS Cloud9에서 EC2 환경 생성](https://docs.aws.amazon.com/cloud9/latest/user-guide/create-environment-main.html)

## 추가 정보
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-additional"></a>

**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 키를 사용하려면 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 환경을 생성할 수 있습니다.