

 AWS Cloud9 は新規顧客には利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# での環境の使用 AWS Cloud9
<a name="environments"></a>

*開発環境*は、プロジェクトのファイル AWS Cloud9 を保存し、アプリケーションを開発するためのツールを実行する の場所です。

AWS Cloud9 には、EC2 環境と *SSH* 環境の *EC2 * 種類の開発環境が用意されています。これらの開発環境のキーとなる類似点と相違点を理解するには、[の SSH 環境と比較した EC2 環境 AWS Cloud9](ec2-env-versus-ssh-env.md) を参照してください。

これらのトピックを 1 つ以上読んで AWS Cloud9 、 で 環境を操作する方法について説明します。

**Topics**
+ [環境を作成する](create-environment.md)
+ [Systems Manager を使って no-ingress EC2 インスタンスをアクセスする](ec2-ssm.md)
+ [環境を開く](open-environment.md)
+ [環境 AWS のサービス からの呼び出し](credentials.md)
+ [環境設定の変更](change-environment.md)
+ [共有環境を使用する](share-environment.md)
+ [環境の移動：Amazon EBS ボリューム](move-environment.md)
+ [環境を削除する](delete-environment.md)

# での環境の作成 AWS Cloud9
<a name="create-environment"></a>

 AWS Cloud9 開発環境を作成するには、使用する計画に基づいて、提供されている手順のいずれかに従います AWS Cloud9。


****  

|  | 
| --- |
|  何を選べばよいか明確でない場合、[EC2 環境を作成する](create-environment-main.md) をお勧めします。 簡単なセットアップのために、EC2 環境を作成します。 は、 に新しい Amazon EC2 インスタンス AWS Cloud9 を自動的に作成してセットアップします AWS アカウント。 AWS Cloud9 また、 はその新しいインスタンスを環境に自動的に接続します。 開発環境間の主な類似点と相違点については、「[の SSH 環境と比較した EC2 環境 AWS Cloud9](ec2-env-versus-ssh-env.md)」を参照してください。  | 


****  

