

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

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

# の Docker チュートリアル AWS Cloud9
<a name="sample-docker"></a>

このチュートリアルでは、Amazon EC2 AWS Cloud9 の Amazon Linux インスタンス内で実行中の Docker コンテナに SSH 開発環境を接続する方法を示します。これにより、IDE AWS Cloud9 を使用して Docker コンテナ内のコードとファイルを操作し、そのコンテナでコマンドを実行できます。Docker の詳細については、Docker ウェブサイトの「[Docker とは](https://www.docker.com/what-docker)」を参照してください。

このチュートリアルに従い、このサンプルを作成すると、 AWS アカウントに料金が発生する可能性があります。Amazon EC2 などのサービスに対して発生する可能性がある料金も含まれます。詳細については、「[Amazon EC2 の料金](https://aws.amazon.com/ec2/pricing/)」を参照してください。

**Topics**
+ [前提条件](#sample-docker-prereqs)
+ [ステップ 1: Docker のインストールと実行](#sample-docker-install)
+ [ステップ 2: イメージの構築](#sample-docker-build)
+ [ステップ 3: コンテナの実行](#sample-docker-run)
+ [ステップ 4: 環境の作成](#sample-docker-env)
+ [ステップ 5: コードの実行](#sample-docker-code)
+ [ステップ 6: クリーンアップする](#sample-docker-clean-up)

## 前提条件
<a name="sample-docker-prereqs"></a>
+  **Amazon Linux または Ubuntu Server を実行している Amazon EC2 インスタンスを用意する必要があります。**このサンプルは、 AWS アカウントに Amazon Linux または Ubuntu Server を実行している Amazon EC2 インスタンスが既にあることを前提としています。Amazon EC2 インスタンスを起動するには、「[Linux 仮想マシンの起動](https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine/)」を参照してください。ウィザードの 「**Amazon マシンイメージ (AMI) の選択**」ページで、表示名が **Amazon Linux AMI** または **Ubuntu Server** で始まる AMI を選択します。　
+  **Amazon EC2 インスタンスを Amazon VPC 内で実行する場合は、追加の要件があります。**「[AWS Cloud9 開発環境の VPC 設定](vpc-settings.md)」を参照してください。
+  **Amazon EC2 インスタンスには、少なくとも 8〜16 GB の利用可能な空きディスク容量が必要です。**このサンプルでは、3 GB 以上のサイズの Docker イメージを使用し、イメージ構築のためにさらに 3 GB 以上のディスク空き容量を使用することがあります。8 GB 以下の空き容量のディスクでこのサンプルの実行を試行すると、Docker イメージが構築されない、あるいは Docker コンテナが実行されない結果となる場合があります。インスタンスの空きディスク容量を確認するには、インスタンスで **`df -h`** (「人間が読める形式のディスクファイルシステム情報」) などのコマンドを実行します。既存のインスタンスのディスクサイズを増やすには、*Amazon EC2 ユーザーガイド*の「[ボリュームの変更](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modify-volume.html)」を参照します。

## ステップ 1: Docker のインストールと実行
<a name="sample-docker-install"></a>

このステップでは、Docker が Amazon EC2 インスタンスにインストールされているかをチェックし、まだインストールされていない場合は Docker をインストールします。Docker をインストールしたら、インスタンスでこれを実行します。

1. ** `ssh` ** ユーティリティまたは PuTTY など、SSH クライアントを使って、実行中の Amazon EC2 インスタンスに接続します。これを行うには、「[Linux 仮想マシンを起動する](https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine/)」の「ステップ 3: インスタンスに接続する」を参照してください。

1. Docker がインスタンスにインストールされているかを確認します。これを行うには、**`docker`** オプションを使用して **`--version`** コマンドをインスタンスで実行します。

   ```
   docker --version
   ```

   Docker がインストールされている場合、Docker バージョンおよびビルド番号が表示されます。この場合、この手順の先のステップ 5 に進みます。

1. Docker をインストールします。これを行うには、**`yum` **または** `apt` **コマンドを** `install` **アクションを指定して実行し、インストールする** `docker` **または** `docker.io` **パッケージを指定します。

   Amazon Linux の場合:

   ```
   sudo yum install -y docker
   ```

   Ubuntu Server の場合:

   ```
   sudo apt install -y docker.io
   ```

1. Docker がインストールされていることを確認します。これを行うには、**`docker --version`** コマンドを再度実行します。Docker バージョンおよびビルド番号が表示されます。

1. Docker を実行します。これを行うには、**`docker` **サービスおよび** `start` **アクションを指定して、**`service` **コマンドを実行します。

   ```
   sudo service docker start
   ```

1. Docker が実行されていることを確認します。これを行うには、**`docker`** アクションで **`info`** コマンドを実行します。

   ```
   sudo docker info
   ```

   Docker が実行されている場合、Docker についての情報が表示されます。

## ステップ 2: イメージの構築
<a name="sample-docker-build"></a>

このステップでは、Dockerfile を使用してインスタンスに Docker イメージを構築します。このサンプルでは、Node.js が含まれるイメージおよびサンプルチャートサーバーアプリケーションを使用します。

1. インスタンスで Dockerfile を作成します。これを行うには、SSH クライアントをインスタンスに接続した状態で、インスタンスの `/tmp` ディレクトリ内に `Dockerfile` という名前のファイルを作成します。例えば、次のように **`touch`** コマンドを実行します。

   ```
   sudo touch /tmp/Dockerfile
   ```

1. `Dockerfile` ファイルに次の内容を追加します。

   ```
   # Build a Docker image based on the Amazon Linux 2 Docker image.
   FROM amazonlinux:2
   
   # install common tools
   RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
   RUN yum update -y
   RUN yum install -y sudo bash curl wget git man-db nano vim bash-completion tmux  gcc gcc-c++ make tar
   
   # Enable the Docker container to communicate with AWS Cloud9 by
   # installing SSH.
   RUN yum install -y openssh-server
   
   # Ensure that Node.js is installed.
   RUN yum install -y nodejs
   
   # Create user and enable root access
   RUN useradd --uid 1000 --shell /bin/bash -m --home-dir /home/ubuntu ubuntu && \
       sed -i 's/%wheel\s.*/%wheel ALL=NOPASSWD:ALL/' /etc/sudoers && \
       usermod -a -G wheel ubuntu
   
   # Add the AWS Cloud9 SSH public key to the Docker container.
   # This assumes a file named authorized_keys containing the
   # AWS Cloud9 SSH public key already exists in the same
   # directory as the Dockerfile.
   RUN mkdir -p /home/ubuntu/.ssh
   ADD ./authorized_keys /home/ubuntu/.ssh/authorized_keys
   RUN chown -R ubuntu /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys && \
   chmod 700 /home/ubuntu/.ssh && \
   chmod 600 /home/ubuntu/.ssh/authorized_keys
   
   # Update the password to a random one for the user ubuntu.
   RUN echo "ubuntu:$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)" | chpasswd
   
   # pre-install Cloud9 dependencies
   USER ubuntu
   RUN curl https://d2j6vhu5uywtq3.cloudfront.net/static/c9-install.sh | bash
   
   USER root
   # Start SSH in the Docker container.
   CMD ssh-keygen -A && /usr/sbin/sshd -D
   ```

   上のコンテンツを `Dockerfile` ファイルに追加するには、次のようにインスタンスで **`vi`** ユーティリティを使用できます。

   1. を使用して`/tmp/Dockerfile`、 ファイル AWS Cloud9 を開いて編集します。

      ```
      sudo vi /tmp/Dockerfile
      ```

   1. `Dockerfile` ファイルに前述のコンテンツをを貼り付けます。方法がわからない場合は、SSH クライアントのドキュメントを参照してください。

   1. コマンドモードに切り替えます。これを行うには `Esc` キーを押します (ウィンドウの下部から `-- INSERT --` が消えます)。

   1. `:wq` と入力します (`/tmp/Dockerfile` ファイルに書き込み、このファイルを保存し、**`vi`** を終了します)。次に、`Enter` を押します。
**注記**  
Docker イメージの頻繁に更新されるリストには、 からアクセスできます AWS CodeBuild。詳細については、AWS CodeBuild ユーザーガイドで 「[CodeBuild が提供する Docker イメージ](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html)」を参照してください。

1. インスタンスで、Docker コンテナが使用する AWS Cloud9 SSH パブリックキーを含むファイルを作成します。これを行うには、**`touch`** コマンドを実行して、`Dockerfile` ファイルと同じディレクトリ内に `authorized_keys` のような名前のファイルを作成します。

   ```
   sudo touch /tmp/authorized_keys
   ```

1. SSH AWS Cloud9 パブリックキーを `authorized_keys` ファイルに追加します。SSH AWS Cloud9 パブリックキーを取得するには、次の手順を実行します。

   1. [https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/) で AWS Cloud9 コンソールを開きます。

   1.  AWS ナビゲーションバーの AWS リージョンセレクターで、このトピックの後半で AWS Cloud9 開発環境を作成する AWS リージョンを選択します。

   1. ようこそページが表示された場合は、**新しい AWS Cloud9 環境** で環境**の作成** を選択します。それ以外の場合は、［**Create environment (環境の作成)**］を選択します。

   1. ［**Name environment (環境に名前を付ける)**］ページで、［**名前**］には、環境の名前を入力します。(ここでは、名前は重要ではありません。 後で別の名前を選択できます。)

   1. ［**Next step**］を選択します。

   1. ［**Environment type (環境タイプ)**］で［**Connect and run in remote server (SSH) (リモートサーバーに接続して実行する)**］を選択します。

   1. ［**View public SSH key (パブリック SSH キーを表示)**］を展開します。

   1. ［**Copy key to clipboard (キーをクリップボードにコピー)**］を選択します (これは［**View public SSH key (パブリック SSH キーの表示)**］と［**Advanced settings (詳細設定)**］の間になります)。

   1. **[キャンセル]** を選択します。

   1. クリップボードのコンテンツを `authorized_keys` ファイルに貼り付け、このファイルを保存します。例えば、このステップで前に説明したように、**`vi`** ユーティリティを使用できます。

1. **`docker` **コマンドを** `build` **アクションを指定して実行し、タグ `cloud9-image:latest` をイメージに追加し、使用する `Dockerfile` ファイルへのパスを指定してイメージをビルドします。

   ```
   sudo docker build -t cloud9-image:latest /tmp
   ```

   成功すると、構築出力の最後の 2 行には `Successfully built` および `Successfully tagged` が表示されます。

   Docker でイメージが正しく構築されたことを確かめるには、**`docker`** コマンドに `image ls` アクションを指定して実行します。

   ```
   sudo docker image ls
   ```

   成功した場合には、出力の `REPOSITORY` フィールドが `cloud9-image`、`TAG` フィールドが `latest` に設定されたエントリが表示されます。

1. Amazon EC2 インスタンスのパブリック IP アドレスをメモしておきます。これは [ステップ 4: 環境の作成](#sample-docker-env) で必要になります。インスタンスのパブリック IP アドレスがわからない場合は、インスタンスで次のコマンドを実行してそれを取得します。

   ```
   curl http://169.254.169.254/latest/meta-data/public-ipv4
   ```

## ステップ 3: コンテナの実行
<a name="sample-docker-run"></a>

このステップでは、インスタンスで Docker コンテナを実行します。このコンテナは前のステップで構築したイメージに基づいています。

1. Docker コンテナを実行するには、インスタンスで **`run`** アクションと以下のオプションを指定して **`docker`** コマンドを実行します。

   ```
   sudo docker run -d -it --expose 9090 -p 0.0.0.0:9090:22 --name cloud9 cloud9-image:latest
   ```
   +  `-d` は、コンテナを実行していたルートプロセス (このサンプルでは、SSH クライアント) を終了して、デタッチ済みモードでコンテナを実行します。
   +  `-it` は、割り当てられた疑似 TTY でコンテナを実行し、コンテナがアタッチされていない場合でも STDIN をオープンのままにします。
   +  `--expose` は、コンテナに対して特定のポート (このサンプルでは、ポート `9090`) を利用可能にします。
   +  `-p` は、指定された IP アドレスとポートを介して特定のポートを Amazon EC2 インスタンスの内部で利用できるようにします。このサンプルでは、コンテナのポート `9090` は、Amazon EC2 インスタンスのポート `22` を介して内部からアクセスできます。
   +  `--name` は、このコンテナの人間が読み取れる名前です (このサンプルでは、`cloud9`)。
   +  `cloud9-image:latest` は、コンテナを実行するために使用するビルドイメージの人間が読み取れる名前です。

   Docker がコンテナを正しく実行していることを確かめるには、**`docker`** コマンドに `container ls` アクションを指定して実行します。

   ```
   sudo docker container ls
   ```

   成功した場合には、出力の `IMAGE` フィールドが `cloud9-image:latest`、`NAMES` フィールドが `cloud9` に設定されたエントリが表示されます。

1. 実行中のコンテナにログインします。これを行うには、**`exec`** アクションと以下のオプションを指定して **`docker`** コマンドを実行します。

   ```
   sudo docker exec -it cloud9 bash
   ```
   +  `-it` は、割り当てられた疑似 TTY でコンテナを実行し、コンテナがアタッチされていない場合でも STDIN をオープンのままにします。
   +  `cloud9` は、実行中のコンテナの人間が読み取れる名前です。
   +  `bash` は、実行中のコンテナで標準のシェルを起動します。

   成功した場合、ターミナルプロンプトはログインしたユーザー名をコンテナとコンテナの ID に変更します。
**注記**  
実行中のコンテナからログアウトする場合は、**`exit`** コマンドを実行します。ターミナルプロンプトはログインしたユーザー名をインスタンスとこのインスタンスのプライベート DNS に再度変更します。コンテナは実行中である必要があります。

1. ログイン後に AWS Cloud9 開始する実行中のコンテナのディレクトリについては、そのアクセス許可を ** `rwxr-xr-x` **に設定します。これは、所有者には読み取り/書き込み/実行のアクセス許可、グループには読み取り/実行のアクセス許可、その他には読み取り/実行のアクセス許可があることを意味します。例えば、ディレクトリのパスが `~` である場合、実行中のコンテナで **`chmod`** コマンドを次のように実行して、ディレクトリにこれらのアクセス許可を設定できます。

   ```
   sudo chmod u=rwx,g=rx,o=rx ~
   ```

1. [ステップ 4: 環境の作成](#sample-docker-env) で必要となるため、Node.js バイナリを含む実行中のコンテナのディレクトリのパスをメモしておきます。このパスがわからない場合は、実行中のコンテナで次のコマンドを実行してこれを取得します。

   ```
   which node
   ```

## ステップ 4: 環境の作成
<a name="sample-docker-env"></a>

このステップでは、 AWS Cloud9 を使用して SSH AWS Cloud9 開発環境を作成し、実行中の Docker コンテナに接続します。が環境 AWS Cloud9 を作成すると、IDE AWS Cloud9 が表示され、コンテナ内のファイルとコードの操作を開始できます。

 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. [https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/) で AWS 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 経由で に直接接続 AWS Cloud9 できる Amazon EC2 インスタンスを起動します。
   + ** 既存のコンピューティング ** – 開いているインバウンドポートを必要としない Amazon EC2 インスタンスを起動します。 は を介してインスタンス AWS Cloud9 に接続します[AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)。
     + **[Existing compute]** (既存のコンピューティング) オプションを選択すると、Systems Manager がユーザーに代わって EC2 インスタンスとやり取りすることを許可するためのサービスロールと IAM インスタンスプロファイルが作成されます。両方の名前は、インターフェイスの下方にある [**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)」を参照してください。

## ステップ 5: コードの実行
<a name="sample-docker-code"></a>

このステップでは、IDE AWS Cloud9 を使用して、実行中の Docker コンテナ内でサンプルアプリケーションを実行します。

1. 実行中のコンテナの IDE AWS Cloud9 が表示されたら、サンプルチャットサーバーを起動します。これを行うには、［**Environment (環境)**］ウィンドウで、サンプル `workspace/server.js` ファイルを右クリックし、［**Run (実行)**］を選択します。

1. サンプルアプリケーションをプレビューします。これを行うには、［**Environment (環境)**］ウィンドウで `workspace/client/index.html` ファイルを開きます。次に、メニューバーで［**Tools (ツール)、［Preview (プレビュー)］、［Preview Running Application (実行中のアプリケーションのプレビュー)］**の順に選択します。

1. アプリケーションのプレビュータブで、［**Your Name (あなたの名前)**］に名前を入力します。［**Message (メッセージ)**］にメッセージを入力します。次に、［**Send (送信)**］を選択します。チャットサーバーは、ユーザーの名前とメッセージをリストに追加します。

## ステップ 6: クリーンアップする
<a name="sample-docker-clean-up"></a>

このステップでは、環境を削除し、Amazon EC2 インスタンスから AWS Cloud9 および Docker サポートファイルを削除します。また、このサンプルの使用が終了した後に AWS アカウントへの継続的な料金が発生しないようにするには、Docker を実行している Amazon EC2 インスタンスを終了する必要があります。

### ステップ 6.1: 環境を削除する
<a name="step-6-1-delete-the-envtitle"></a>

環境を削除するには、[での環境の削除 AWS Cloud9](delete-environment.md) を参照します。

### ステップ 6.2: コンテナから AWS Cloud9 サポートファイルを削除する
<a name="step-6-2-remove-ac9-support-files-from-the-container"></a>

環境を削除した後も、一部の AWS Cloud9 サポートファイルはコンテナに残ります。コンテナを引き続き使用したいが、これらのサポートファイルが不要になった場合は、ログイン後に開始 AWS Cloud9 するように指定したコンテナのディレクトリから `.c9`フォルダを削除します。例えば、ディレクトリが `~` の場合、以下のように** `-r` **オプションを使用して** `rm` **コマンドを実行します。

```
sudo rm -r ~/.c9
```

### ステップ 6.3: インスタンスから Docker サポートファイルを削除する
<a name="step-6-3-remove-docker-support-files-from-the-instance"></a>

Docker コンテナ、Docker イメージ、および Amazon EC2 インスタンス上の Docker を保持したいと思わなくなりましたが、インスタンスは維持したい場合には、次のように Docker サポートファイルを削除できます。

1. インスタンスから Docker コンテナを削除します。これを行うには、インスタンスで** `docker` **コマンドを** `stop` **と** `rm` **の停止アクション、および人間が読み取れるコンテナの名前を指定して実行します。

   ```
   sudo docker stop cloud9
   sudo docker rm cloud9
   ```

1. インスタンスから Docker イメージを削除します。これを行うには、**`docker`** アクションおよびイメージタグを使用して **`image rm`** コマンドをインスタンスで実行します。

   ```
   sudo docker image rm cloud9-image:latest
   ```

1. まだ残っているすべての追加 Docker ファイルを削除します。これを行うには、**`docker`** アクションを使用して **`system prune`** コマンドをインスタンスで実行します。

   ```
   sudo docker system prune -a
   ```

1. Docker をアンインストールします。これを行うには、インスタンスで** `yum` **コマンドを** `remove` **アクションを指定して実行し、アンインストールする** `docker` **パッケージを指定します。

   Amazon Linux の場合:

   ```
   sudo yum -y remove docker
   ```

   Ubuntu Server の場合:

   ```
   sudo apt -y remove docker
   ```

   また、前のステップで作成した `Dockerfile` ファイルおよび `authorized_keys` ファイルを削除することもできます。例えば、インスタンスで **`rm`** コマンドを実行します。

   ```
   sudo rm /tmp/Dockerfile
   sudo rm /tmp/authorized_keys
   ```

### ステップ 6.4: インスタンスの終了
<a name="step-6-4-terminate-the-instance"></a>

Amazon EC2 インスタンスを終了するには、「*Amazon EC2 ユーザーガイド*」 の 「[インスタンスの終了](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html)」を参照します。