

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# デフォルトの暗号化で Amazon EBS ボリュームを使用する AWS Cloud9 IDE を作成
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption"></a>

*Amazon Web Services、Janardhan Malyala および Dhrubajyoti Mukherjee*

## 概要
<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 Elastic Block Store (Amazon EBS) ボリュームとAmazon Web Services (AWS) クラウド上のスナップショットコピーを強制的に暗号化できます。 

デフォルトで暗号化された EBS ボリュームを使用する AWS Cloud9 統合開発環境 (IDE) を作成できます。ただし、AWS Cloud9 の AWS Identity and Access Management (IAM)「[サービスにリンクされたロールには](https://docs.aws.amazon.com/cloud9/latest/user-guide/using-service-linked-roles.html)」、これらの 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 開発環境を作成すると、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/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/dd98fbb4-0949-4299-b701-bc857e13049c/images/6b22b8d1-75d9-4f06-b5d6-5fff7397f22d.png)


**テクノロジースタック**
+ AWS Cloud9
+ IAM
+ AWS 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 マネジメントコンソールにサインインし、Amazon SNS コンソールを開きます。**[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/ja_jp/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 キーポリシーと組み合わせて権限を使用する必要があります。これにより、キーへのクロスアカウントアクセスが可能になります。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 環境を作成できます。