|  **ソースコードの提供元**  |  **開発環境ホストの提供元**  |  **関連する手順**  | 
| --- | --- | --- | 
|  お客様  |  AWS Cloud9  |  [EC2 環境の作成](create-environment-main.md)  | 
|  お客様  |  お客様  |  [SSH 環境の作成](create-environment-ssh.md)  | 
|   [Amazon Lightsail](https://aws.amazon.com/lightsail) またはお客様  |  お客様 (Lightsail を使用)  |   [IDE AWS Cloud9 でのAmazon Lightsailインスタンスの操作](lightsail-instances.md)   | 
|  お客様 ([AWS CodePipeline](https://aws.amazon.com/codepipeline) を使用)  |  AWS Cloud9 または  |  [EC2](create-environment-main.md) または [SSH](create-environment-ssh.md) 環境、および[IDE AWS CodePipeline での AWS Cloud9 の使用](codepipeline-repos.md) を作成する   | 
|  お客様 ([AWS CodeCommit](https://aws.amazon.com/codecommit) を使用)  |  AWS Cloud9 または  |   [AWS CodeCommit の チュートリアル AWS Cloud9](sample-codecommit.md)   | 
|  お客様 ([GitHub](https://github.com/) を使用)  |  AWS Cloud9 または  |  [EC2](create-environment-main.md) または [SSH](create-environment-ssh.md) 環境を作成し、[Git パネルインターフェイス](source-control-gitpanel.md)を使用する   | 

**Topics**
+ [EC2 環境を作成する](create-environment-main.md)
+ [SSH 環境を作成する](create-environment-ssh.md)

# EC2 環境を作成する
<a name="create-environment-main"></a>

この手順では、 は EC2 環境と新しい Amazon EC2 インスタンス AWS Cloud9 を作成し、環境をこのインスタンスに接続します。 は、必要に応じてインスタンスの起動、停止、再起動など、このインスタンスのライフサイクル AWS Cloud9 を管理します。この 環境を削除した場合、 AWS Cloud9 によってこのインスタンスが自動的に終了されます。

EC AWS Cloud9 EC2 開発環境は、 [AWS Cloud9 コンソール](#create-environment-console)または[コード](#create-environment-code)を使用して作成できます。

**注記**  
この手順を完了すると、 に料金が発生する可能性があります AWS アカウント。これには、Amazon EC2 の使用に伴う料金も含まれる場合があります。詳細については、[Amazon EC2 の料金表](https://aws.amazon.com/ec2/pricing/)を参照してください。

**警告**  
 AWS Cloud9 および AWS Control Tower プロアクティブコントロール [CT.EC2.PR://www.8 ](https://docs.aws.amazon.com/controltower/latest/userguide/ec2-rules.html#ct-ec2-pr-8-description)との互換性の問題があります。このコントロールが有効な場合、 AWS Cloud9で EC2 環境を作成することはできません。この問題の詳細については、[「トラブルシューティング AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/troubleshooting.html#control-tower-rule)」を参照してください。

## 前提条件
<a name="create-env-ec2-prereq"></a>

 AWS Cloud9 コンソールにサインインして環境を作成[セットアップ AWS Cloud9](setting-up.md)できるように、「」のステップを完了します。

## EC2 環境をコンソールで作成します。
<a name="create-environment-console"></a>

1.  AWS Cloud9 コンソールにサインインします。
   + ご自身が AWS アカウントを使用する唯一のユーザーである場合、または単一の AWS アカウントの IAM ユーザーである場合は、[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/) に移動します。
   + 組織で を使用している場合は AWS IAM アイデンティティセンター、 AWS アカウント 管理者にサインイン手順を依頼してください。
   + 教室内の学生である場合は、インストラクターにサインインの手順をお問い合わせください。

1.  AWS Cloud9 コンソールにサインインしたら、上部のナビゲーションバーで AWS リージョン を選択して環境を作成します。使用可能な のリストについては AWS リージョン、 [AWS Cloud9](https://docs.aws.amazon.com/general/latest/gr/rande.html#cloud9_region) の「」を参照してください*AWS 全般のリファレンス*。  
![\[AWS AWS Cloud9 コンソールのリージョンセレクター\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. 表示されている場所の１つで、大きな［**環境を作成する**］ボタンを選択します。

   まだ AWS Cloud9 環境がない場合は、ウェルカムページにボタンが表示されます。  
![\[AWS Cloud9 コンソールのようこそページ\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/create_welcome_env_new_UX.png)

   環境がすでにある場合 AWS Cloud9 、ボタンは次のように表示されます。  
![\[AWS Cloud9 コンソールで環境ボタンを作成する\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/console_create_env_new_UX.png)

1. **[Create environment]** (環境の作成) ページで、**[Name]** (名前) に環境の名前を入力します。

1. 環境の説明を追加するには、**[Description]** (説明) フィールドに入力します。

1. **[Environment type]** (環境タイプ) で、**[New EC2 instance]** (新しい EC2 インスタンス) を選択して Amazon EC2 環境を作成します。
   + **[New EC2 instance]** (新しい EC2 インスタンス) — AWS Cloud9 から SSH 経由で直接接続できる新しい Amazon EC2 インスタンスを起動します。新しい Amazon EC2 インスタンスは、Systems Manager を使用して操作できます。詳細については、「[を使用した no-ingress EC2 インスタンスへのアクセス AWS Systems Manager](ec2-ssm.md)」を参照してください。
   + **[Existing compute]** (既存のコンピューティング) — SSH ログインの詳細を必要とする既存の Amazon EC2 インスタンスを起動します。Amazon EC2 インスタンスにはインバウンドセキュリティグループルールが必要です。
     + **[Existing compute]** (既存のコンピューティング) オプションを選択すると、サービスロールが自動的に作成されます。サービスロールの名前は、セットアップ画面の下部にある注記で確認できます。
**注記**  
自動シャットダウンは、既存のコンピューティングを使用して Amazon EC2 インスタンスを使用して作成された AWS Cloud9 環境では利用できません。
**警告**  
環境の Amazon EC2 インスタンスを作成すると、Amazon EC2 の  AWS アカウント  に対する課金が発生する場合があります。Systems Manager を使用して EC2 インスタンスへの接続を管理する場合、追加コストはかかりません。

1. **[Instance type]** (インスタンスタイプ)で、実行するタスクの種類に必要と思われる容量の RAM および vCPU を備えたインスタンスタイプを選択します。
**警告**  
より多くの RAM と vCPUsを持つインスタンスタイプを選択すると、Amazon EC2 AWS アカウント の に追加料金が発生する可能性があります。どのインスタンスタイプがワークロードに適しているかについては、「[Amazon EC2 インスタンスタイプ](https://aws.amazon.com/ec2/instance-types/)」ページを参照してください。

1. **プラットフォーム**で、必要な Amazon EC2 インスタンスのタイプを選択します。**Amazon Linux 2023**、**Amazon Linux 2**、または **Ubuntu 22.04 LTS**。 はインスタンス AWS Cloud9 を作成し、環境をそのインスタンスに接続します。
**重要**  
EC2 環境には、**[Amazon Linux 2023]** オプションを選択することをお勧めします。Amazon Linux 2023 AMI は、安全で安定した、高パフォーマンスのランタイム環境を提供します。さらに、2024 年までの長期サポートも含まれています。  
詳細については、[AL2023 のページ](https://aws.amazon.com/linux/amazon-linux-2023/)を参照してください。

1. **[Timeout]** (タイムアウト) の期間を選択します。このオプションは、自動休止状態になるまでの AWS Cloud9 の非アクティブ時間を決定します。環境の IDE に接続されているすべてのウェブブラウザインスタンスが閉じられると、 は指定された時間を AWS Cloud9 待ってから、環境の Amazon EC2 インスタンスをシャットダウンします。
**警告**  
期間を長くするほど、 AWS アカウントに対する課金が増える可能性があります。

1. **[Network settings]** (ネットワーク設定) パネルで、環境にアクセスする方法を、次の 2 つのオプションから選択します。
   + **AWS Systems Manager (SSM)** – このメソッドは、インバウンドポートを開かずに SSM を使用して環境にアクセスします。
   + **Secure Shell (SSH)** — この方法では、SSH を使用して環境にアクセスします。受信ポートを開く必要があります。

1. <a name="create-environment-vpc-step"></a>**VPC 設定**を選択すると、環境の Amazon Virtual Private Cloud とサブネットが表示されます。 は Amazon Virtual Private Cloud (Amazon VPC) AWS Cloud9 を使用して、新しく作成された Amazon EC2 インスタンスと通信します。このチュートリアルでは、事前に選択されたデフォルト設定を変更しないことをお勧めします。デフォルト設定では、 AWS Cloud9 は、新しい環境と同じ AWS アカウント およびリージョンに単一のサブネットを持つデフォルトの VPC を使用しようとします。Amazon VPC の設定方法に応じて、次のいずれかの指示セットを実行します。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/create-environment-main.html)
**重要**  
環境タイプとして **[Existing compute]** (既存のコンピューティング) を選択した場合は、インスタンスをパブリックサブネットまたはプライベートサブネット内で起動できます。  
**パブリックサブネット**: インターネットゲートウェイをサブネットにアタッチして、インスタンスの SSM エージェントが Systems Manager と通信できるようにします。
**プライベートサブネット**: NAT ゲートウェイを作成して、インスタンスがインターネットやその他の AWS のサービスと通信できるようにします。
現在、 [AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)を使用して、EC2 環境が IAM ユーザーなどの AWS エンティティ AWS のサービス に代わって にアクセスすることを許可することはできません。  
 サブネットの設定の詳細については、「[AWS Cloud9 開発環境の VPC 設定](vpc-settings.md)」を参照してください。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/create-environment-main.html)

   これらの選択肢の詳細については、「[AWS Cloud9 開発環境の VPC 設定](vpc-settings.md)」を参照してください。

1. 最大 50 個のタグを追加します。タグごとに**キー**と**値**を指定します。これを行うには、**[Add new tag]** (新しいタグを追加) を選択します。タグはリソースタグとして AWS Cloud9 環境にアタッチされ、 CloudFormation スタック、Amazon EC2 インスタンス、Amazon EC2 セキュリティグループという基盤となるリソースに伝達されます。タグの詳細については、*[「IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/)*」の[AWS 「リソースタグを使用したアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)」およびこのガイドの[「詳細情報](tags.md)」を参照してください。
**警告**  
これらのタグを作成後に更新した場合、変更は基になるリソースには反映されません。詳細については、[タグ](tags.md)に関する詳細情報の「[基礎となるリソースへのタグ更新の伝播](tags.md#tags-propagate)」を参照してください。

1. **[Create]** (作成) を選択して環境を作成すると、ホームページにリダイレクトされます。アカウントが正常に作成されると、 AWS Cloud9 コンソールの上部に緑色のフラッシュバーが表示されます。新しい環境を選択し、**[Open in Cloud9]** (Cloud9 で開く) を選択して IDE を起動できます。  
![\[AWS Cloud9 AWS Cloud9 コンソールの IDE セレクター\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/cloud9-ide-open.png)

   アカウントの作成に失敗すると、 AWS Cloud9 コンソールの上部に赤いフラッシュバーが表示されます。アカウントの作成に失敗する原因としては、ウェブブラウザ、 AWS アクセス許可、インスタンス、または関連するネットワークの問題が考えられます。可能な解決方法は、「[AWS Cloud9 のトラブルシューティング](troubleshooting.md#troubleshooting-env-loading)」セクションで参照できます。
**注記**  
AWS Cloud9 はIMDSv1 と IMDSv2 の両方をサポートしています。IMDSv1 よりもセキュリティレベルが強化されているため、IMDSv2 の導入をお勧めします。IMDSv2 の利点の詳細については、「[AWS セキュリティブログ](https://aws.amazon.com/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/)」を参照してください。IMDSv1 から IMDSv2 への移行の詳細については、「*Linux インスタンス用 Amazon EC2 ユーザーガイド*」の「[インスタンスメタデータサービスバージョン 2 の使用への移行](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.html)」を参照してください。
**注記**  
環境がプロキシを使用してインターネットにアクセスしている場合は、依存関係をインストール AWS Cloud9 できるように、プロキシの詳細を に提供する必要があります。詳細については、「[依存関係をインストールできませんでした](troubleshooting.md#proxy-failed-dependencies)」を参照してください。

## コードで環境を作成する
<a name="create-environment-code"></a>

コードを使用して で EC2 環境を作成するには AWS Cloud9、次のように EC2 環境の作成オペレーションを AWS Cloud9 呼び出します。


****  

|  |  | 
| --- |--- |
|  AWS CLI  |   [create-environment-ec2](https://docs.aws.amazon.com/cli/latest/reference/cloud9/create-environment-ec2.html)   | 
|  AWS SDK for C\$1\$1  |   [CreateEnvironmentEC2Request](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_create_environment_e_c2_request.html)、[CreateEnvironmentEC2Result](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_create_environment_e_c2_result.html)   | 
|  AWS SDK for Go  |   [CreateEnvironmentEC2](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.CreateEnvironmentEC2)、[CreateEnvironmentEC2Request](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.CreateEnvironmentEC2Request)、[CreateEnvironmentEC2WithContext](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.CreateEnvironmentEC2WithContext)   | 
|  AWS SDK for Java  |   CreateEnvironmentEC2Request、CreateEnvironmentEC2Result   | 
|  AWS SDK for JavaScript  |   [createEnvironmentEC2](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Cloud9.html#createEnvironmentEC2-property)   | 
|  AWS SDK for .NET  |   [CreateEnvironmentEC2Request](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TCreateEnvironmentEC2Request.html)、[CreateEnvironmentEC2Response](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TCreateEnvironmentEC2Response.html)   | 
|  AWS SDK for PHP  |   [createEnvironmentEC2](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-cloud9-2017-09-23.html#createenvironmentec2)   | 
|  AWS SDK for Python (Boto)  |   [create\$1environment\$1ec2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloud9.html#Cloud9.Client.create_environment_ec2)   | 
|  AWS SDK for Ruby  |   [create\$1environment\$1ec2](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Cloud9/Client.html#create_environment_ec2-instance_method)   | 
|  AWS Tools for Windows PowerShell  |   [New-C9EnvironmentEC2](https://docs.aws.amazon.com/powershell/latest/reference/items/New-C9EnvironmentEC2.html)   | 
|  AWS Cloud9 API  |   [CreateEnvironmentEC2](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_CreateEnvironmentEC2.html)   | 

**注記**  
環境がプロキシを使用してインターネットにアクセスしている場合は、依存関係をインストール AWS Cloud9 できるように、プロキシの詳細を に提供する必要があります。詳細については、「[依存関係をインストールできませんでした](troubleshooting.md#proxy-failed-dependencies)」を参照してください。

# SSH 環境を作成する
<a name="create-environment-ssh"></a>

 AWS Cloud9 コンソールを使用して SSH AWS Cloud9 開発環境を作成します。CLI を使用して SSH 環境を作成することはできません。

## 前提条件
<a name="prerequisites"></a>
+ まず、「[セットアップ AWS Cloud9](setting-up.md)」のステップを完了していることを確認します。これにより、 AWS Cloud9 コンソールにサインインして環境を作成できます。
+ 環境 AWS Cloud9 に接続する既存のクラウドコンピューティングインスタンス ( の Amazon EC2 インスタンスなど AWS アカウント) または独自のサーバーを特定します。
+ 既存のインスタンスまたは独自のサーバーが、すべての [SSH ホスト要件](ssh-settings.md#ssh-settings-requirements)を満たしていることを確認します。これには、特定のバージョンの Python、Node.js、およびその他のコンポーネントをインストールしていること、ログイン後に AWS Cloud9 をスタートしたいディレクトリに具体的なの許可を設定していること、関連した Amazon Virtual Private Cloud を設定していることなどが含まれます。

## SSH 環境を作成する
<a name="create-the-envsshtitle"></a>

1. 前述の前提条件を完了していることを確認してください。

1. SSH クライアントを使用して既存のインスタンスまたは独自のサーバーに接続します (まだ接続していない場合)。これにより、インスタンスまたはサーバーに必要な公開 SSH キー値を追加できます。詳細については、この手順で後ほど説明します。
**注記**  
既存の AWS クラウド コンピューティングインスタンスに接続するには、次のリソースの 1 つ以上を参照してください。  
Amazon EC2 については、「*Amazon EC2 ユーザーガイド」*の「[Linux インスタンスに接続](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)」を参照してください。
Amazon Lightsail については、*Amazon Lightsail ドキュメント*の「[Linux/UNIX ベースの Lightsail インスタンスへの接続](https://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-connect-to-your-instance-virtual-private-server)」を参照してください。
については AWS Elastic Beanstalk、「 *AWS Elastic Beanstalk デベロッパーガイド*[」の「サーバーインスタンスの一覧表示と接続](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.ec2connect.html)」を参照してください。
については AWS OpsWorks、「 *AWS OpsWorks ユーザーガイド*」の[「SSH を使用して Linux インスタンスにログインする](https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html)」を参照してください。
その他の方法については AWS のサービス、その特定のサービスのドキュメントを参照してください。
独自のサーバーに接続するには、SSH を使用します。SSH は macOS および Linux オペレーティングシステムに既にインストールされています。Windows で SSH を使用してサーバーに接続するには、[PuTTY](https://www.putty.org/) をインストールする必要があります。

1.  AWS Cloud9 コンソールにサインインするには、[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/)」を参照してください。

1.  AWS Cloud9 コンソールにサインインしたら、上部のナビゲーションバーで AWS リージョン を選択して環境を作成します。使用可能な のリストについては AWS リージョン、 [AWS Cloud9](https://docs.aws.amazon.com/general/latest/gr/rande.html#cloud9_region) の「」を参照してください*AWS 全般のリファレンス*。  
![\[AWS Cloud9 コンソールのリージョンセレクター\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. 今回、開発環境を初めて作成する場合は、ウェルカムページが表示されます。**新しい AWS Cloud9 環境**パネルで、**環境の作成**を選択します。

   以前に開発環境を作成したことがある場合は、画面の左側にあるペインを展開することもできます。**[Your environments]** (自分の環境)、**[Create environment]** (環境の作成) の順に選択します。

   **ウェルカム**ページの場合:  
![\[ウェルカムページが表示された場合は、［Create environment] (環境の作成) ボタンを選択します\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/create_welcome_env_new_UX.png)

   または、**[Your environments]** (自分の環境) ページの場合:  
![\[ウェルカムページが表示されない場合は、［Create environment] (環境の作成) ボタンを選択します\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/console_create_env_new_UX.png)

1. **[Create environment]** (環境の作成) ページで、環境の名前を入力します。

1. ［**Description (説明)**］に、環境に関する説明を入力します。このチュートリアルでは、`This environment is for the AWS Cloud9 tutorial.` を使用します。

1. **[Environment type]** (環境タイプ) で、以下のオプションから **[Existing Compute]** (既存のコンピューティング) を選択します。
   + **新しい EC2 インスタンス** – SSH または SSM 経由で に直接接続 AWS Cloud9 できる Amazon EC2 インスタンスを起動します。
   + ** 既存のコンピューティング ** – SSH ログインの詳細とポート 22 を開く必要がある既存の Amazon EC2 インスタンスを起動します。 を介してインスタンス AWS Cloud9 に接続します[AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)。
     + **[Existing compute]** (既存のコンピューティング) オプションを選択すると、サービスロールが自動的に作成されます。サービスロールの名前は、インターフェイスの下方にある **[Systems Manager アクセス用のサービスロールとインスタンスプロファイル]** セクションで確認できます。詳細については、「[を使用した no-ingress EC2 インスタンスへのアクセス AWS Systems Manager](ec2-ssm.md)」を参照してください。
**警告**  
環境に EC2 インスタンスを作成すると、Amazon EC2 AWS アカウント の に料金が発生する可能性があります。Systems Manager を使用して EC2 インスタンスへの接続を管理する場合、追加コストはかかりません。
**警告**  
AWS Cloud9 は SSH パブリックキーを使用してサーバーに安全に接続します。安全な接続を確立するには、以下の手順に従って公開キーを `~/.ssh/authorized_keys` ファイルに追加し、ログイン認証情報を入力します。**[Copy key to clipboard]** (キーをクリップボードにコピー) を選択して SSH キーをコピーするか、**[View public SSH key]** (SSH 公開キーを表示) を選択してキーを表示します。

1. **[Existing compute]** (既存のコンピューティング) パネルの **[User]** (ユーザー) に、この手順で先にインスタンスまたはサーバーに接続するときに使用したログイン名を入力します。例えば、 AWS クラウド コンピューティングインスタンスの場合は、`ec2-user`、`ubuntu`、または `root` を入力します。
**注記**  
ログイン名をインスタンスやサーバーの管理者アクセス許可または管理者ユーザーに関連付けることをお勧めします。より具体的には、このログイン名がインスタンスやサーバーの Node.js インストールの所有者であることが推奨されます。これをチェックするには、インスタンスやサーバーのターミナルから、** `ls -l $(which node)` ** (または `nvm` を使用している場合は ** `ls -l $(nvm which node)` **) コマンドを実行します。このコマンドは、Node.js インストールの所有者名を表示します。また、インストールのアクセス許可、グループ名、場所も表示されます。

1. **[Host]** (ホスト) に、インスタンスまたはサーバーのパブリック IP アドレス (優先) またはホスト名を入力します。

1. **ポート** には、インスタンスまたはサーバーへの接続を試みるために AWS Cloud9 使用するポートを入力します。または、デフォルトのポートをそのまま使用します。

1. **[Additional details - optional]** (その他の詳細 - オプション) を選択し、環境パス、node.js バイナリへのパス、SSH ジャンプホスト情報を表示します。

1. **環境パス**には、 AWS Cloud9 開始するインスタンスまたはサーバーのディレクトリへのパスを入力します。この手順の前提条件で、以前、これを確認しました。空白のままにすると、 AWS Cloud9 はログイン後に通常インスタンスまたはサーバーを起動するディレクトリを使用します。これは通常、ホームまたはデフォルトのディレクトリです。

1. **[Path to Node.js binary]** (Node.js バイナリへのパス) にパス情報を入力し、インスタンスまたはサーバーの Node.js バイナリへのパスを指定します。パスを取得するには、インスタンスまたはサーバーでコマンド **`which node`** (`nvm` を使用している場合は **`nvm which node`**) を実行できます。例えば、パスは `/usr/bin/node` のようになります。空白のままにした場合、 AWS Cloud9 は接続の試行時に Node.js バイナリの場所の推測を試みます。

1. **[SSH jump host]** (SSH ジャンプホスト) に、インスタンスまたはサーバーが使用するジャンプホストに関する情報を入力します。`USER_NAME@HOSTNAME:PORT_NUMBER` 形式を使用します (例: `ec2-user@ip-192-0-2-0:22`)。

   ジャンプホストは、以下の要件を満たしている必要があります。
   + SSH を使用してパブリックインターネット経由で到達可能とする必要があります。
   + 特定のポートを経由したすべての IP アドレスからのインバウンドアクセスを許可する必要があります。
   + 既存のインスタンスまたはサーバーの `~/.ssh/authorized_keys` ファイルにコピーしたパブリック SSH キー値を、ジャンプホストの `~/.ssh/authorized_keys` ファイルにもコピーする必要があります。
   + Netcat をインストールする必要があります。

1. 最大 50 個のタグを追加します。タグごとに**キー**と**値**を指定します。これを行うには、**[Add new tag]** (新しいタグを追加) を選択します。タグはリソースタグとして AWS Cloud9 環境にアタッチされ、 CloudFormation スタック、Amazon EC2 インスタンス、Amazon EC2 セキュリティグループという基盤となるリソースに伝達されます。タグの詳細については、*[「IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/)*」の[AWS 「リソースタグを使用したアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)」と、このガイドのタグに関する詳細[情報](tags.md)を参照してください。
**警告**  
これらのタグを作成後に更新した場合、変更は基になるリソースには反映されません。詳細については、[タグ](tags.md)に関する詳細情報の「[基礎となるリソースへのタグ更新の伝播](tags.md#tags-propagate)」を参照してください。

1. **[Create]** (作成) を選択して環境を作成すると、ホームページにリダイレクトされます。アカウントが正常に作成されると、 AWS Cloud9 コンソールの上部に緑色のフラッシュバーが表示されます。新しい環境を選択し、**[Open in Cloud9]** (Cloud9 で開く) を選択して IDE を起動できます。  
![\[AWS Cloud9 AWS Cloud9 コンソールの IDE セレクター\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/cloud9-ide-open.png)

   アカウントの作成に失敗すると、 AWS Cloud9 コンソールの上部に赤い点滅バーが表示されます。ウェブブラウザ、 AWS アクセス許可、インスタンス、または関連するネットワークに問題があるため、アカウントの作成に失敗することがあります。アカウントが失敗する原因と考えられる問題の可能な解決方法については、「[AWS Cloud9 のトラブルシューティング](troubleshooting.md#troubleshooting-env-loading)」セクションを参照してください。

**注記**  
環境がプロキシを使用してインターネットにアクセスしている場合は、依存関係をインストール AWS Cloud9 できるように、プロキシの詳細を に提供する必要があります。詳細については、「[依存関係をインストールできませんでした](troubleshooting.md#proxy-failed-dependencies)」を参照してください。

# を使用した no-ingress EC2 インスタンスへのアクセス AWS Systems Manager
<a name="ec2-ssm"></a>

EC2 環境用に作成された「no-ingress EC2 インスタンス」を使用すると AWS Cloud9 、そのインスタンスでインバウンドポートを開くことなく Amazon EC2 インスタンスに接続できます。コンソール、コマンドラインインターフェイス、または [CloudFormation スタック](#cfn-role-and-permissions)を使って EC2 環境を作成するときに、no-ingress オプションを選択できます。コンソールまたはコマンドラインインターフェイスを使用して環境を作成する方法の詳細については、「[ステップ 1: 環境を作成する](tutorials-basic.md#tutorial-create-environment)」を参照してください。

**重要**  
Systems Manager Session Manager 使って EC2 インスタンスへの接続を管理する場合、追加料金は発生しません。

 コンソールの **[Create environment]** (環境の作成) ページで環境タイプを選択するときに、インバウンド接続を必要とする新しい EC2 インスタンスを選択するか、次を必要としない新しい no-ingress EC2 インスタンスを選択できます。
+ **[新しい EC2 インスタンス](create-environment-main.md#create-environment-console)** — この設定の場合、インスタンスのセキュリティグループには、着信ネットワークトラフィックを許可するルールがあります。着信ネットワークトラフィックは[AWS Cloud9 接続のため承認された IP アドレス](ip-ranges.md)に制限されています。オープンインバウンドポートを使用すると AWS Cloud9 、 は SSH 経由でインスタンスに接続できます。 AWS Systems Manager Session Manager を使用する場合は、インバウンドポート (進入なし) を開くことなく、SSM を介して Amazon EC2 インスタンスにアクセスできます。この方法は、新しい Amazon EC2 インスタンスでのみ使用できます。詳細については、「[EC2 環境でSystems Manager を使用する利点](#ssm-benefits)」を参照してください。
+ **[既存のコンピューティング](create-environment-main.md#create-environment-console)** — この設定の場合、SSH ログインの詳細を必要とする既存の Amazon EC2 インスタンスにアクセスします。このインスタンスにはインバウンドセキュリティグループルールが必要です。このオプションを使用する場合は、サービスロールが自動的に作成されます。サービスロールの名前は、設定画面の下部にある注記で確認できます。

[AWS CLI](tutorials-basic.md#tutorial-create-environment) を使用して環境を作成する場合、`create-environment-ec2` コマンドを呼び出す時に、`--connection-type CONNECT_SSM` オプションを設定して、no-ingress EC2 インスタンスを設定できます。必要なサービスロールとインスタンスプロファイルの作成に関する詳細については、「[を使用した Systems Manager のインスタンスプロファイルの管理 AWS CLI](#aws-cli-instance-profiles)」を参照してください。

no-ingress EC2 インスタンスを使用する環境の作成が完了したら、以下を確認します。
+ Systems Manager Session Manager には、ユーザーに代わって EC2 インスタンスでアクションを実行する許可がおりています。詳細については、「[Systems Manager 許可の管理](#service-role-ssm)」を参照してください。
+ AWS Cloud9 ユーザーは Session Manager によって管理されるインスタンスにアクセスできます。詳細については、「[Session Manager によって管理されているインスタンスへのアクセスをユーザーに与える](#access-ec2-session)」を参照してください。

## EC2 環境でSystems Manager を使用する利点
<a name="ssm-benefits"></a>

[Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) が AWS Cloud9 とその EC2 インスタンス間の安全な接続を処理できるようにするには、次の 2 つの主な利点があります。
+ インスタンスのインバウンドポートを開く必要がない
+ パブリックサブネットまたはプライベートサブネットでインスタンスを起動するオプション

------
#### [ No open inbound ports ]

 AWS Cloud9 とその EC2 インスタンス間の安全な接続は、[Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) によって処理されます。Session Manager は、インバウンドポートを開くことなく AWS Cloud9 が EC2 インスタンスに接続できるようにするフルマネージド Systems Manager 機能です。

**重要**  
no-ingress 接続に Systems Manager を使用するオプションは、現在、新しい EC2 環境を作成する場合にのみ使用できます。

 Session Manager セッションがスタートすると、ターゲットインスタンスへの接続が行われます。接続を確立すると、環境は Systems Manager サービスを通じてインスタンスと対話できるようになります。Systems Manager サービスは、Systems Manager Agent ([SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html)) を通じてインスタンスと通信を行います。

デフォルトでは、SSM Agent は、EC2 環境によって使用されるすべてのインスタンスにインストールされます。

------
#### [ Private/public subnets ]

インスタンスのサブネットを**ネットワーク 設定 (アドバンスト)** セクションで選択する時は、ご使用の環境のインスタンスに Systems Manager 経由でアクセスする場合は、プライベートサブネットまたはパブリックサブネットを選択できます。

![\[ご使用の環境に新しいno-ingress EC2 インスタンスを選択する\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/private-subnet-option.png)


**プライベートサブネット**

プライベートサブネットの場合、インスタンスが SSM サービスにまだ接続できることを確認してください。これは、[パブリックサブネットに NAT ゲートウェイを設定する](https://aws.amazon.com/premiumsupport/knowledge-center/nat-gateway-vpc-private-subnet)または [Systems Manager の VPC エンドポイントの設定](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-vpc-endpoints)。によって行うことができます。

NAT ゲートウェイを使用する利点は、インターネットがプライベートサブネット内のインスタンスへの接続を開始できなくなることです。環境のインスタンスには、パブリック IP アドレスではなくプライベート IP アドレスが割り当てられます。したがって、NAT ゲートウェイはインスタンスからインターネットまたは他の AWS サービスにトラフィックを転送し、レスポンスをインスタンスに送り返します。

VPC オプションでは、Systems Manager に、*com.amazonaws.region.ssm*、*com.amazonaws.region.ec2メッセージ*、 および*com.amazonaws.region.ssmessages*と、少なくとも 3 つの*インターフェイスエンドポイント*を作成します。詳細については、*AWS Systems Manager ユーザーガイド*の「[Systems Manager の VPC エンドポイントを作成する](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-create-vpc.html#sysman-setting-up-vpc-create)」を参照してください。

**重要**  
現在、環境の EC2 インスタンスがプライベートサブネットで起動されている場合、[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)を使用してEC2 環境が AWS エンティティ (IAM ユーザーなど) に代わって AWS サービスにアクセスすることを許可することはできません。

**パブリックサブネット**

開発環境が SSM を使用して EC2 インスタンスにアクセスしている場合は、起動先のパブリックサブネットで、インスタンスがパブリック IP アドレスに割り当てられていることを確認します。これを行うには、独自の IP アドレスを指定するか、パブリック IP アドレスの自動割り当てを有効にします。自動割り当て IP 設定を変更する時に含まれる指示については、*Amazon VPC ユーザーガイド*内の[VPC の IP アドレス指定](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html)を参照してください。

環境インスタンスのプライベートサブネットとパブリックサブネットの設定の詳細については、「[のサブネットを作成する AWS Cloud9](vpc-settings.md#vpc-settings-create-subnet)」を参照してください。

------

## Systems Manager 許可の管理
<a name="service-role-ssm"></a>

デフォルトでは、Systems Manager には、EC2 インスタンス上でアクションを実行する許可がありません。アクセスは AWS Identity and Access Management (IAM) インスタンスプロファイルを通じて提供されます。(インスタンスプロファイルは、起動時に EC2 インスタンスに IAM ロール情報を渡すコンテナです。)

 AWS Cloud9 コンソールを使用して no-ingress EC2 インスタンスを作成すると、サービスロール (`AWSCloud9SSMAccessRole`) と IAM インスタンスプロファイル (`AWSCloud9SSMInstanceProfile`) の両方が自動的に作成されます。(IAM マネジメントコンソールで `AWSCloud9SSMAccessRole` を表示できます。 インスタンスプロファイルは IAM コンソールに表示されません)。

**重要**  
で初めて no-ingress EC2 環境を作成する場合は AWS CLI、必要なサービスロールとインスタンスプロファイルを明示的に定義する必要があります。詳細については、「[を使用した Systems Manager のインスタンスプロファイルの管理 AWS CLI](#aws-cli-instance-profiles)」を参照してください。

**重要**  
 AWS Cloud9 環境を作成し、 `AWSCloud9Administrator` または `AWSCloud9User`ポリシーがアタッチされた Amazon EC2 Systems Manager を使用している場合は、特定の IAM アクセス許可を持つカスタムポリシーもアタッチする必要があります。「」を参照してください[SSM 環境作成用のカスタム IAM ポリシー](security-iam.md#custom-policy-ssm-environment)。これは、`AWSCloud9Administrator` ポリシーと `AWSCloud9User` ポリシーに伴うアクセス許可の問題が原因です。

セキュリティ保護を強化するために、 AWS Cloud9 サービスにリンクされたロール には`AWSServiceRoleforAWSCloud9`、`AWSCloud9ServiceRolePolicy`ポリシー`PassRole`の制限があります。IAM ロールをサービスに*Pass (適用)* すると、そのサービスがロールを引き受け、ユーザーに代わってアクションを実行できる許可がでます。この場合、 アクセス`PassRole`許可により、 は`AWSCloud9SSMAccessRole`ロール (およびそのアクセス許可) のみを EC2 インスタンスに渡す AWS Cloud9 ことができます。これにより、EC2 インスタンスで実行できるアクションは、 AWS Cloud9が必要とするもののみに限定されます。

**注記**  
Systems Manager を使用してインスタンスにアクセスする必要がなくなった場合は、`AWSCloud9SSMAccessRole` サービスロールを削除できます。詳細については、*IAM ユーザーガイド*の「[ロールまたはインスタンスプロファイルを削除する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html)」を参照してください。

### を使用した Systems Manager のインスタンスプロファイルの管理 AWS CLI
<a name="aws-cli-instance-profiles"></a>

また、 AWS CLIを使って no-ingress EC2 環境を作成できます。`create-environment-ec2` を呼び出すとき、`--connection-type`オプションを`CONNECT_SSM` に設定します。

このオプションを使用する場合、`AWSCloud9SSMAccessRole` サービスロールと `AWSCloud9SSMInstanceProfile` は自動的に作成されません。そのため、必要なサービスプロファイルとインスタンスプロファイルを作成するには、次のいずれかを行います。
+ コンソールを使って EC2 環境を作成すると、その後は自動的に `AWSCloud9SSMAccessRole` サービスロールと `AWSCloud9SSMInstanceProfile` が自動的に作成されます。作成後、サービスロールとインスタンスプロファイルは、 AWS CLIを使って作成した追加 EC2 環境で利用できます。
+ 次の AWS CLI コマンドを実行して、サービスロールとインスタンスプロファイルを作成します。

  ```
  aws iam create-role --role-name AWSCloud9SSMAccessRole --path /service-role/ --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement": [{"Effect": "Allow","Principal": {"Service": ["ec2.amazonaws.com","cloud9.amazonaws.com"]      },"Action": "sts:AssumeRole"}]}'
  aws iam attach-role-policy --role-name AWSCloud9SSMAccessRole --policy-arn arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile
  aws iam create-instance-profile --instance-profile-name AWSCloud9SSMInstanceProfile --path /cloud9/
  aws iam add-role-to-instance-profile --instance-profile-name AWSCloud9SSMInstanceProfile --role-name AWSCloud9SSMAccessRole
  ```

## Session Manager によって管理されているインスタンスへのアクセスをユーザーに与える
<a name="access-ec2-session"></a>

Systems Manager を介して EC2 インスタンスに接続されている AWS Cloud9 環境を開くには、ユーザーに API オペレーション のアクセス許可が必要です`StartSession`。このオペレーションにより、Session Manager セッション用マネージド EC2 インスタンスへの接続が開始されます。 AWS Cloud9 特定の管理ポリシー (推奨) を使用するか、IAM ポリシーを編集して必要なアクセス許可を追加することで、ユーザーにアクセス権を付与できます。


****  

| Method | 説明 | 
| --- | --- | 
|  使用 AWS Cloud9固有の管理ポリシー  |  Systems Manager によって AWS 管理される EC2 インスタンスへのアクセスをユーザーに許可するには、 管理ポリシーを使用することをお勧めします。管理ポリシーは、標準の AWS Cloud9 ユースケースに対する一連のアクセス許可を提供し、IAM エンティティに簡単にアタッチできます。 すべてのマネージドポリシーには、`StartSession`API オペレーションを実行する許可も含まれています。以下は、 固有の 管理ポリシーです AWS Cloud9。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/ec2-ssm.html)   AWS Cloud9 環境を作成し、 `AWSCloud9Administrator` または `AWSCloud9User`ポリシーがアタッチされた Amazon EC2 Systems Manager を使用している場合は、特定の IAM アクセス許可を持つカスタムポリシーもアタッチする必要があります。「」を参照してください[SSM 環境作成用のカスタム IAM ポリシー](security-iam.md#custom-policy-ssm-environment)。これは、`AWSCloud9Administrator` ポリシーと `AWSCloud9User` ポリシーに伴うアクセス許可の問題が原因です。  詳細については、「[AWS の マネージドポリシー AWS Cloud9](security-iam.md#auth-and-access-control-managed-policies)」を参照してください。  | 
|  IAM ポリシーを編集し、必要なポリシーステートメントを追加する  |  既存のポリシーを編集するため、`StartSession` APIのアクセス 許可を追加できます。 AWS マネジメントコンソール または を使用してポリシーを編集するには AWS CLI、[「IAM ユーザーガイド」の「IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/#edit-managed-policy-console)」に記載されている手順に従ってください。 ** ポリシーを編集するときに、`ssm:startSession` API オペレーションの実行を許可する [policy statement](#policy-statement) (以下を参照) を追加します。  | 

 次のアクセス許可を使用すると、`StartSession` API オペレーションの実行が有効になります。`ssm:resourceTag` 条件キーは、インスタンスが AWS Cloud9 EC2 開発環境 (`Resource: arn:aws:ec2:*:*:instance/*`) であることを条件として、任意のインスタンス () に対して Session Manager セッションを開始できることを指定します`aws:cloud9:environment`。

**注記**  
次のマネージドポリシーには、`AWSCloud9Administrator`、`AWSCloud9User`、および`AWSCloud9EnvironmentMember` というポリシーステートメントも含まれています。

```
{
            "Effect": "Allow",
            "Action": "ssm:StartSession",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/aws:cloud9:environment": "*"
                },
                "StringEquals": {
                    "aws:CalledViaFirst": "cloud9.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:document/*"
            ]
        }
```

## CloudFormation を使用して非進入 EC2 環境を作成する
<a name="cfn-role-and-permissions"></a>

[CloudFormation テンプレート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)を使用して、no-ingress Amazon EC2 開発環境を定義する場合は、スタックを作成する前に次のことを行います。

1. `AWSCloud9SSMAccessRole` サービスロールと`AWSCloud9SSMInstanceProfile` インスタンスプロファイルを作成します。詳細については、「[CloudFormation テンプレートを使用したサービスロールとインスタンスプロファイルの作成](#creating-cfn-instance-profile)」を参照してください。

1. を呼び出す IAM エンティティのポリシーを更新します CloudFormation。こうすることで、EC2 インスタンスに接続する Session Manager セッションをスタートできます。詳細については、「[IAM ポリシーに Systems Manager 許可を追加する](#updating-IAM-policy)」を参照してください。

### CloudFormation テンプレートを使用したサービスロールとインスタンスプロファイルの作成
<a name="creating-cfn-instance-profile"></a>

サービスロール `AWSCloud9SSMAccessRole` とインスタンスプロファイル `AWSCloud9SSMInstanceProfile`を作成して、Systems Manager による開発環境をバックアップする EC2 インスタンスの管理を有効にします。

以前に を作成し`AWSCloud9SSMAccessRole`、no-ingress EC2 環境を作成[with the console](#using-the-console)または[AWS CLI コマンドを実行](#aws-cli-instance-profiles)`AWSCloud9SSMInstanceProfile`した場合、サービスロールとインスタンスプロファイルは既に使用できます。

**注記**  
非進入 EC2 環境の CloudFormation スタックを作成しようとしたが、最初に必要なサービスロールとインスタンスプロファイルを作成しなかったとします。そうすると、スタックは作成されず、次のエラーメッセージが表示されます。  
インスタンスプロファイル AWSCloud9SSMinStanceProfile がアカウントに存在しません。

を使用してイングレスなし EC2 環境を初めて作成する場合は CloudFormation、 テンプレートで `AWSCloud9SSMAccessRole`および を IAM リソース`AWSCloud9SSMInstanceProfile`として定義できます。

サンプルテンプレートからのこの抜粋は、これらのリソースを定義する方法を示しています。`AssumeRole` アクションは、 AWS Cloud9 環境とその EC2 インスタンスの両方へのアクセスを提供するセキュリティ認証情報を返します。

```
AWSTemplateFormatVersion: 2010-09-09
Resources: 
  AWSCloud9SSMAccessRole:
    Type: AWS::IAM::Role
    Properties: 
      AssumeRolePolicyDocument:
        Version: 2012-10-17		 	 	 
        Statement:
          - Effect: Allow
            Principal:
              Service:
              - cloud9.amazonaws.com
              - ec2.amazonaws.com
            Action:
              - 'sts:AssumeRole'
      Description: 'Service linked role for AWS Cloud9'
      Path: '/service-role/'
      ManagedPolicyArns: 
        - arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile
      RoleName: 'AWSCloud9SSMAccessRole'

  AWSCloud9SSMInstanceProfile:
    Type: "AWS::IAM::InstanceProfile"
    Properties: 
      InstanceProfileName: AWSCloud9SSMInstanceProfile
      Path: "/cloud9/"
      Roles: 
        - 
          Ref: AWSCloud9SSMAccessRole
```

### IAM ポリシーに Systems Manager 許可を追加する
<a name="updating-IAM-policy"></a>

[CloudFormation テンプレート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)で[サービスロールとインスタンスプロファイルを定義](#creating-cfn-instance-profile)した後、スタックを作成する IAM エンティティに Session Manager セッションをスタートする許可があることを確認してください。セッションは、Session Manager を使用した EC2 インスタンス への接続です。

**注記**  
no-ingress EC2 環境用のスタックを作成する前に Session Manager セッションをスタートする許可を追加しない場合、`AccessDeniedException` エラーが返されます。

 CloudFormationを呼び出すため、次のアクセス許可を IAM エンティティのポリシーに追加します。

```
{
            "Effect": "Allow",
            "Action": "ssm:StartSession",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/aws:cloud9:environment": "*"
                },
                "StringEquals": {
                    "aws:CalledViaFirst": "cloudformation.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:document/*"
            ]
        }
```

## 依存関係をダウンロードするため、Amazon S3 の VPC エンドポイントを設定する
<a name="configure-s3-endpoint"></a>

 AWS Cloud9 環境の EC2 インスタンスがインターネットにアクセスできない場合は、指定された Amazon S3 バケットの VPC エンドポイントを作成します。このバケットには、IDE を最新の状態に保つために必要な依存関係が含まれています。

Amazon S3 の VPC エンドポイントを設定するには、アクセスポリシーをカスタマイズする必要があります。アクセスポリシーは、ダウンロードする依存関係を含む信頼された S3 バケットのみへのアクセスを許可するようにします。

**注記**  
VPC エンドポイントは AWS マネジメントコンソール、、 AWS CLI、または Amazon VPC API を使用して作成および設定できます。次の手順では、コンソールインターフェイスを使用して VPC エンドポイントを作成する方法について説明します。<a name="create-s3-endpoint"></a>

## Amazon S3 の VPC エンドポイントを作成および設定する
<a name="create-s3-endpoint"></a>

1. で AWS マネジメントコンソール、Amazon VPC のコンソールページに移動します。

1. ナビゲーションバーで、［**エンドポイント**］ を選択します。

1. **エンドポイント**ページで、［**エンドポイント作成**］を選択します。

1. **エンドポイントの作成**ページで、検索フィールドに「s3」と入力し、**戻る**を押して、現在の AWS リージョンで、Amazon S3 で利用可能なエンドポイントをリストします。

1. 返却された Amazon S3 エンドポイントのリストから、**ゲートウェイ**タイプを選択できます。

1. 次に、環境の EC2 インスタンスが含まれている VPC を選択します。

1. 次に、VPC のルートテーブルを選択します。こうすることで、関連付けられたサブネットはエンドポイントにアクセスできるようになります。環境の EC2 インスタンスは、これらのサブネットの 1 つにあります。

1. **ポリシー**セクションで、**カスタム**オプションを選択し、スタンダードポリシーを以下に置き換えます。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "Access-to-C9-bucket-only",
             "Effect": "Allow",
             "Principal": "*",
             "Action": "s3:GetObject",
             "Resource": "arn:aws:s3:::{bucket_name}/content/dependencies/*"
         }
     ]
   }
   ```

------

   `Resource` 要素に対して、 AWS リージョンで `{bucket_name}` を利用可能なバケットの実際の名前に置き換えます。たとえば、欧州 (アイルランド) リージョン AWS Cloud9 で を使用している場合は、 を指定します`"Resource": "arn:aws:s3:::static-eu-west-1-prod-static-hld3vzaf7c4h/content/dependencies/`。

   次の表に、 AWS リージョン が AWS Cloud9 利用可能な のバケット名を示します。  
**AWS Cloud9 リージョンの Amazon S3 バケット**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/ec2-ssm.html)

1. **エンドポイントの作成** を選択します。

   正しい設定情報を指定した場合は、作成されたエンドポイントの ID がメッセージに表示されます。

1. IDE が Amazon S3 バケットにアクセスできることをチェックするには、メニューバー上の［**Window**］、［**New Terminal (新しいターミナル)**］ を選択してターミナルセッションをスタートします。次に、以下のコマンドを実行し、`{bucket_name}` をリージョンのバケットの実際の名前に置き換えます。

   ```
   ping {bucket_name}.s3.{region}.amazonaws.com.
   ```

   例えば、米国東部 (バージニア北部) リージョンで S3 バケットのエンドポイントを作成した場合は、次のコマンドを実行します。

   ```
   ping static-us-east-1-prod-static-mft1klnkc4hl.s3.us-east-1.amazonaws.com
   ```

   ping が応答を受け取ると、IDE がバケットとその依存関係にアクセスできることを確認します。

この特徴の詳細については、「*AWS PrivateLink ガイド*」にある[Amazon S3 用エンドポイント](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html)を参照してください。

## プライベート接続用 VPC エンドポイントの設定
<a name="configure-no-egress"></a>

**Systems Manager を使用するアクセス**のオプションを使用して、インスタンスをサブネットに起動する時には、セキュリティグループには受信ネットワークトラフィックを許可するインバウンドルールがありません。ただし、セキュリティグループには、インスタンスからのアウトバウンドトラフィックを許可するアウトバウンドルールがあります。これは、IDE AWS Cloud9 を最新の状態に保つために必要なパッケージとライブラリをダウンロードするために必要です。

インスタンスのアウトバウンドトラフィックとインバウンドトラフィックを防ぐには、Systems Manager 用の Amazon VPC エンドポイントを作成して設定します。インターフェイス VPC エンドポイント (インターフェイスエンドポイント) を使用すると、 を使用するサービスに接続できます[AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html)。 AWS PrivateLink は、プライベート IP アドレスを使用して Amazon EC2 および Systems Manager APIs にプライベートにアクセスするために使用できるテクノロジーです。VPC エンドポイントを設定して Systems Manager を使用するには、この[ナレッジセンターのリソース](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-vpc-endpoints/)が提供する指示に従います。

**警告**  
インバウンドまたはアウトバウンドのネットワークトラフィックを許可しないセキュリティグループを設定するとします。その後、IDE をサポートする EC2 AWS Cloud9 インスタンスにはインターネットアクセスがありません。したがって、[VPC の Amazon S3 エンドポイント](#configure-s3-endpoint)を作成して、信頼できる S3 バケットに含まれる依存関係へのアクセスを許可する必要があります。さらに、 などの一部の は AWS のサービス、インターネットアクセスなしでは意図したとおりに動作しない AWS Lambda場合があります。  
では AWS PrivateLink、VPC エンドポイントを介して処理されるギガバイトごとにデータ処理料金が発生します。これは、トラフィックの送信元または送信先に関係なく行われます。詳細については、[AWS PrivateLink 料金表](https://aws.amazon.com/privatelink/pricing/)を参照してください。

# で環境を開く AWS Cloud9
<a name="open-environment"></a>

この手順では、 AWS Cloud9で環境を開く方法について説明します。

**注記**  
この手順では、 AWS Cloud9 開発環境を既に作成していることを前提としています。環境を作成する時は、[環境を作成する](create-environment.md) を参照してください。

1. 次のように AWS Cloud9 コンソールにサインインします。
   + ご自身が AWS アカウントを使用する唯一のユーザーである場合、または単一の AWS アカウントの IAM ユーザーである場合は、[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/) に移動します。
   + 組織で を使用している場合は AWS IAM アイデンティティセンター、 AWS アカウント 管理者にサインイン手順を依頼してください。
**重要**  
[からサインアウト AWS アカウント](https://aws.amazon.com/premiumsupport/knowledge-center/sign-out-account/)しても、IDE AWS Cloud9 には最大 5 分間アクセスできます。その後、必要なアクセス許可の有効期限が切れると、アクセスが拒否されます。

1. 上部のナビゲーションバーで、環境 AWS リージョン がある を選択します。  
![\[AWS リージョン AWS Cloud9 コンソールの セレクター\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. 環境リストの開きたい環境で、次のいずれかのアクションを実行します。
   + カード内で、**[Open in Cloud9]** (Cloud9 で開く) リンクを選択します。
   + カードを選択し、**[Open in Cloud9]** (Cloud9 で開く) ボタンを選択します。  
![\[[Open in Cloud9] (Cloud9 で開く) ボタンを使用して環境を選択する\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/console_create_env_new_UX.png)

環境がコンソールに表示されない場合は、次の 1 つ以上のアクションを試行して表示を試みてください。
+ **[Environments]** (環境) ページのドロップダウンメニューバーで、以下の 1 つまたは複数を選択します。
  + **環境**を選択して、選択した AWS リージョン および 内で AWS エンティティが所有するすべての環境を表示します AWS アカウント。
  + 選択した AWS リージョン と 内で AWS エンティティが招待されたすべての環境を表示するには、**共有を選択します** AWS アカウント。
  + **すべてのアカウント環境**を選択して、選択した 内のすべての環境 AWS リージョン と、 AWS エンティティ AWS アカウント に表示許可がある環境を表示します。
+ 自分がメンバーである環境が **[Shared with you]** (自分と共有) リストに表示されていない場合は、環境の所有者に確認してください。
+ 上部のナビゲーションバーで、別のナビゲーションバーを選択します AWS リージョン。

# の環境 AWS のサービス からの呼び出し AWS Cloud9
<a name="credentials"></a>

 AWS Cloud9 開発環境 AWS のサービス から を呼び出すことができます。たとえば、次のアクションを実行できます。
+ Amazon Simple Storage Service (Amazon S3) バケットにデータをアップロードおよびダウンロードします。
+ Amazon Simple Notification Service (Amazon SNS) トピックを通じてブロードキャスト通知を送信します。
+ Amazon DynamoDB (DynamoDB) データベースのデータの読み取り/書き込みを行う。

環境 AWS のサービス から を呼び出すには、いくつかの方法があります。たとえば、 AWS Command Line Interface (AWS CLI) または AWS CloudShell を使用して、ターミナルセッションからコマンドを実行できます。環境内で実行したコードから AWS のサービス を呼び出すこともできます。これを行うには、、JavaScript、、Python、、 Ruby PHP Goなどのプログラミング言語に AWS SDKs を使用しますC\$1\$1。詳細については、「[AWS CLI および aws-shell のサンプル](sample-aws-cli.md)」、[AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)、および [AWS SDK](https://aws.amazon.com/developer/tools/#sdk) を参照してください。

 AWS CLI、 AWS CloudShell、またはコードが を呼び出すたびに AWS のサービス、、 AWS CLI AWS CloudShell、またはコードは、呼び出しとともに一連の AWS アクセス認証情報を提供する必要があります。これらの認証情報は、呼び出し元にその呼び出しを行う適切なアクセス許可があるかどうかを判別します。認証情報に適切な許可がない場合は、呼び出しは失敗します。

環境に認証情報を提供するには、いくつかの方法があります。次の表は、いくつかのアプローチについて説明します。


****  

| 環境タイプ | アプローチ | 
| --- | --- | 
|  EC2  |   AWS マネージド一時認証情報を使用します。 EC2 環境では、このアプローチをお勧めします。 AWS が管理する一時的な認証情報は、ユーザーに代わって EC2 環境の AWS アクセス認証情報を管理し、 AWS セキュリティのベストプラクティスに従います。  **EC2 環境を使用している場合は、このトピックの残りの部分はスキップできます。これは、 AWS マネージド一時認証情報が 環境で既に設定されているためです。** 詳細については、「[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)」を参照してください。  | 
|  EC2  |  IAM インスタンスプロファイルをインスタンスに添付します。 このアプローチは、何らかの理由で AWS マネージド一時認証情報を使用できない場合にのみ使用してください。 AWS マネージド一時認証情報と同様に、インスタンスプロファイルはユーザーに代わって AWS アクセス認証情報を管理します。ただし、インスタンスプロファイルを作成して管理し、Amazon EC2 インスタンスに自分で直接アタッチする必要があります。 手順については、「[インスタンスプロファイルを作成して使用し一時認証情報を管理する](#credentials-temporary)」を参照してください。  | 
|  EC2 または SSH  |  永続的な AWS アクセス認証情報を 環境内に保存します。 このアプローチは、一時的な AWS アクセス認証情報を使用するよりも安全性が低くなります。ただし、SSH 環境で唯一サポートされているアプローチです。 手順については、「[環境で永続的認証情報を作成して保存する](#credentials-permanent-create)」を参照してください。  | 
|  EC2 または SSH  |  永続的な AWS アクセス認証情報をコードに直接挿入します。 セキュリティの AWS ベストプラクティスに従わないため、このアプローチはお勧めしません。 このアプローチは推奨しないため、このトピックでは説明しません。  | 

## インスタンスプロファイルを作成・使用しマネージド一時認証情報を管理する
<a name="credentials-temporary"></a>

**注記**  
 AWS Cloud9 SSH 開発環境でこの手順を使用することはできません。代わりに、「[環境で永続的認証情報を作成して保存する](#credentials-permanent-create)」までスキップしてください。  
インスタンスプロファイルの代わりに、 AWS マネージド一時認証情報を使用することをお勧めします。何らかの理由で AWS マネージド一時認証情報を使用できない場合にのみ、これらの手順に従ってください。詳細については、「[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)」を参照してください。

この手順では、IAM と Amazon EC2 を使用して、IAM インスタンスプロファイルを作成し、環境に接続する Amazon EC2 インスタンス環境にアタッチします。このインスタンスプロファイルは、ユーザーの代わりに一時認証情報を管理します。この手順は、 AWS Cloud9の環境が既に作成されていることを前提としています。環境を作成するには、「[環境を作成する](create-environment.md)」を参照してください。

これらのタスクは、[IAM と Amazon EC2 コンソール](#credentials-temporary-create-console)、または[AWS コマンドラインインターフェイス (AWS CLI) ](#credentials-temporary-create-cli)を使用して完了できます。

### IAM コンソールを使用してインスタンスプロファイルを作成する
<a name="credentials-temporary-create-console"></a>

**注記**  
インスタンスプロファイルを含む IAM ロールがすでにある場合は、この手順をスキップして、「[Amazon EC2 コンソールを使用してインスタンスプロファイルをインスタンスに添付する](#credentials-temporary-attach-console)」に進みます。

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam)) にサインインします。

   このステップでは、 AWS アカウントの管理者レベルの認証情報使用にサインインすることをお勧めします。これが実行できない場合は、 AWS アカウント 管理者にお問い合わせください。

1. ナビゲーションバーで ［**ロール**］を選択します。
**注記**  
IAM コンソールを使用してインスタンスプロファイルを単独で作成することはできません。インスタンスプロファイルを含む IAM ロールを作成する必要があります。

1. [**ロールの作成**] を選択してください。

1. **[Select type of trusted entity]** (信頼されたエンティティの種類を選択) ページで、**AWS のサービス** をすでに選択した状態にし、**[Choose the service that will use this role**] (このロールを使用するサービスを選択) で **[EC2]** を選択します。

1. ［**ユースケースの選択**］で、［**EC2**］を選択します。

1. **[Next: Permissions]** (次のステップ: 許可) を選択します。

1. ［**Attach permissions policies (アクセス権限ポリシーをアタッチする)**］ページで、ポリシーのリストの［**AdministratorAccess**］の横のボックスを選択して、［**次へ: 確認**］を選択します。
**注記**  
**AdministratorAccess** ポリシーは、 全体のすべての AWS アクションとリソースへの無制限のアクセスを許可します AWS アカウント。これは実験目的でのみ使用してください。詳細については、*IAM ユーザーガイド* の「[IAM ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)」を参照してください。

1. **[Review]** (確認) ページの **[Role Name]** (ロール名) に、ロールの名前を入力します (例: `my-demo-cloud9-instance-profile`)。

1. **[ロールの作成]** を選択します。

「[Amazon EC2 コンソールを使用してインスタンスプロファイルをインスタンスにアタッチする](#credentials-temporary-attach-console)」に進みます。

### を使用してインスタンスプロファイルを作成する AWS CLI
<a name="credentials-temporary-create-cli"></a>

**注記**  
インスタンスプロファイルを含む IAM ロールがすでにある場合は、スキップして、[AWS CLIを伴うインスタンスにインスタンスプロファイルを添付する](#credentials-temporary-attach-cli)に進みます。  
このトピックでは、 で管理者レベルの認証情報 AWS CLI を使用して を設定することをお勧めします AWS アカウント。これが実行できない場合は、 AWS アカウント 管理者にお問い合わせください。

**注記**  
[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)を使用している場合、IDE AWS Cloud9 のターミナルセッションを使用して、このセクションのコマンドの一部またはすべてを実行することはできません。 AWS セキュリティのベストプラクティスに対処するために、 AWS マネージド一時認証情報では一部のコマンドを実行できません。代わりに、これらのコマンドを AWS Command Line Interface () の別のインストールから実行できますAWS CLI。

1. インスタンスプロファイルに必要な IAM ロール AWS の信頼関係を で定義します。これを行うには、次の内容のファイルを作成して保存します (例えば、`my-demo-cloud9-instance-profile-role-trust.json`)。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "ec2.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. ターミナルまたはコマンドプロンプトを使用して、このファイルを保存したディレクトリに切り替えます。

1. インスタンスプロファイルの IAM ロールを作成します。これを行うには、IAM `create-role` コマンドを実行します。これを行うには、新しい IAM ロールの名前 (例えば、`my-demo-cloud9-instance-profile-role`) と、保存したファイルの名前を指定します。

   ```
   aws iam create-role --role-name my-demo-cloud9-instance-profile-role --assume-role-policy-document file://my-demo-cloud9-instance-profile-role-trust.json
   ```

1. インスタンスプロファイル IAM ロールにアクセス AWS 許可をアタッチします。これを行うには、IAM `attach-role-policy` コマンドを実行します。既存の IAM ロールの名前と、 という名前の AWS マネージドポリシーの Amazon リソースネーム (ARN) を指定します`AdministratorAccess`。

   ```
   aws iam attach-role-policy --role-name my-demo-cloud9-instance-profile-role --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
   ```
**注記**  
**AdministratorAccess** ポリシーは、 全体のすべての AWS アクションとリソースへの無制限のアクセスを許可します AWS アカウント。これは実験目的でのみ使用してください。詳細については、*IAM ユーザーガイド* の「[IAM ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)」を参照してください。

1. インスタンスプロファイルを作成します。これを行うには、新しい IAM インスタンスプロファイルの名前を指定する IAM `create-instance-profile` コマンド (たとえば `my-demo-cloud9-instance-profile`) を実行します。

   ```
   aws iam create-instance-profile --instance-profile-name my-demo-cloud9-instance-profile
   ```

1. インスタンスプロファイルに IAM ロールを添付します。これを行うには、既存の IAM ロールとインスタンスプロファイルの名を指定する IAM `add-role-to-instance-profile` を実行します。

   ```
   aws iam add-role-to-instance-profile --role-name my-demo-cloud9-instance-profile-role --instance-profile-name my-demo-cloud9-instance-profile
   ```

[AWS CLIを使用してインスタンスプロファイルを作成する](#credentials-temporary-create-cli)に進みます。

### Amazon EC2 コンソールを使用してインスタンスプロファイルをインスタンスに添付する
<a name="credentials-temporary-attach-console"></a>

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2) でAmazon EC2 コンソールにサインインします。

   このステップでは、 AWS アカウントの管理者の認証情報を使用してサインインすることをお勧めします。これが実行できない場合は、 AWS アカウント 管理者にお問い合わせください。

1. ナビゲーションバーで、環境用と一致する AWS リージョン がリージョンセレクターに表示されていることを確認します。例えば、米国東部 (オハイオ) リージョンで環境を作成した場合は、このリージョンセレクターで**米国東部 (オハイオ)**を選択します。

1. ［**実行中のインスタンス**］リンク、またはナビゲーションペインで ［**インスタンス**］を展開して、［**インスタンス**］を選択します。

1. インスタンスのリストで、環境名を含む ［**名前**］を持つインスタンスを選択します。たとえば、環境名が `my-demo-environment` の場合は、**my-demo-environment**を含む［**名前**］を持つインスタンスを選択します。

1. [**アクション**] メニューで、[**セキュリティ**]、[**IAM ロールの変更**] の順に選択します。
**注記**  
インスタンスにロールをアタッチしていても、ロールにはインスタンスプロファイルが含まれています。

1. [**IAM ロールの変更**] ページの [**IAM ロール**] で、確認したロール、または前の手順で作成したロールの名前を選択し、[**適用**] を選択します。

1. 環境に戻り、 AWS CLI を使用して `aws configure` コマンドを実行するか、 AWS CloudShell を使用して `configure` コマンドを実行します。**[AWS アクセスキー ID]** または **[AWS シークレットアクセスキー]** には値を指定しないでください (これらの各プロンプトの後に `Enter` を押します)。**デフォルトリージョン名**には、最も AWS リージョン 近い または AWS リソースがあるリージョンを指定します。たとえば、米国東部 (オハイオ) リージョンの場合は、`us-east-2` を使用します。リージョンのリストについては、「Amazon Web Services 全般のリファレンス」の「[AWS リージョン とエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」を参照してください。オプションで、［**Default output format (デフォルト出力形式)**］の値を指定します (`json` など)。

環境 AWS のサービス から の呼び出しを開始できるようになりました。 AWS CLI、、aws-shellまたはその両方を使用して呼び出すには AWS のサービス、[AWS CLI 「」および「aws-shell サンプル](sample-aws-cli.md)」を参照してください。コードから AWS のサービス を呼び出すには、他の[チュートリアルとサンプル](tutorials.md)を参照してください。

### を使用してインスタンスプロファイルをインスタンスにアタッチする AWS CLI
<a name="credentials-temporary-attach-cli"></a>

**注記**  
[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)を使用している場合、IDE AWS Cloud9 のターミナルセッションを使用してこのセクションのコマンドの一部またはすべてを実行することはできません。 AWS セキュリティのベストプラクティスに対処するために、 AWS マネージド一時認証情報では一部のコマンドを実行できません。代わりに、これらのコマンドを AWS Command Line Interface () の別のインストールから実行できますAWS CLI。

1. Amazon EC2 `associate-iam-instance-profile` コマンドを実行します。インスタンスプロファイルの名前と、環境の Amazon EC2 インスタンスの ID と AWS リージョン ID を指定します。

   ```
   aws ec2 associate-iam-instance-profile --iam-instance-profile Name=my-demo-cloud9-instance-profile --region us-east-2 --instance-id i-12a3b45678cdef9a0
   ```

   上記のコマンドでは、`us-east-2` をインスタンスの AWS リージョン ID で置き換え、`i-12a3b45678cdef9a0` をインスタンス ID で置き換えます。

   インスタンスの ID を取得するには、例えば、Amazon EC2 `describe-instances` コマンドを実行して環境の名前と AWS リージョン ID を指定します。

   ```
   aws ec2 describe-instances --region us-east-2 --filters Name=tag:Name,Values=*my-environment* --query "Reservations[*].Instances[*].InstanceId" --output text
   ```

   上記のコマンドでは、`us-east-2` をインスタンスの AWS リージョン ID で置き換え、 `my-environment` を環境の名前で置き換えます。

1. 環境に戻り、 AWS CLI を使用して `aws configure` コマンドを実行するか、 aws-shellを使用して `configure` コマンドを実行します。**[AWS Access Key ID]** (アクセスキー ID)または**[AWS Secret Access Key]** (シークレットアクセスキー)には値を指定しないでください。これらの各プロンプトが表示されたら、`Enter` を押します。**デフォルトリージョン名**には、最も近い または AWS リソースがあるリージョンを指定します AWS リージョン 。たとえば、米国東部 (オハイオ) リージョンの場合は、`us-east-2` を使用します。リージョンのリストについては、「Amazon Web Services 全般のリファレンス」の「[AWS とエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」を参照してください。オプションで、［**Default output format (デフォルト出力形式)**］の値を指定します (`json` など)。

環境 AWS のサービス から の呼び出しを開始できるようになりました。 AWS CLI、、aws-shellまたはその両方を使用して呼び出すには AWS のサービス、[AWS CLI 「」および「aws-shell サンプル](sample-aws-cli.md)」を参照してください。コードから AWS のサービス を呼び出すには、他の[チュートリアルとサンプル](tutorials.md)を参照してください。

## 環境に永続的アクセス認証情報を作成して保存する
<a name="credentials-permanent-create"></a>

**注記**  
 AWS Cloud9 EC2 開発環境を使用している場合は、 AWS 永続的なアクセス認証情報ではなく、 AWS マネージド一時認証情報を使用することをお勧めします。 AWS マネージド一時認証情報を使用するには、「」を参照してください[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)。

このセクションでは、 AWS Identity and Access Management (IAM) を使用して永続的な認証情報のセットを生成します。 AWS CLI、aws-shell、またはコードは、 を呼び出すときにこの認証情報のセットを使用できます AWS のサービス。このセットには、 AWS アクセスキー ID とシー AWS クレットアクセスキーが含まれます。これは、 のユーザーに固有のものです AWS アカウント。アクセスキー ID と AWS シークレットアクセスキーがすでに AWS ある場合は、これらの認証情報を書き留めてから、「 [環境に永続的アクセス認証情報を保存する](#credentials-permanent-create-store)」に進みます。

永続的認証情報のセットは、[IAM コンソール](#credentials-permanent-create-console)または [AWS CLI](#credentials-permanent-create-cli) を使用して作成できます。

### プログラマチックアクセス権を付与する
<a name="credentials-permanent-create-console"></a>

ユーザーが の AWS 外部とやり取りする場合は、プログラムによるアクセスが必要です AWS マネジメントコンソール。プログラムによるアクセスを許可する方法は、 がアクセスするユーザーのタイプによって異なります AWS。

ユーザーにプログラムによるアクセス権を付与するには、以下のいずれかのオプションを選択します。


****  

| プログラムによるアクセス権を必要とするユーザー | 目的 | 方法 | 
| --- | --- | --- | 
| IAM | (推奨) コンソール認証情報を一時的な認証情報として使用して AWS CLI、、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/credentials.html)  | 
|  ワークフォースアイデンティティ (IAM アイデンティティセンターで管理されているユーザー)  | 一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/credentials.html)  | 
| IAM | 一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または AWS APIs。 | 「IAM [ユーザーガイド」の「 AWS リソースでの一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)の使用」の手順に従います。 | 
| IAM | (非推奨)長期認証情報を使用して、 AWS CLI、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/credentials.html)  | 

### を使用して永続的なアクセス認証情報を作成する AWS CLI
<a name="credentials-permanent-create-cli"></a>

**注記**  
このセクションでは、 で管理者レベルの認証情報 AWS CLI を使用して を設定することをお勧めします AWS アカウント。これができない場合は、 AWS アカウント 管理者に確認してください。

**注記**  
[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)を使用している場合、IDE AWS Cloud9 のターミナルセッションを使用して、このセクションのコマンドの一部またはすべてを実行することはできません。 AWS セキュリティのベストプラクティスに対処するために、 AWS マネージド一時認証情報では一部のコマンドを実行できません。代わりに、これらのコマンドを AWS Command Line Interface () の別のインストールから実行できますAWS CLI。

IAM `create-access-key` コマンドを実行して、ユーザーの新しい AWS アクセスキーと対応する AWS シークレットアクセスキーを作成します。

```
aws iam create-access-key --user-name MyUser
```

前述のコマンドでは、`MyUser` をユーザーの名前に置き換えます。

表示される `AccessKeyId` と `SecretAccessKey` の値を安全な場所に保存します。IAM `create-access-key` コマンドを実行した後、 を使用して AWS CLI ユーザーの AWS シークレットアクセスキーを表示できるのは今回だけです。必要に応じて後でユーザーの新しい AWS シークレットアクセスキーを生成するには、*IAM ユーザーガイド*の[「アクセスキーの作成、変更、表示 (API、CLI、PowerShell)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey_CLIAPI)」を参照してください。

### 環境に永続的アクセス認証情報を保存する
<a name="credentials-permanent-create-store"></a>

この手順では、IDE AWS Cloud9 を使用して永続的な AWS アクセス認証情報を環境に保存します。この手順では、 で環境を既に作成し AWS Cloud9、環境を開き、ウェブブラウザに AWS Cloud9 IDE を表示していることを前提としています。詳細については、「[環境を作成する](create-environment.md)」と「[環境を開く](open-environment.md)」を参照してください。

**注記**  
次の手順では、環境変数を使用して永続的なアクセス認証情報を保存する方法を示します。 AWS CLI または が環境にaws-shellインストールされている場合は、代わりに の ** `aws configure` ** コマンド AWS CLI を使用するか、 の ** `configure` ** コマンドを使用して永続的なアクセス認証情報aws-shellを保存できます。指示については、*AWS Command Line Interface ユーザーガイド*の「[クイック設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-quick-configuration)」を参照してください。

1. 環境を開いた状態で、IDE AWS Cloud9 で新しいターミナルセッションがまだ開始されていない場合は、新しいターミナルセッションを開始します。新しいターミナルセッションを開始するには、メニューバーで、［**Window (ウィンドウ)**］、［**New Terminal (新しいターミナル)**］の順に選択します。

1. 一度に 1 つのコマンドを実行して、永続的なアクセス認証情報を表すローカル環境変数を設定します。これらのコマンドで、 の後に AWS アクセスキー ID `AWS_ACCESS_KEY_ID:`を入力します。の後に`AWS_SECRET_ACCESS_KEY`、 AWS シークレットアクセスキーを入力します。の後に`AWS_DEFAULT_REGION_ID`、最も AWS リージョン 近い (または任意の) に関連付けられた AWS リージョン 識別子を入力します AWS リージョン。利用可能な識別子の一覧については、「Amazon Web Services 全般のリファレンス」の「[AWS リージョン とエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」を参照してください。たとえば、米国東部 (オハイオ) の場合は、`us-east-2` を使用します。

   ```
   export AWS_ACCESS_KEY_ID=
   export AWS_SECRET_ACCESS_KEY=
   export AWS_DEFAULT_REGION=
   ```

1. 前述の環境変数は、ターミナルセッションにおいてのみ有効になります。これらの環境変数をターミナルセッション間で利用できるようにするには、以下のように、それらをユーザー環境変数としてシェルプロファイルファイルに追加する必要があります。

   1. IDE の［**Environment** (環境)］ウィンドウで歯車アイコンを選択し、［**Show Home in Favorites** (お気に入りのホームを表示する)］を選択します。このステップを繰り返して、［**Show Hidden Files (隠しファイルを表示する)**］も同様に選択します。

   1. `~/.bashrc` ファイルを開きます。

   1. ファイルの末尾に次のコードを入力するか貼り付けます。これらのコマンドで、 の後に AWS アクセスキー ID `AWS_ACCESS_KEY_ID:`を入力します。の後に`AWS_SECRET_ACCESS_KEY`、 AWS シークレットアクセスキーを入力します。の後に`AWS_DEFAULT_REGION_ID`、最も AWS リージョン 近い (または任意の) に関連付けられた識別子を入力します AWS リージョン AWS リージョン。利用可能な識別子の一覧については、「Amazon Web Services 全般のリファレンス」の「[AWS リージョン とエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」を参照してください。たとえば、米国東部 (オハイオ) の場合は、`us-east-2` を使用します。

      ```
      export AWS_ACCESS_KEY_ID=
      export AWS_SECRET_ACCESS_KEY=
      export AWS_DEFAULT_REGION=
      ```

   1. ファイルを保存します。

   1. `~/.bashrc` ファイルにこれらの新しい環境変数をロードします。

      ```
      . ~/.bashrc
      ```

環境 AWS のサービス から の呼び出しを開始できるようになりました。 AWS CLI または を使用して aws-shell を呼び出すには AWS のサービス、[AWS CLI 「」および「aws-shell サンプル](sample-aws-cli.md)」を参照してください。コードから AWS のサービス を呼び出すには、他の[チュートリアルとサンプル](tutorials.md)を参照してください。

# での環境設定の変更 AWS Cloud9
<a name="change-environment"></a>

 AWS Cloud9 開発環境のプリファレンスまたは設定を変更できます。
+  [環境設定を変更する](#change-environment-single) 
+  [コンソールで環境設定を変更する](#change-environment-description) 
+  [コードを使用して環境設定を変更する](#change-environment-description-code) 

## 環境優先順位を変更する
<a name="change-environment-single"></a>

1. 設定を変更する環境を開きます。環境 を開くには、「[環境を開く](open-environment.md)」を参照してください。

1.  AWS Cloud9 IDE のメニューバーで、**AWS Cloud9****「設定**」を選択します。

1. ［**Preferences (優先順位)**］ウィンドウで、［**Project Settings (プロジェクト設定)**］を選択します。

1. 使用できるプロジェクト設定を希望に応じて変更します。［**Code Editor (Ace) (コードエディタ (Ace))**］や ［**Find in Files (ファイルの検索)**］などの設定を含みます。

**注記**  
詳細については、「[変更可能なプロジェクト設定](settings-project-change.md)」を参照してください。

### IDE AWS Cloud9 での環境のタイムアウトの調整
<a name="change-environment-timeout"></a>

次のステップでは、IDE で Amazon EC2 AWS Cloud9 環境のタイムアウト期間を更新する方法の概要を示します。これは、環境が停止するまでの時間です。

1. 設定する環境を開きます。

1. **[AWS Cloud9 IDE]** のメニューバーで、**[AWS Cloud9]**、**[設定]** の順に選択します。

1. **[設定]** ウィンドウで、**[Amazon EC2 インスタンス]** セクションまでスクロールします。

1. 使用可能なリストからタイムアウト値を選択し、更新します。

## コンソールで環境設定を変更する
<a name="change-environment-description"></a>

1. 次のように AWS Cloud9 コンソールにサインインします。
   + を使用するのはお客様だけであるか、単一の IAM ユーザー AWS アカウント である場合は AWS アカウント、[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/) にアクセスしてください。
   + 組織が を使用している場合は AWS IAM アイデンティティセンター、サインイン手順について AWS アカウント 管理者にお問い合わせください。

1. 上部のナビゲーションバーで、環境 AWS リージョン がある を選択します。  
![\[AWS AWS Cloud9 コンソールのリージョンセレクター\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. 環境のリストで変更したい設定の環境に対して、次のいずれかを実行します。
   + 環境のカードのタイトルを選択します。次のページで **[View details]** (詳細を表示) を選択します。
   + 環境のカードを選択し、**[View details]** (詳細を表示) ボタンを選択します。

1. 変更を行ってから、［**Save changes (変更の保存)**］を選択します。

    AWS Cloud9 コンソールを使用して、次の設定を変更できます。
   + EC2 環境の場合**名前**および**説明**。
   + SSH 環境の場合: ［**Name (名前)**］、［**Description (説明)**］、［**User (ユーザー)**］、［**Host (ホスト)**］、［**Port (ポート)**］、［**Environment path (環境パス)**］、［**Node.js binary path (Node.js バイナリパス)**］、および ［**SSH jump host (SSH ジャンプホスト)**］。

   その他の設定を変更するには、以下を実行します。
   + EC2 環境に対して、次を行います。
     + ［**Type (タイプ)**］、［**Security groups (セキュリティグループ)**］、［**VPC**］、［**Subnet (サブネット)**］、［**Environment path (環境パス)**］、または ［**Environment ARN (環境 ARN)**］は変更できません。
     + **[Permissions]** (アクセス許可) または **[Number of member]** (メンバー数) については、「[環境メンバーのアクセスロールを変更する](share-environment-change-access.md)」、「[自分のユーザーを削除する](share-environment-change-access.md)」、「[IAM ユーザーを招待する](share-environment.md#share-environment-invite-user)」、および「[別の環境メンバーを削除する](share-environment-delete-member.md)」を参照してください。
     + ［**EC2 instance type (EC2 インスタンスタイプ)**］、［**Memory (メモリ)**］、または ［**vCPU**］については、「[環境を移動またはサイズ変更する](move-environment.md)」を参照してください。
   + SSH 環境で、次を行います。
     + ［**Type (タイプ)**］または ［**Environment ARN (環境 ARN)**］は変更できません。
     + ［**許可**］または ［**Number of members (メンバー数)**］については、「[環境メンバーのアクセスロールを変更する](share-environment-change-access.md)」、「[自分のユーザーを削除する](share-environment-change-access.md)」、「[IAM ユーザーを招待する](share-environment.md#share-environment-invite-user)」、および「[別の環境メンバーを削除する](share-environment-delete-member.md)」を参照してください。

環境がコンソールに表示されない場合は、次の 1 つ以上のアクションを試行して表示を試みてください。
+ **[Environments]** (環境) ページのドロップダウンメニューバーで、以下の 1 つまたは複数を選択します。
  + **環境**を選択して、選択した AWS リージョン および 内で AWS エンティティが所有するすべての環境を表示します AWS アカウント。
  + 選択した AWS リージョン と 内で AWS エンティティが招待されたすべての環境を表示するには、**共有を選択します** AWS アカウント。
  + **すべてのアカウント環境**を選択すると、選択した 内のすべての環境 AWS リージョン が表示され、 AWS エンティティ AWS アカウント には表示するアクセス許可があります。
+ 自分がメンバーである環境が **[Shared with you]** (自分と共有) リストに表示されていない場合は、環境の所有者に確認してください。
+ 上部のナビゲーションバーで、別のナビゲーションバーを選択します AWS リージョン。

## コードで環境設定を変更する
<a name="change-environment-description-code"></a>

コードを使用して の環境設定を変更するには AWS Cloud9、次のように環境 AWS Cloud9 の更新オペレーションを呼び出します。


****  

|  |  | 
| --- |--- |
|  AWS CLI  |   [update-environment](https://docs.aws.amazon.com/cli/latest/reference/cloud9/update-environment.html)   | 
|  AWS SDK for C\$1\$1  |   [UpdateEnvironmentRequest](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_update_environment_request.html)、[UpdateEnvironmentResult](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_update_environment_result.html)   | 
|  AWS SDK for Go  |   [UpdateEnvironment](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.UpdateEnvironment)、[UpdateEnvironmentRequest](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.UpdateEnvironmentRequest)、[UpdateEnvironmentWithContext](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.UpdateEnvironmentWithContext)   | 
|  AWS SDK for Java  |   [UpdateEnvironmentRequest](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/UpdateEnvironmentRequest.html)、[UpdateEnvironmentResult](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/UpdateEnvironmentResult.html)   | 
|  AWS SDK for JavaScript  |   [updateEnvironment](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Cloud9.html#updateEnvironment-property)   | 
|  AWS SDK for .NET  |   [UpdateEnvironmentRequest](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TUpdateEnvironmentRequest.html)、[UpdateEnvironmentResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TUpdateEnvironmentResponse.html)   | 
|  AWS SDK for PHP  |   [updateEnvironment](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-cloud9-2017-09-23.html#updateenvironment)   | 
|  AWS SDK for Python (Boto)  |   [update\$1environment](https://boto3.readthedocs.io/en/latest/reference/services/cloud9.html#Cloud9.Client.update_environment)   | 
|  AWS SDK for Ruby  |   [update\$1environment](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Cloud9/Client.html#update_environment-instance_method)   | 
|  AWS Tools for Windows PowerShell  |   [Update-C9Environment](https://docs.aws.amazon.com/powershell/latest/reference/items/Update-C9Environment.html)   | 
|  AWS Cloud9 API  |   [UpdateEnvironment](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_UpdateEnvironment.html)   | 

# での共有環境の使用 AWS Cloud9
<a name="share-environment"></a>

*共有環境*は、複数のユーザーが参加するよう招待された AWS Cloud9 開発環境です。このトピックでは、 で環境を共有する手順 AWS Cloud9 と、共有環境に参加する方法について説明します。

所有する環境に参加するようユーザーを招待するには、次のいずれかの一連の手順に従います。招待したいユーザーの種類に基づいて選択します。
+ 環境 AWS アカウント と同じ のユーザーの場合は、[環境と同じアカウントのユーザーを招待](#share-environment-invite-user)する必要があります。
+ 環境 AWS アカウント と同じ の AWS Cloud9 管理者、特に AWS アカウント ルートユーザー、管理者ユーザー、または AWS 管理ポリシーが`AWSCloud9Administrator`アタッチされたユーザーである場合は、 AWS Cloud9 管理者を自分で招待するか、[「環境と同じアカウントのユーザーを招待する」を参照するか](#share-environment-invite-user)、 AWS Cloud9 「管理者に環境と同じアカウントの管理者を招待する」または「他のユーザーを招待する AWS アカウント」を参照してください。 [AWS Cloud9](#share-environment-admin-user)

## 共有環境のユースケース
<a name="share-environment-about"></a>

共有環境は以下のユースケースに適しています。
+ **ペアプログラミング** (**ピアプログラミングともいいます**)**:** 単一の環境で 2 人のユーザーが一緒に同じコードに対して作業を行う場合です。ペアプログラミングでは通常、1 人のユーザーがコードを記述し、もう 1 人のユーザーがコードの記述を観察します。観察者はコードの記述者にその場でインプットおよびフィードバックを行います。2 人のポジションはプロジェクト中に頻繁に入れ替わります。共有環境がない場合、通常ペアプログラマーのチームが 1 台のマシンの前に座ります。同時にコードの書き込みができるのは 1 人のユーザーのみです。共有環境では、両方のユーザーが自分のマシンの前に座ることができます。さらに、たとえ物理的に異なるオフィスにいても、同時にコードの書き込みができます。
+ **コンピュータサイエンスクラス: **これは、教師または教育助手が学生の環境にアクセスする場合に便利です。そうすることで、生徒の宿題を確認したり、彼らの環境の問題をリアルタイムで修正することができます。また、学生がクラスメートと一緒に共有の宿題プロジェクトで作業を行い、単一の環境でリアルタイムで一緒にコードを書くこともできます。それぞれが別の場所にいて、別のコンピューターオペレーティングシステムやウェブブラウザタイプを使用していても、これができます。
+ その他、複数のユーザーが同じコードに対してリアルタイムで共同作業する必要がある状況。

## 環境メンバーのアクセスロールについて
<a name="share-environment-member-roles"></a>

で環境を共有したり、共有環境に参加する前に AWS Cloud9、共有環境のアクセス許可レベルを理解しておく必要があります。これらのアクセス許可レベルは*環境メンバーアクセスロール*と呼ばれます。

の共有環境 AWS Cloud9 には、*所有者*、*読み取り/書き込み*、*読み取り専用*の 3 つの環境メンバーアクセスロールがあります。
+ 所有者は、環境に関する完全なコントロールを持っています。各環境の所有者は、環境の作成者である 1 人のみです。所有者は、以下のアクションができます。
  + 環境のメンバーを追加、変更、および削除する
  + ファイルを開く、表示、編集する
  + コードを実行する
  + 環境設定を変更する
  + 他のメンバー とチャットする
  + 既存のチャットメッセージを削除する

   AWS Cloud9 IDE では、環境所有者が**読み取り \$1 書き込み**アクセスで表示されます。
+ 読み取り/書き込みメンバーは以下を実行できます。
  + ファイルを開く、表示、編集する
  + コードを実行する
  + IDE AWS Cloud9 内からさまざまな環境設定を変更する
  + 他のメンバーとチャットする
  + 既存のチャットメッセージを削除する

   AWS Cloud9 IDE では、読み取り/書き込みメンバーは**読み取り＋書き込み**アクセスで表示されます。
+ 読み取り専用メンバーは以下のアクションを実行できます。
  + ファイルを開く、表示する
  + 他のメンバーとチャットする
  + 既存のチャットメッセージを削除する

   AWS Cloud9 IDE では、読み取り専用メンバーは**読み取り専用**アクセスで表示されます。

ユーザーが環境所有者またはメンバーになる前に、ユーザーが次のいずれかの条件を満たしている必要があります。
+ ユーザーが **AWS アカウント ルートユーザー**である。
+ ユーザーが **IAM 管理者ユーザー**である。詳細については、IAM ユーザーガイドの「[最初の IAM 管理者ユーザーおよびグループの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin)」を参照してください。
+ ユーザーは、**IAM グループに属するユーザー**、**ロールを引き受けるユーザー**、または**ロールを引き受けるフェデレーティッドユーザー***であり*、そのグループまたはロールには AWS 管理ポリシー`AWSCloud9Administrator`または `AWSCloud9User` (または`AWSCloud9EnvironmentMember`、メンバーのみとなる ) がアタッチされています。詳細については、「[AWS マネージド (事前定義) ポリシー](security-iam.md#auth-and-access-control-managed-policies)」を参照してください。
  + 前述のマネージドポリシーのいずれかを IAM グループにアタッチするには、以下の手順で説明しているとおり、[AWS マネジメントコンソール](#share-environment-member-roles-console) または [AWS コマンドラインインターフェイス (AWS CLI)](#share-environment-member-roles-cli) を使用します。
  + ユーザーまたはフェデレーションユーザーが引き受ける前述のいずれかの管理ポリシーを使用して、IAM でロールを作成できます。詳細については、「*IAM ユーザーガイド*」の「[ロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html)」を参照してください。ユーザーまたはフェデレーティッドユーザーがロールを引き受けるようにするには、*IAM ユーザーガイド*の「[IAM ロールを使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)」を参照してください。

### コンソールを使用して の AWS 管理ポリシー AWS Cloud9 をグループにアタッチする
<a name="share-environment-member-roles-console"></a>

次の手順では、 コンソールを使用して の AWS 管理ポリシー AWS Cloud9 をグループにアタッチする方法について説明します。

1. まだサインインしていない場合は AWS マネジメントコンソール、 にサインインします。

   このステップでは、 AWS アカウントの IAM 管理者レベルの認証情報使用にサインインすることをお勧めします。これが実行できない場合は、 AWS アカウント 管理者にお問い合わせください。

1. [IAM コンソール] を開きます。これを行うには、コンソールのナビゲーションバーで、[**サービス**］を選択します。次に、**[IAM]** を選択します。

1. **[グループ]** を選択します。

1. グループの名前を選択します。

1. [**許可**] タブの［**マネージドポリシー**］ で、［**ポリシーのアタッチ**］を選択します。

1. ポリシー名のリストで、次のいずれかのボックスを選択します。
   +  [**AWSCloud9User**］ (推奨) または［**AWSCloud9Administrator**]。グループの各ユーザーは環境の所有者になることができます。
   +  [**AWSCloud9EnvironmentMember**]。グループの各ユーザーはメンバーにのみなることができます。

   (これらのポリシー名のいずれかがリストに表示されない場合は、[**検索**] ボックスにポリシー名を入力して表示させます。)

1. **[Attach policy]** (ポリシーのアタッチ) を選択します。

### を使用して の AWS 管理ポリシー AWS Cloud9 をグループにアタッチする AWS CLI
<a name="share-environment-member-roles-cli"></a>

**注記**  
[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)を使用している場合、IDE AWS Cloud9 のターミナルセッションを使用して、このセクションのコマンドの一部またはすべてを実行することはできません。 AWS セキュリティのベストプラクティスに対処するために、 AWS マネージド一時認証情報では一部のコマンドを実行できません。代わりに、これらのコマンドを AWS Command Line Interface () の別のインストールから実行できますAWS CLI。

IAM `attach-group-policy` コマンドを実行して、 の AWS 管理ポリシー AWS Cloud9 をグループにアタッチします。ポリシーのグループ名と Amazon リソースネーム (ARN) を指定します。

```
aws iam attach-group-policy --group-name MyGroup --policy-arn arn:aws:iam::aws:policy/POLICY_NAME
```

前述のコマンドで、`MyGroup` をグループの名前に置き換えます。を次のいずれかの AWS マネージドポリシーの名前`POLICY_NAME`に置き換えます。
+  `AWSCloud9User` (推奨) または `AWSCloud9Administrator`。グループの各ユーザーは環境の所有者になることができます。
+  `AWSCloud9EnvironmentMember`。グループの各ユーザーはメンバーにのみなることができます。

## 環境と同じアカウントのユーザーを招待する
<a name="share-environment-invite-user"></a>

このセクションの手順を使用して、 で所有している AWS Cloud9 開発環境を同じアカウントの AWS アカウント ユーザーと共有します。

1. 招待したいユーザーが、以下のどのタイプのユーザー*でもない*とします。招待したいユーザーが、対応する環境メンバーアクセスロールをすでに持っていることを確認してください。手順については、「[環境メンバーのアクセスロールについて](#share-environment-member-roles)」を参照してください。
   + **AWS アカウント ルートユーザー**。
   + **管理者ユーザー**。
   + **IAM グループに属するユーザー**、**ロールを引き受けるユーザー**、または**ロールを引き受けるフェデレーティッドユーザー**。*その*グループまたはロールには AWS 管理ポリシーが`AWSCloud9Administrator`アタッチされています。

1. お客様が所有しユーザーを招待する環境をまだ開いていない場合は、環境を開きます。

1. IDE AWS Cloud9 のメニューバーで、次のいずれかを実行します。
   + **[Window] (ウィンドウ)、[Share] (共有)** の順に選択します。
   + [**Share (共有)**] ([**Preferences (設定)**] の歯車アイコンの横にあります) を選択します。  
![\[AWS Cloud9 IDE メニューバーの共有コマンド\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/ide-share.png)

1. [**Share this environment (この環境を共有)**] ダイアログボックスの［**Invite Members (メンバーの招待)**] に、以下のいずれかを入力します。
   + **IAM ユーザー**を招待するには、ユーザーの名前を入力します。
   + **AWS アカウント ルートユーザー**を招待するには、`arn:aws:iam::123456789012:root` と入力します。を AWS アカウント ID `123456789012`に置き換えます。
   + **役割を引き受けたユーザー**または役割を引き受けた**フェデレーションユーザー**を招待するには、`arn:aws:sts::123456789012:assumed-role/MyAssumedRole/MyAssumedRoleSession` と入力します。を AWS アカウント ID `123456789012`に置き換え、 を引き受けたロールの名前`MyAssumedRole`に置き換えます。`MyAssumedRoleSession` を引き受けたロールのセッション名に置き換えます。

1. このユーザーを読み取り専用にするには、［**R**］を選択します。このユーザーを読み取り/書き込み可能にするには、［**RW**］です。

1. **[招待]** を選択します。
**注記**  
このユーザーを読み取り/書き込みメンバーにすると、 AWS セキュリティ認証情報を危険にさらす可能性のある情報を含むダイアログボックスが表示されます。以下の情報は、この問題の背景の詳細です。  
環境を共有するのは信頼する相手のみにする必要があります。  
読み取り/書き込みメンバーは、環境内の AWS CLI、 AWS CloudShell、または AWS SDK コードを使用して、 AWS ユーザーに代わって でアクションを実行できる場合があります。さらに、永続的な AWS アクセス認証情報を環境内に保存すると、そのメンバーはそれらの認証情報をコピーして環境外で使用する可能性があります。  
環境から永続的な AWS アクセス認証情報を削除し、代わりに一時的な AWS アクセス認証情報を使用しても、この問題は完全には解決されません。これによりメンバーがこれらの一時的認証情報をコピーして環境外で使用できる機会は減少します (一時的認証情報は限られた時間のみ機能するため)。ただし、一時的な認証情報により、読み取り/書き込みメンバーがユーザーに代わって環境 AWS から でアクションを実行できるようになります。

1. ユーザーに、この環境を開いて使用できるようになったことを連絡します。

## 環境と同じアカウントの AWS Cloud9 管理者に自分や他のユーザーを招待させる
<a name="share-environment-admin-user"></a>

**注記**  
[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)を使用している場合、IDE AWS Cloud9 のターミナルセッションを使用して、このセクションのコマンドの一部またはすべてを実行することはできません。 AWS セキュリティのベストプラクティスに対処するために、 AWS マネージド一時認証情報では一部のコマンドを実行できません。代わりに、これらのコマンドを AWS Command Line Interface () の別のインストールから実行できますAWS CLI。

以下のタイプのユーザーは、同じアカウントのどの環境にでも自分自身 (または同じ AWS アカウント内の他のユーザー) を招待できます。
+ **AWS アカウント ルートユーザー**。
+ ** 管理者ユーザー**。
+ **IAM グループに属するユーザー**、**ロールを引き受けるユーザー**、または**ロールを引き受けるフェデレーティッドユーザー**。*その*グループまたはロールには AWS 管理ポリシーが`AWSCloud9Administrator`アタッチされています。

招待されたユーザーが前述のタイプのユーザー*ではない*とします。ユーザーが、対応する環境メンバーアクセスロールをすでに持っていることを確認してください。手順については、「[環境メンバーのアクセスロールについて](#share-environment-member-roles)」を参照してください。

ユーザーを招待するには、 AWS CLI または AWS CloudShell を使用して `create-environment-membership` コマンドを実行します AWS Cloud9 。

```
aws cloud9 create-environment-membership --environment-id 12a34567b8cd9012345ef67abcd890e1 --user-arn USER_ARN --permissions PERMISSION_LEVEL
```

前述のコマンドで、`12a34567b8cd9012345ef67abcd890e1` を環境の ID に置き換えます。`PERMISSION_LEVEL` を `read-write` または `read-only` に置き換えます。また、`USER_ARN` は、以下のいずれかに置き換えます。
+ **IAM ユーザー**を招待するには、`arn:aws:iam::123456789012:user/MyUser` と入力します。を AWS アカウント ID `123456789012`に置き換え、 をユーザーの名前`MyUser`に置き換えます。
+ **AWS アカウント ルートユーザー**を招待するには、`arn:aws:iam::123456789012:root` と入力します。を AWS アカウント ID `123456789012`に置き換えます。
+ **役割を引き受けたユーザー**または役割を引き受けた**フェデレーションユーザー**を招待するには、`arn:aws:sts::123456789012:assumed-role/MyAssumedRole/MyAssumedRoleSession` と入力します。を AWS アカウント ID `123456789012`に置き換えます。`MyAssumedRole` を引き受けるロールの名前に置き換えます。また、`MyAssumedRoleSession` を引き受けるロールの名前に置き換えます。

たとえば、アカウント ID の AWS アカウント ルートユーザー`123456789012`を ID を持つ環境に読み取り/書き込みメンバー`12a34567b8cd9012345ef67abcd890e1`として招待するには、次のコマンドを実行します。

```
aws cloud9 create-environment-membership --environment-id 12a34567b8cd9012345ef67abcd890e1 --user-arn arn:aws:iam::123456789012:root --permissions read-write
```

**注記**  
を使用している場合は AWS CloudShell、前述のコマンドの `aws` プレフィックスを省略します。

# 共有環境を開く
<a name="share-environment-open"></a>

共有環境を開くには、 AWS Cloud9 ダッシュボードを使用できます。 AWS Cloud9 IDE を使用してアクションを実行し、共有環境で作業を完了します。例えば、ファイルを操作したり、他のチームメンバーとチャットしたりします。

1. 対応するアクセスポリシーが、ユーザーのグループまたはロールにアタッチされていることを確認してください。詳細については、「[環境メンバーのアクセスロールについて](share-environment.md#share-environment-member-roles)」を参照してください。

1. 次のように AWS Cloud9 コンソールにサインインします。
   + を使用するのはお客様だけであるか、単一の IAM ユーザー AWS アカウント である場合は AWS アカウント、[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/) にアクセスしてください。
   + 組織が IAM Identity Center を使用している場合は、サインイン手順について AWS アカウント 管理者にお問い合わせください。
   + 教室内の学生である場合は、インストラクターにサインインの手順をお問い合わせください。

1.  AWS Cloud9 ダッシュボードから共有環境を開きます。詳細については、「[環境を開く AWS Cloud9](open-environment.md)」を参照してください。

このトピックの残りの部分で説明するように、［**Collaborate (コラボレーション)**］ウィンドウを使用して他のメンバーとやり取りできます。

**注記**  
**[Collaborate]** (コラボレーション) ウィンドウが表示されていない場合は、**[Collaborate]** (コラボレーション)を選択します。[**Collaborate (コラボレーション)**］ボタンが非表示になっている場合は、メニューバーで［**Window (ウィンドウ)、Collaborate (コラボレーション**］を選択します。

![\[IDE の Collaborate AWS Cloud9 ウィンドウ\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/ide-collaborate.png)


# 環境メンバーのリストを参照する
<a name="share-environment-members-list"></a>

共有環境が開いている状態で、[**Collaborate (コラボレーション)**］ウィンドウで、メンバーが表示されていない場合は、[**Environment Members (環境メンバー)**］を展開します。

各メンバーの横にある円は、オンラインステータスを次のように示します。
+ アクティブなメンバーには緑色の円が付いています。
+ オフラインのメンバーには灰色の円が付いています。
+ アイドルなメンバーにはオレンジ色の円が付いています。

![\[IDE AWS Cloud9 のメンバーオンラインステータス\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/ide-collaborate-status.png)


コードを使用して環境メンバーのリストを取得するには、次のように環境メンバーシップの AWS Cloud9 記述オペレーションを呼び出します。


****  

|  |  | 
| --- |--- |
|  AWS CLI  |   [describe-environment-memberships](https://docs.aws.amazon.com/cli/latest/reference/cloud9/describe-environment-memberships.html)   | 
|  AWS SDK for C\$1\$1  |   [DescribeEnvironmentMembershipsRequest](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_describe_environment_memberships_request.html)、[DescribeEnvironmentMembershipsResult](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_describe_environment_memberships_result.html)   | 
|  AWS SDK for Go  |   [DescribeEnvironmentMemberships](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DescribeEnvironmentMemberships)、[DescribeEnvironmentMembershipsRequest](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DescribeEnvironmentMembershipsRequest)、[DescribeEnvironmentMembershipsWithContext](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DescribeEnvironmentMembershipsWithContext)   | 
|  AWS SDK for Java  |   [DescribeEnvironmentMembershipsRequest](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/DescribeEnvironmentMembershipsRequest.html)、[DescribeEnvironmentMembershipsResult](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/DescribeEnvironmentMembershipsResult.html)   | 
|  AWS SDK for JavaScript  |   [describeEnvironmentMemberships](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Cloud9.html#describeEnvironmentMemberships-property)   | 
|  AWS SDK for .NET  |   [DescribeEnvironmentMembershipsRequest](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TDescribeEnvironmentMembershipsRequest.html)、[DescribeEnvironmentMembershipsResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TDescribeEnvironmentMembershipsResponse.html)   | 
|  AWS SDK for PHP  |   [describeEnvironmentMemberships](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-cloud9-2017-09-23.html#describeenvironmentmemberships)   | 
|  AWS SDK for Python (Boto)  |   [describe\$1environment\$1memberships](https://boto3.readthedocs.io/en/latest/reference/services/cloud9.html#Cloud9.Client.describe_environment_memberships)   | 
|  AWS SDK for Ruby  |   [describe\$1environment\$1memberships](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Cloud9/Client.html#describe_environment_memberships-instance_method)   | 
|  AWS Tools for Windows PowerShell  |   [Get-C9EnvironmentMembershipList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-C9EnvironmentMembershipList.html)   | 
|  AWS Cloud9 API  |   [DescribeEnvironmentMemberships](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_DescribeEnvironmentMemberships.html)   | 

# 環境メンバーのアクティブなファイルを開く
<a name="share-environment-active-file"></a>

このステップでは、環境メンバーのアクティブなファイルを開く方法を示します。

共有環境が開いている状態で、メニューバーでメンバー名を選択します。次に、**[Open Active File]** (アクティブなファイルを開く) を選択します。

![\[IDE AWS Cloud9 の Open Active File コマンド\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/ide-collaborate-active-file.png)


# 環境メンバーが開いているファイルを開く
<a name="share-environment-open-file"></a>

このステップでは、環境メンバーが開いているファイルを開く方法を示します。

1. 共有環境が開いている状態で、[**Collaborate (コラボレーション)**］ウィンドウで、メンバーが表示されていない場合は、[**Environment Members (環境メンバー)**］を展開します。

1. 環境で開きたいファイルを開いているユーザーの名前を展開します。

1. 開くファイルの名前を開きます (ダブルクリック)。

![\[IDE AWS Cloud9 でチームメンバーのファイルを開く\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/ide-collaborate-open-file.png)


# 環境メンバーのアクティブなカーソルに移動する
<a name="share-environment-active-cursor"></a>

このステップでは、環境メンバーのアクティブなカーソルを操作する方法を示します。

1. 共有環境が開いている状態で、[**Collaborate (コラボレーション)**］ウィンドウで、メンバーが表示されていない場合は、[**Environment Members (環境メンバー)**］を展開します。

1. ローカルサーバー名のコンテキスト (右クリック) メニューを開き、**[Show Location]** (場所を表示する) を選択します。

# 共有環境でのチャットの管理
<a name="chat-delete-share-environment"></a>

このトピックでは、他の環境メンバーとチャットを使用する方法、共有環境でチャットメッセージを表示する方法、共有環境から削除する方法を示します。

## 他の環境メンバーとチャットする
<a name="share-environment-chat"></a>

共有環境を開いている状態で、[**Collaborate (コラボレーション)**］ウィンドウの下部にある［**Enter your message here (ここにメッセージを入力してください)**］にチャットメッセージを入力し、`Enter` を押します。

![\[IDE AWS Cloud9 のチャットエリア\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/ide-collaborate-chat.png)


## 共有環境でチャットメッセージを表示する
<a name="share-environment-chat-view"></a>

共有環境が開いている状態で、**[Collaborate]** (コラボレーション) ウィンドウで、チャットメッセージが表示されていない場合は、**[Group Chat]** (グループチャット) を展開します。

## 共有環境からチャットメッセージを削除する
<a name="share-environment-chat-delete"></a>

共有環境が開いている状態で、**[Collaborate]** (コラボレーション) ウィンドウで、**[Group Chat]** (グループチャット) のチャットメッセージをコンテキスト (右クリック) メニューを開きます。**[Delete Message]** (メッセージの削除) を選択します。

**注記**  
チャットメッセージを削除すると、すべてのメンバーの環境から削除されます。

## 共有環境からすべてのチャットメッセージを削除する
<a name="share-environment-chat-delete-all"></a>

共有環境が開いている状態で、**[Collaborate]** (コラボレーション) ウィンドウで、**[Group Chat]** (グループチャット) の任意の場所でコンテキスト (右クリック) メニューを開きます。次に、**[Clear history]** (履歴をクリア) を選択します。

**注記**  
すべてのチャットメッセージを削除すると、すべてのメンバーの環境から削除されます。

# 環境メンバーのアクセスロールを変更する
<a name="share-environment-change-access"></a>

このステップでは、環境メンバーのアクセスロールを変更する方法を示します。コードを使用してアクセスロールを変更し、 AWS Cloud9 環境メンバーシップを更新することもできます。

1. アクセスロールを変更したいメンバーが含まれている自己所有の環境を開きます (環境 がまだ開いていない場合)。詳細については、「[環境を開く AWS Cloud9](open-environment.md)」を参照してください。

1. メンバーのリストが表示されていない場合は、**[Collaborate]** (コラボレーション) ウィンドウで、**[Environment Members]** (環境メンバー) を展開します。

1. 次のいずれかのアクションを実行します。
   + アクセスロールを変更したいメンバーの名前の横にある **[R]** または **[RW]** を選択して、このメンバーをそれぞれ所有者または読み取り/書き込みメンバーにします。
   + 読み取り/書き込みメンバーを読み取り専用メンバーに変更するには、メンバー名のコンテキストメニュー (右クリック) を開き、**[Revoke Write Access]** (書き込みアクセス権を取り消す) を選択します。
   + 読み取り専用メンバーを読み取り/書き込みメンバーに変更するには、メンバー名のコンテキストメニュー (右クリック) を開き、**[Grant Read\$1Write Access]** (書き込み\$1読み取りアクセス権を付与する) を選択します。
**注記**  
このユーザーを読み取り/書き込みメンバーにすると、 AWS セキュリティ認証情報を危険にさらす可能性のある情報を含むダイアログボックスが表示されます。そのユーザーが AWS ユーザーに代わって でアクションを実行することを信頼しない限り、ユーザーを読み取り/書き込みメンバーにしないでください。詳細については、「[環境と同じアカウントのユーザーを招待する](share-environment.md#share-environment-invite-user)」の関連する注記を参照してください。

コードを使用して環境メンバーのアクセスロールを変更するには、次のように環境メンバーシップ AWS Cloud9 の更新オペレーションを呼び出します。


****  

|  |  | 
| --- |--- |
|  AWS CLI  |   [update-environment-membership](https://docs.aws.amazon.com/cli/latest/reference/cloud9/update-environment-membership.html)   | 
|  AWS SDK for C\$1\$1  |   [UpdateEnvironmentMembershipRequest](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_update_environment_membership_request.html)、[UpdateEnvironmentMembershipResult](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_update_environment_membership_result.html)   | 
|  AWS SDK for Go  |   [UpdateEnvironmentMembership](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.UpdateEnvironmentMembership)、[UpdateEnvironmentMembershipRequest](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.UpdateEnvironmentMembershipRequest)、[UpdateEnvironmentMembershipWithContext](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.UpdateEnvironmentMembershipWithContext)   | 
|  AWS SDK for Java  |   [UpdateEnvironmentMembershipRequest](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/UpdateEnvironmentMembershipRequest.html)、[UpdateEnvironmentMembershipResult](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/UpdateEnvironmentMembershipResult.html)   | 
|  AWS SDK for JavaScript  |   [updateEnvironmentMembership](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Cloud9.html#updateEnvironmentMembership-property)   | 
|  AWS SDK for .NET  |   [UpdateEnvironmentMembershipRequest](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TUpdateEnvironmentMembershipRequest.html)、[UpdateEnvironmentMembershipResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TUpdateEnvironmentMembershipResponse.html)   | 
|  AWS SDK for PHP  |   [updateEnvironmentMembership](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-cloud9-2017-09-23.html#updateenvironmentmembership)   | 
|  AWS SDK for Python (Boto)  |   [update\$1environment\$1membership](https://boto3.readthedocs.io/en/latest/reference/services/cloud9.html#Cloud9.Client.update_environment_membership)   | 
|  AWS SDK for Ruby  |   [update\$1environment\$1membership](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Cloud9/Client.html#update_environment_membership-instance_method)   | 
|  AWS Tools for Windows PowerShell  |   [Update-C9EnvironmentMembership](https://docs.aws.amazon.com/powershell/latest/reference/items/Update-C9EnvironmentMembership.html)   | 
|  AWS Cloud9 API  |   [UpdateEnvironmentMembership](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_UpdateEnvironmentMembership.html)   | 

# 共有環境から自分のユーザーを削除する
<a name="share-environment-delete-you"></a>

このステップでは、共有環境からユーザーを削除する方法を示します。

**注記**  
環境所有者の場合は、環境から自分のユーザーを削除することはできません。  
自分のユーザーを環境から削除しても、IAM からは削除されません。

1. 共有環境が開いている状態で、［**Collaborate (コラボレーション)**] ウィンドウで、メンバーが表示されていない場合は、［**Environment Members (環境メンバー)**] を展開します。

1. 次のいずれかのアクションを実行します。
   + [**You (自分)**] の横で、ゴミ箱アイコンを選択します。
   + **[You]** (あなた) のコンテキスト (右クリック) メニューを開き、**[Leave environment]** (環境を離れる) を選択します。

1. プロンプトが表示されたら、[**Leave (離れる)**] を選択します。

コードを使用して共有環境からユーザーを削除するには、次のように環境メンバーシップ AWS Cloud9 の削除オペレーションを呼び出します。


****  

|  |  | 
| --- |--- |
|  AWS CLI  |   [delete-environment-membership](https://docs.aws.amazon.com/cli/latest/reference/cloud9/delete-environment-membership.html)   | 
|  AWS SDK for C\$1\$1  |   [DeleteEnvironmentMembershipRequest](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_delete_environment_membership_request.html)、[DeleteEnvironmentMembershipResult](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_delete_environment_membership_result.html)   | 
|  AWS SDK for Go  |   [DeleteEnvironmentMembership](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DeleteEnvironmentMembership)、[DeleteEnvironmentMembershipRequest](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DeleteEnvironmentMembershipRequest)、[DeleteEnvironmentMembershipWithContext](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DeleteEnvironmentMembershipWithContext)   | 
|  AWS SDK for Java  |   [DeleteEnvironmentMembershipRequest](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/DeleteEnvironmentMembershipRequest.html)、[DeleteEnvironmentMembershipResult](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/DeleteEnvironmentMembershipResult.html)   | 
|  AWS SDK for JavaScript  |   [deleteEnvironmentMembership](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Cloud9.html#deleteEnvironmentMembership-property)   | 
|  AWS SDK for .NET  |   [DeleteEnvironmentMembershipRequest](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TDeleteEnvironmentMembershipRequest.html)、[DeleteEnvironmentMembershipResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TDeleteEnvironmentMembershipResponse.html)   | 
|  AWS SDK for PHP  |   [deleteEnvironmentMembership](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-cloud9-2017-09-23.html#deleteenvironmentmembership)   | 
|  AWS SDK for Python (Boto)  |   [delete\$1environment\$1membership](https://boto3.readthedocs.io/en/latest/reference/services/cloud9.html#Cloud9.Client.delete_environment_membership)   | 
|  AWS SDK for Ruby  |   [delete\$1environment\$1membership](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Cloud9/Client.html#delete_environment_membership-instance_method)   | 
|  AWS Tools for Windows PowerShell  |   [Remove-C9EnvironmentMembership](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-C9EnvironmentMembership.html)   | 
|  AWS Cloud9 API  |   [DeleteEnvironmentMembership](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_DeleteEnvironmentMembership.html)   | 

# 別の環境メンバーを削除する
<a name="share-environment-delete-member"></a>

このステップでは、ユーザー以外のメンバーを環境から削除する方法を示します。

**注記**  
自分のユーザー以外のメンバーを環境から削除するには、環境所有者の認証情報を使用して AWS Cloud9 にサインインする必要があります。  
メンバーを削除しても、そのユーザーは IAM からは削除されません。

1. 削除したいメンバーが含まれる環境をまだ開いていない場合は、環境を開きます。詳細については、「[AWS Cloud9で環境を開く](open-environment.md)」を参照してください。

1. [**Collaborate (コラボレーション)**] ウィンドウで、メンバーのリストが表示されていない場合は、[**Environment Members (環境メンバー)**] を展開します。

1. 次のいずれかを行います。
   + 削除したいメンバーの名前の横にあるごみ箱アイコンを選択します。
   + 削除するメンバー名のコンテキスト (右クリック) メニューを開 き、**[Revoke Access]** (アクセスを取り消す) を選択します。

1. プロンプトが表示されたら、[**Remove Member (メンバーの削除)**] を選択します。

コードを使用して環境からメンバーを削除するには、次のように環境メンバーシップ AWS Cloud9 の削除オペレーションを呼び出します。


****  

|  |  | 
| --- |--- |
|  AWS CLI  |   [delete-environment-membership](https://docs.aws.amazon.com/cli/latest/reference/cloud9/delete-environment-membership.html)   | 
|  AWS SDK for C\$1\$1  |   [DeleteEnvironmentMembershipRequest](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_delete_environment_membership_request.html)、[DeleteEnvironmentMembershipResult](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_delete_environment_membership_result.html)   | 
|  AWS SDK for Go  |   [DeleteEnvironmentMembership](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DeleteEnvironmentMembership)、[DeleteEnvironmentMembershipRequest](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DeleteEnvironmentMembershipRequest)、[DeleteEnvironmentMembershipWithContext](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DeleteEnvironmentMembershipWithContext)   | 
|  AWS SDK for Java  |   [DeleteEnvironmentMembershipRequest](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/DeleteEnvironmentMembershipRequest.html)、[DeleteEnvironmentMembershipResult](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/DeleteEnvironmentMembershipResult.html)   | 
|  AWS SDK for JavaScript  |   [deleteEnvironmentMembership](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Cloud9.html#deleteEnvironmentMembership-property)   | 
|  AWS SDK for .NET  |   [DeleteEnvironmentMembershipRequest](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TDeleteEnvironmentMembershipRequest.html)、[DeleteEnvironmentMembershipResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TDeleteEnvironmentMembershipResponse.html)   | 
|  AWS SDK for PHP  |   [deleteEnvironmentMembership](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-cloud9-2017-09-23.html#deleteenvironmentmembership)   | 
|  AWS SDK for Python (Boto)  |   [delete\$1environment\$1membership](https://boto3.readthedocs.io/en/latest/reference/services/cloud9.html#Cloud9.Client.delete_environment_membership)   | 
|  AWS SDK for Ruby  |   [delete\$1environment\$1membership](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Cloud9/Client.html#delete_environment_membership-instance_method)   | 
|  AWS Tools for Windows PowerShell  |   [Remove-C9EnvironmentMembership](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-C9EnvironmentMembership.html)   | 
|  AWS Cloud9 API  |   [DeleteEnvironmentMembership](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_DeleteEnvironmentMembership.html)   | 

# 環境共有のベストプラクティス
<a name="share-environment-best-practices"></a>

環境を共有する場合には、以下のプラクティスをお勧めします。
+ 信頼できる読み取り/書き込みメンバーのみを環境に招待します。
+ EC2 環境の場合、読み取り/書き込みメンバーは環境所有者の AWS アクセス認証情報を使用して環境から を呼び出すことができます AWS のサービス。これは彼ら自身の認証情報の代わりです。これを防ぐために、環境所有者は環境の AWS マネージド一時認証情報を無効にすることができます。ただし、これを行うと環境所有者も呼び出しを行うことができなくなります。詳細については、「[AWS マネージド一時認証情報](security-iam.md#auth-and-access-control-temporary-managed-credentials)」を参照してください。
+ をオンに AWS CloudTrail して、環境内のアクティビティを追跡します。詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)」を参照してください。
+  AWS アカウント ルートユーザーを使用して環境を作成および共有しないでください。代わりに、アカウント内の IAM ユーザーを使用します。詳細については、*IAMユーザーガイド*の「[初回アクセスのみ: ルートユーザーの認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-first-time-access)」および「[IAM ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users)」を参照してください。

# Amazon EBS AWS Cloud9 ボリュームからの IDE の移動
<a name="move-environment"></a>

 AWS Cloud9 開発環境は、ある Amazon EC2 インスタンスから別のインスタンスに移動できます。たとえば、次のようなアクションを実行したいかもしれません。
+ 正常なインスタンスと比較して、障害がある、または予期しない方法で実行されている Amazon EC2 インスタンスから環境を移転します。
+ 古いインスタンスから最新のシステム更新が適用されているインスタンスに 環境を移転します。
+ 環境が現在のインスタンスに対して使用率が高すぎるまたは低すぎるため、インスタンスのコンピューティングリソースを増やします。

プロジェクトファイルを保持したまま、新しい AWS Cloud9 EC2 環境に移行することで、 AWS Cloud9 サポートされている AMI から別の AMI にアップグレードできます。別のバージョンの AMI にアップグレードする理由は以下の通りです。
+ 現在の環境の AMI がサポート終了となり、サポート対象ではなくなった。
+ 必要なパッケージが、現在の AMI では古くなっている。

環境の Amazon EC2 インスタンスに関連付けられている Amazon Elastic Block Store (Amazon EBS) ボリュームのサイズ変更もできます。たとえば、次のアクションの一方または両方を実行したいかもしれません。
+ インスタンスのストレージ領域が不足している場合、ボリュームのサイズを増やします。
+ 使用していない余分なストレージ領域の支払いを避けるために、ボリュームのサイズを減らします。

環境を移動またはサイズ変更する前に、環境で実行中のプロセスの停止または環境へのスワップファイルの追加を試すことができます。メモリ不足や CPU 使用率が高い場合の対処方法の詳細については、[*トラブルシューティング*](troubleshooting.md#troubleshooting-ide-low-memory)を参照してください。

**注記**  
このトピックでは、Amazon EC2 インスタンス間の環境移動または Amazon EBS ボリュームのサイズ変更についてのみ説明します。自社サーバーの 1 つの環境をサイズ変更したり、自社サーバーのいずれかのストレージ領域を変更する場合は、サーバーのドキュメンテーションを参照してください。

最後に、Amazon EBS リソースを暗号化して、インスタンスと添付の EBS ストレージ間で保管中のデータと転送中のデータの両方のセキュリティを調整できます。

## 環境の移動
<a name="move-environment-move"></a>

移動プロセスをスタートする前に、以下の条件に注意してください。
+ 環境を同じタイプの Amazon EC2 インスタンスに移動することはできません。移動する場合は、新しいインスタンスとして別の Amazon EC2 インスタンスタイプを選択する必要があります。
**重要**  
環境を別の Amazon EC2 インスタンスタイプに移動する場合、そのインスタンスタイプは現在の AWS Cloud9 で でもサポートされる必要があります AWS リージョン。各リージョンごとに使用できるインスタンスタイプをチェックするには、[コンソールを使用して EC2 環境の作成](create-environment-main.md#create-environment-console)している時は表示されている［**[Configure settings]** (設定の構成) に移動します。**インスタンスタイプ**セクションの選択は、コンソールの右上で AWS リージョン 選択されている によって決まります。
+ インスタンスタイプを変更する前に、環境に関連付けられている Amazon EC2 インスタンスを停止する必要があります。インスタンスが停止している間、お客様およびメンバーは、停止したインスタンスに関連付けられた環境を使用することはできません。
+ AWS はインスタンスを新しいハードウェアに移動しますが、インスタンスの ID は変更されません。
+ インスタンスが Amazon VPC で実行されており、パブリック IPv4 アドレスがある場合、 はアドレスを AWS 解放し、インスタンスに新しいパブリック IPv4 アドレスを付与します。インスタンスは、プライベート IPv4 アドレスおよび Elastic IP アドレスまたは IPv6 アドレスを保持します。
+ インスタンスが停止している間のダウンタイムを計画しておいてください。このプロセスには数分かかることがあります。

**環境を移動するには**

1. (オプション) 新しいインスタンスタイプに既存のインスタンス上でインストールされていないドライバーが必要な場合は、インスタンスに接続して、そのドライバーをインストールします。詳細については、[Amazon EC2 ユーザーガイド](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html#resize-limitations)の「インスタンスのサイズ変更の互換性」を参照してください。

1. 現在 環境を表示しているすべてのウェブブラウザのタブを閉じます。
**重要**  
現在環境を表示しているウェブブラウザタブをすべて閉じない場合、この手順の完了が妨げられる AWS Cloud9 可能性があります。具体的に AWS Cloud9 は、この手順中に間違ったタイミングで環境に関連付けられている Amazon EC2 インスタンスを再起動しようとする可能性があります。この手順を完了するまで、インスタンスは停止したままであることが必要です。

1. まだサインインしていない場合は AWS マネジメントコンソール、[https://console.aws.amazon.com](https://console.aws.amazon.com/) で にサインインします。

   で管理者レベルの認証情報を使用してサインインすることをお勧めします AWS アカウント。これができない場合は、 AWS アカウント 管理者に確認してください。

1. Amazon EC2 コンソールを開きます。そのためには、［**サービス**］リストで［**EC2**］を選択します。

1.  AWS ナビゲーションバーで、移動する環境 AWS リージョン (**米国東部 (オハイオ)** など) を含む を選択します。

1. サービスナビゲーションペインで［**インスタンス**］を展開して、その後、［**インスタンス**］を選択します。

1. インスタンスのリストで、移動したい環境に関連付けられているインスタンスを選択します。EC2 環境の場合、インスタンス名は`aws-cloud9-` で始まり、環境名が続きます。例えば、環境名が `my-demo-environment` の場合、インスタンス名は `aws-cloud9-my-demo-environment` で始まります。

1. ［**インスタンスの状態**］が [**停止**] でない場合は、［**アクション**］、［**インスタンスの状態**］、［**停止**］を選択します。プロンプトが表示されたら、［**停止する**］を選択します。インスタンスが停止するまで、数分かかる場合があります。

1. ［**インスタンスの状態**］が**停止**すると、インスタンスを選択したままで、［**アクション**］、［**インスタンスの設定**］、［**インスタンスタイプの変更**］を選択します。

1. ［**インスタンスタイプの変更**］ダイアログボックスで、使用する環境に新しい［**インスタンスタイプ**］を選択します。
**注記**  
インスタンスタイプがリストに表示されない場合は、そのインスタンスの設定と互換性がありません。例えば、仮想化のタイプが原因で、インスタンスに互換性がない場合があります。

1. (オプション) 選択したインスタンスタイプが EBS 最適化をサポートしている場合は、［**EBS 最適化**］を選択して EBS 最適化を有効にするか、［**EBS 最適化**］を選択解除して EBS 最適化を無効にします。
**注記**  
選択したインスタンスタイプがデフォルトで EBS 最適化される場合、［**EBS 最適化**］が選択され、この選択を解除することはできません。

1. ［**Apply**］を選択して、新しい設定を受け入れます。
**注記**  
この手順で先ほど［**インスタンスタイプ**］に別のインスタンスタイプを選択しなかった場合は、［**適用**］を選択しても何も起こりません。

1. 環境を再び開きます。詳細については、「[で環境を開く AWS Cloud9](open-environment.md)」を参照してください。

前の手順の詳細については、*Amazon EC2 ユーザーガイド*の「[インスタンスタイプを変更する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html)」を参照してください。

## AWS Cloud9 EC2 環境を別の Amazon マシンイメージ (AMI) に移動する
<a name="moving-ec2-environ-to-ami"></a>

 

このトピックでは、 AWS Cloud9 EC2 環境を 1 つの Amazon Linux AMI から別の AWS Cloud9 サポートされている AMI に移行する方法について説明します。

**注記**  
OS バージョンを更新せずに環境を新しいインスタンスに移動する場合は、「[環境の移動](#move-environment-move)」を参照してください。

以下のいずれかの手順を使用して、環境間でデータを移行できます。

**アーカイブをローカルマシンにダウンロードして環境を移動するには**

1. 異なるベースイメージを使用して、同じアベイラビリティーゾーンに新しい環境を作成します。

   1. [EC2 環境を作成する](create-environment-main.md) セクションのステップを完了して、新しい環境を作成します。
**注記**  
[**プラットフォーム**] を選択する際は、環境を移行するプラットフォームを選択します。

   1. デフォルトでは、環境は 10 GiB ボリュームで作成されます。アーカイブを新しい環境にアップロードまたは展開するのに十分なスペースがない場合は、[環境で使用されている Amazon EBS ボリュームのサイズ変更](move-environment-resize.md) 手順のステップを実行して Amazon EBS ボリュームサイズを変更します。

1. IDE AWS Cloud9 で移行する環境を開きます。

1. IDE AWS Cloud9 がロードされたら、メニューから **File** > **Download** project を選択して、環境プロジェクトディレクトリの内容を含むアーカイブをダウンロードします。

1. 新しい環境で AWS Cloud9 IDE を開きます。

1. [**ファイル**] > [**ローカルファイルをアップロード...**] を選択してアーカイブをアップロードします。

1. （オプション) 古い `.c9` ディレクトリを `.c9.backup` にバックアップするには、環境ターミナルで次のコマンドを実行します。

   ```
   cp .c9 .c9.backup
   ```

   後で設定ファイルを復元する場合は、これらのバックアップファイルが必要になる場合があります。

1. 次のコマンドを実行して、このパッケージを展開します。

   ```
   tar xzvf <old_environment_name>.tar.gz -C ~/
   ```

1. プロジェクトディレクトリからアーカイブを削除するには、次のコマンドを実行します。

   ```
   rm <old_environment_name>.tar.gz
   ```

   新しい環境が予期したとおりに動作していることを確認します。

1. 古い環境を削除できるようになりました。

**Amazon EBS ボリュームを使用して環境を移動するには**

アーカイブをダウンロードできない場合、またはダウンロードしたアーカイブが大きすぎる場合は、Amazon EBS ボリュームを使用して移行できます。また、この方法によって、`~/environment` ディレクトリの外部にあるファイルをコピーできます。

1. 既存の環境で開いているすべての AWS Cloud9 IDE タブを閉じます。

1. 既存のインスタンスを停止するには、次のステップを実行します。

   1.  AWS Cloud9 コンソールで、環境を選択して移動し、詳細を表示します。

   1. [**環境の詳細**] ページの [**EC2 インスタンス**] タブで、[**EC2 インスタンスの管理**] を選択します。

   1. EC2 コンソールで、インスタンスを選択してインスタンスの詳細に移動します。

   1. [**インスタンスの状態**] が [**停止**] に設定されていることを確認します。そうでない場合は、[**インスタンス状態**] ドロップダウンリストから [**インスタンスの停止**] を選択します。プロンプトが表示されたら、**[停止]** を選択します。インスタンスが停止するまで、数分かかる場合があります。

1. 異なるベースイメージを使用して、同じアベイラビリティーゾーンに新しい環境を作成します。

   1. [EC2 環境を作成する](create-environment-main.md) セクションのステップを完了して、新しい環境を作成します。
**注記**  
[**プラットフォーム**] を選択する際は、環境を移行するプラットフォームを選択します。

   1. デフォルトでは、環境は 10 GiB ボリュームで作成されます。ソースボリュームから新しい環境へファイルを移動するのに十分な容量がない場合は、[環境で使用されている Amazon EBS ボリュームのサイズ変更](move-environment-resize.md) 手順のステップを完了して Amazon EBS ボリュームサイズを変更します。

1. ボリュームを既存のインスタンスからデタッチするには、以下の手順を実行します。

   1. [**インスタンスの概要**] ページで、[**ストレージ**] タブを選択し、ボリュームを選択します。選択したボリュームのデバイス名は、[**ルートデバイスの詳細**] セクションの [**ルートデバイス名**] で指定されているものと同じである必要があります。

   1. ボリュームの詳細ページで、[**アクション**] > [**ボリュームのデタッチ**] を選択します。

   1. ボリュームが正常にデタッチされたら、[**アクション**] > [**ボリュームのアタッチ**] を選択し、ドロップダウンリストから新しい環境のインスタンスを検索して選択します。選択した Amazon EC2 インスタンスの名前には、 というプレフィックスが付いた AWS Cloud9 環境名が含まれている必要があります`aws-cloud9`。

1. 新しい環境で AWS Cloud9 IDE を開きます。

1. 環境がロードされたら、新しくアタッチされたボリュームのデバイスを識別するために、ターミナルで次のコマンドを実行します。

   ```
   lsblk
   ```

   以下の出力例では、ルートデバイス `nvme0n1p1` のパーティション `nvme0n1` がすでにマウントされているため、`nvme1n1p1` パーティションもマウントする必要があります。デバイスのフルパスは `/dev/nvme1n1p1` です。

   ```
   Admin:~/environment $ lsblk
   NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
   nvme0n1       259:0    0  10G  0 disk 
   ├─nvme0n1p1   259:2    0  10G  0 part /
   ├─nvme0n1p127 259:3    0   1M  0 part 
   └─nvme0n1p128 259:4    0  10M  0 part /boot/efi
   nvme1n1       259:1    0  10G  0 disk 
   ├─nvme1n1p1   259:5    0  10G  0 part 
   └─nvme1n1p128 259:6    0   1M  0 part
   ```
**注記**  
出力は、ターミナルでこのコマンドを実行する場合は異なります。

1. 環境ターミナルで以下の手順を実行して、既存のボリュームをマウントします。

   1. ボリュームのパーティションがマウントされる一時ディレクトリを作成するには、次のコマンドを実行します。

      ```
      MOUNT_POINT=$(mktemp -d)
      ```

   1. `lsblk` コマンドの出力例に基づいて、マウントするデバイスの次のパスを指定します。

      ```
      MOUNT_DEVICE=/dev/nvme1n1p1
      ```
**注記**  
出力は、ターミナルでこのコマンドを実行する場合は異なります。

   1. 既存のボリュームをマウントするには、次のコマンドを実行します。

      ```
      sudo mount $MOUNT_DEVICE $MOUNT_POINT
      ```

   1. 既存のボリュームが正常にマウントされているかどうかを確認するには、以下の手順を実行します。

      1. ボリュームが出力に含まれていることを確認するには、次のコマンドを実行します。

         ```
         df -h
         ```

      1. ボリュームの内容を確認するには、次のコマンドを実行します。

         ```
         ls $MOUNT_POINT/home/ec2-user/environment/
         ```

1. （オプション) 古い `.c9` ディレクトリを `.c9.backup` にバックアップするには、環境ターミナルで次のコマンドを実行します。

   ```
   cp .c9 .c9.backup
   ```

   後で設定ファイルを復元する場合は、これらのバックアップファイルが必要になる場合があります。

1. 既存のボリュームから古い環境をコピーするには、次のコマンドを実行します。

   ```
   cp -R $MOUNT_POINT/home/ec2-user/environment ~
   ```
**注記**  
必要に応じて、前述のコマンドを使用して環境ディレクトリの外部にあるファイルやディレクトリをコピーすることもできます。

   新しい環境が予期したとおりに動作していることを確認します。

1. 前のデバイスのマウントを解除するには、次の 2 つのコマンドのいずれかを実行します。

   ```
   sudo umount $MOUNT_DEVICE
   ```

   ```
   sudo umount $MOUNT_POINT
   ```

1. [**アクション**] ドロップダウンリストから [**ボリュームのデタッチ**] を選択して、**ステップ 3** でアタッチしたボリュームをデタッチします。

1. 古い環境とそのボリュームを削除できるようになりました。
**注記**  
ボリュームは環境の Amazon EC2 インスタンスにアタッチされていないため、手動で削除する必要があります。これを実行するには、[**ボリュームの詳細**] ページで [**削除**] を選択します。

# 環境で使用されている Amazon EBS ボリュームのサイズ変更
<a name="move-environment-resize"></a>

このステップでは、Amazon EBS ボリュームのサイズを変更する方法を説明します。

1. サイズを変更したい Amazon EBS ボリュームの Amazon EC2 インスタンスに関連付けられている環境を開きます。

1. 環境の AWS Cloud9 IDE で、次の内容のファイルを作成し、そのファイルを 拡張子 `.sh` (例: ) で保存します`resize.sh`。
**メモ**  
このスクリプトは、AL2023、Amazon Linux 2、Amazon Linux、または Ubuntu サーバーを実行する EC2 インスタンスに接続した Amazon EBS ボリュームに対して有効であり、IMDSv2 を使用するように設定されています。  
このスクリプトは、Nitro ベースのインスタンスで NVMe ブロックデバイスとして公開される Amazon EBS ボリュームのサイズも変更します。Nitro システムをベースにしたインスタンスリストについては、「*Amazon EC2 ユーザーガイド*」の「[Nitro ベースのインスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)」を参照してください。

   ```
   #!/bin/bash
   
   # Specify the desired volume size in GiB as a command line argument. If not specified, default to 20 GiB.
   SIZE=${1:-20}
   
   # Get the ID of the environment host Amazon EC2 instance.
   TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 60")
   INSTANCEID=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/instance-id 2> /dev/null)
   REGION=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/placement/region 2> /dev/null)
   
   # Get the ID of the Amazon EBS volume associated with the instance.
   VOLUMEID=$(aws ec2 describe-instances \
     --instance-id $INSTANCEID \
     --query "Reservations[0].Instances[0].BlockDeviceMappings[0].Ebs.VolumeId" \
     --output text \
     --region $REGION)
   
   # Resize the EBS volume.
   aws ec2 modify-volume --volume-id $VOLUMEID --size $SIZE
   
   # Wait for the resize to finish.
   while [ \
     "$(aws ec2 describe-volumes-modifications \
       --volume-id $VOLUMEID \
       --filters Name=modification-state,Values="optimizing","completed" \
       --query "length(VolumesModifications)"\
       --output text)" != "1" ]; do
   sleep 1
   done
   
   # Check if we're on an NVMe filesystem
   if [[ -e "/dev/xvda" && $(readlink -f /dev/xvda) = "/dev/xvda" ]]
   then
   # Rewrite the partition table so that the partition takes up all the space that it can.
     sudo growpart /dev/xvda 1
   # Expand the size of the file system.
   # Check if we're on AL2 or AL2023
     STR=$(cat /etc/os-release)
     SUBAL2="VERSION_ID=\"2\""
     SUBAL2023="VERSION_ID=\"2023\""
     if [[ "$STR" == *"$SUBAL2"* || "$STR" == *"$SUBAL2023"* ]]
     then
       sudo xfs_growfs -d /
     else
       sudo resize2fs /dev/xvda1
     fi
   
   else
   # Rewrite the partition table so that the partition takes up all the space that it can.
     sudo growpart /dev/nvme0n1 1
   
   # Expand the size of the file system.
   # Check if we're on AL2 or AL2023
     STR=$(cat /etc/os-release)
     SUBAL2="VERSION_ID=\"2\""
     SUBAL2023="VERSION_ID=\"2023\""
     if [[ "$STR" == *"$SUBAL2"* || "$STR" == *"$SUBAL2023"* ]]
     then
       sudo xfs_growfs -d /
     else
       sudo resize2fs /dev/nvme0n1p1
     fi
   fi
   ```

1. IDE のターミナルセッションから、`resize.sh` ファイルが格納されているディレクトリに移動します。それから次のコマンドを実行し、`20` を Amazon EBS ボリュームのリサイズとして希望する Gib 単位のサイズに置き換えます。
   + 

     ```
     bash resize.sh 20
     ```
   + 

     ```
     chmod +x resize.sh
     ./resize.sh 20
     ```

# が AWS Cloud9 使用する Amazon EBS ボリュームを暗号化する
<a name="encrypting-volumes"></a>

このトピックでは、 AWS Cloud9 開発環境で使用される EC2 インスタンスの Amazon EBS ボリュームを暗号化する方法について説明します。

Amazon EBS 暗号化では、次のデータが暗号化されます。
+ ボリューム内の保管中のデータ
+ ボリュームとインスタンスの間で移動されるすべてのデータ
+ ボリュームから作成されたすべてのスナップショット
+ それらのスナップショットから作成されたすべてのボリューム

Amazon EBS ボリュームには、 AWS Cloud9 EC2 開発環境が使用する2 つの暗号化オプションがあります。
+ **デフォルトでの暗号化** – 作成する新しい EBS ボリュームとスナップショットコピーの暗号化を強制するように AWS アカウント を設定できます。暗号化は、デフォルトでは、 AWS リージョンのレベルで有効になっています。そのため、そのリージョン内の個々のボリュームまたはスナップショットに対して有効にすることはできません。さらに、Amazon EBS は、インスタンスの起動時に作成されるボリュームを暗号化します。そのため、EC2 環境を作成する前にこの設定を有効にする必要があります。詳細については、「Amazon EC2 ユーザーガイド」の「[デフォルトで暗号化](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html#encryption-by-default)」を参照してください。
+ **EC2 環境で使用される既存の Amazon EBS ボリュームの暗号化** — EC2 インスタンス用に作成済みの特定の Amazon EBS ボリュームを暗号化できます。このオプションでは、 AWS Key Management Service (AWS KMS) を使用して暗号化されたボリュームへのアクセスを管理します。関連する手順については、「[が AWS Cloud9 使用する既存の Amazon EBS ボリュームを暗号化する](#encrypting-existing-volume)」を参照してください。

**重要**  
 AWS Cloud9 IDE がデフォルトで暗号化された Amazon EBS ボリュームを使用している場合、 AWS Identity and Access Management のサービスにリンクされたロールは、これらの EBS ボリューム AWS KMS key の にアクセス AWS Cloud9 する必要があります。アクセスが提供されていない場合、IDE AWS Cloud9 の起動に失敗し、デバッグが困難になる可能性があります。  
アクセスを提供するには、Amazon EBS AWS Cloud9ボリュームで使用される KMS キーに`AWSServiceRoleForAWSCloud9`、 のサービスにリンクされたロールを追加します。このタスクの詳細については、「規範ガイダンスパターン」の[「デフォルトの暗号化で Amazon EBS ボリュームを使用する AWS Cloud9 IDE を作成する](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption.html)」を参照してください。 *AWS *

## が AWS Cloud9 使用する既存の Amazon EBS ボリュームを暗号化する
<a name="encrypting-existing-volume"></a>

既存の Amazon EBS ボリュームを暗号化するには、 AWS KMS を使用して KMS キーを作成します。置き換えるボリュームのスナップショットを作成した後、KMS キーを使用してスナップショットのコピーを暗号化します。

次に、そのスナップショットを使用して暗号化されたボリュームを作成します。次に、EC2 インスタンスからデタッチし、暗号化されたボリュームをアタッチすることで、暗号化されていないボリュームを置き換えます。

kai最後に、カスタマーマネージドキーのキーポリシーを更新して、 AWS Cloud9 サービスロールのアクセスを有効にする必要があります。

**注記**  
次の手順の中心は、カスタマーマネージドキーを使用してボリュームを暗号化する方法です。アカウントの AWS のサービス に AWS マネージドキー を使用することもできます。Amazon EBS のエイリアスは `aws/ebs` です。このデフォルトの暗号化オプションを選択した場合は、カスタマーマネージドキーを作成するステップ 1 をスキップします。また、キーポリシーを更新するステップ 8 をスキップします。これは、 のキーポリシーを変更できないためです AWS マネージドキー。<a name="creating-encrypted-volume"></a>

**既存の Amazon EBS ボリュームを暗号化するには**

1.  AWS KMS コンソールで、対称 KMS キーを作成します。詳細については、*AWS Key Management Service デベロッパーガイド*の「[対称 KMS キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」を参照してください。

1. Amazon EC2 コンソールで、環境で使用されている Amazon EBS-backed インスタンスを停止します。[コンソールまたはコマンドラインを使用して、ドインスタンスを停止タグを追加できます](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)。

1. Amazon EC2 コンソールのナビゲーションペインで、**[Snapshots]** (スナップショット) を選択して、暗号化したい[既存のボリュームのスナップショットを作成します](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html#ebs-create-snapshot)。

1. Amazon EC2 コンソールのナビゲーションペインで、［**スナップショット** ］を選択して、[スナップショットをコピーします](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)。**スナップショットのコピー**ダイアログボックスで、暗号化を有効にするには、以下の操作を実行します。
   + **このスナップショットを暗号化する**を選択します。
   + **[Master Key]** (マスターキー) には、作成済みの KMS キーを選択します。( を使用している場合は AWS マネージドキー、 **(デフォルト) aws/ebs** 設定のままにします。)

1. [暗号化されたスナップショット から新しいボリュームを作成します](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html#ebs-create-volume-from-snapshot)。
**注記**  
暗号化されたスナップショットから作成された新しい Amazon EBS ボリュームは、自動的に暗号化されます。

1. Amazon EC2インスタンスから[古い Amazon EBS ボリュームをデタッチ](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-detaching-volume.html)します。

1. [新しい暗号化ボリュームを ](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-attaching-volume.html)Amazon EC2 インスタンスに添付します。

1. [AWS マネジメントコンソール デフォルトビュー、ポリシービュー、または AWS KMS API を使用して、KMS キーの AWS マネジメントコンソール キーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to)を更新します。次のキーポリシーステートメントを追加して、 AWS Cloud9 サービス が KMS キー`AWSServiceRoleForAWSCloud9`にアクセスできるようにします。
**注記**  
を使用している場合は AWS マネージドキー、このステップをスキップします。

   ```
   {
       "Sid": "Allow use of the key",
       "Effect": "Allow",
       "Principal": {
           "AWS": "arn:{Partition}:iam::{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:{Partition}:iam::{AccountId}:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9"
       },
       "Action": [
           "kms:CreateGrant",
           "kms:ListGrants",
           "kms:RevokeGrant"
       ],
       "Resource": "*",
       "Condition": {
           "Bool": {
               "kms:GrantIsForAWSResource": "true"
           }
       }
   }
   ```

1. Amazon EC2 インスタンスを再起動します。Amazon EC2 インスタンスの再起動についての詳細は、「[インスタンスの停止と起動](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)」を参照してください。

# での環境の削除 AWS Cloud9
<a name="delete-environment"></a>

使用しなくなった AWS Cloud9 開発環境 AWS アカウント に関連する への継続的な課金を防ぐには、環境を削除します。
+  [コンソールで環境を削除する](#delete-environment-console) 
+  [コードで環境を削除する](#delete-environment-code) 

## コンソールで環境を削除する
<a name="delete-environment-console"></a>

**警告**  
環境を削除すると、 は環境を完全に AWS Cloud9 削除します。これには、すべての関連する設定、ユーザーデータおよびコミットされていないコードの完全な削除が含まれます。削除された環境は復元できません。

1.  AWS Cloud9 コンソールにサインインします。
   + を使用するのはお客様だけ AWS アカウント であるか、単一の IAM ユーザーである場合は AWS アカウント、[https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/) にアクセスしてください。
   + 組織が を使用している場合は AWS IAM アイデンティティセンター、 AWS アカウント 管理者にサインイン手順を依頼してください。

1. 上部のナビゲーションバーで、環境 AWS リージョン が配置されている を選択します。  
![\[AWS リージョン AWS Cloud9 コンソールの セレクター\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. 環境のリストでは、削除したい環境に対して、次のいずれかを実行します。
   + 環境のカードのタイトルを選択します。次のページで **[Delete]** (削除) を選択します。  
![\[環境の詳細ページから環境を削除する\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/console-delete-env.png)
   + 環境のカードを選択し、［**削除**］ボタンを選択します。  
![\[環境リストから環境を削除する\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/console-delete-env-card.png)

1. ［**Delete (削除)**］ダイアログボックスに「`Delete`」と入力し、［**Delete (削除)**］を選択します。
   + **EC2 環境**

     AWS Cloud9 は、その環境に接続された Amazon EC2 インスタンスも終了します。
**注記**  
アカウントの削除に失敗すると、コンソールのウェブページの上部にバナーが表示されます。また、環境のカード (存在する場合) にも、環境の削除に失敗したことが示されます。
   + **SSH 環境**

     環境が Amazon EC2 インスタンスに接続されている場合、そのインスタンスは終了 AWS Cloud9 しません。後でそのインスタンスを終了しない場合は、 AWS アカウント でそのインスタンスに関連する Amazon EC2 に対して継続的な料金が発生します。

1. 環境が SSH 環境の場合、 はその環境に接続されたクラウドコンピューティングインスタンスまたは独自のサーバー上の非表示のサブディレクトリを AWS Cloud9 残します。削除したい場合、今ならそのサブディレクトリを安全に削除できます。サブディレクトリは `.c9` という名前です。サブディレクトリは、環境を作成したときに指定した **[Environment path]** (環境パス) ディレクトリにあります。

   環境がコンソールに表示されない場合は、次の 1 つ以上のアクションを試行して表示を試みてください。
   + **[Environments]** (環境) ページのドロップダウンメニューバーで、以下の 1 つまたは複数を選択します。
     + **環境**を選択して、選択した AWS リージョン および 内で AWS エンティティが所有するすべての環境を表示します AWS アカウント。
     + 選択した AWS リージョン **と 内でエンティティが招待されたすべての環境を表示するには、共有を選択します** AWS アカウント。 AWS 
     + **すべてのアカウント環境**を選択すると、選択した 内のすべての環境 AWS リージョン が表示され、 AWS エンティティ AWS アカウント には表示するアクセス許可があります。
   + 自分がメンバーである環境が **[Shared with you]** (自分と共有) リストに表示されていない場合は、環境の所有者に確認してください。
   + 上部のナビゲーションバーで、別のナビゲーションバーを選択します AWS リージョン。

## コードで環境を削除する
<a name="delete-environment-code"></a>

**警告**  
環境を削除すると、 は環境を完全に AWS Cloud9 削除します。これには、すべての関連する設定、ユーザーデータおよびコミットされていないコードの完全な削除が含まれます。削除された環境は復元できません。

コードを使用して で環境を削除するには AWS Cloud9、次のように環境 AWS Cloud9 の削除オペレーションを呼び出します。


****  

|  |  | 
| --- |--- |
|  AWS CLI  |   [delete-environment](https://docs.aws.amazon.com/cli/latest/reference/cloud9/delete-environment.html)   | 
|  AWS SDK for C\$1\$1  |   [DeleteEnvironmentRequest](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_delete_environment_request.html)、[DeleteEnvironmentResult](https://sdk.amazonaws.com/cpp/api/LATEST/class_aws_1_1_cloud9_1_1_model_1_1_delete_environment_result.html)   | 
|  AWS SDK for Go  |   [DeleteEnvironment](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DeleteEnvironment)、[DeleteEnvironmentRequest](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DeleteEnvironmentRequest)、[DeleteEnvironmentWithContext](https://docs.aws.amazon.com/sdk-for-go/api/service/cloud9/#Cloud9.DeleteEnvironmentWithContext)   | 
|  AWS SDK for Java  |   [DeleteEnvironmentRequest](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/DeleteEnvironmentRequest.html)、[DeleteEnvironmentResult](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloud9/model/DeleteEnvironmentResult.html)   | 
|  AWS SDK for JavaScript  |   [deleteEnvironment](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Cloud9.html#deleteEnvironment-property)   | 
|  AWS SDK for .NET  |   [DeleteEnvironmentRequest](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TDeleteEnvironmentRequest.html)、[DeleteEnvironmentResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Cloud9/TDeleteEnvironmentResponse.html)   | 
|  AWS SDK for PHP  |   [deleteEnvironment](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-cloud9-2017-09-23.html#deleteenvironment)   | 
|  AWS SDK for Python (Boto)  |   [delete\$1environment](https://boto3.readthedocs.io/en/latest/reference/services/cloud9.html#Cloud9.Client.delete_environment)   | 
|  AWS SDK for Ruby  |   [delete\$1environment](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Cloud9/Client.html#delete_environment-instance_method)   | 
|  AWS Tools for Windows PowerShell  |   [Remove-C9Environment](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-C9Environment.html)   | 
|  AWS Cloud9 API  |   [DeleteEnvironment](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_DeleteEnvironment.html)   | 