

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

# チュートリアル: 「Hello, World\$1」 CodeDeploy を使用したアプリケーション (Windows Server)
<a name="tutorials-windows"></a>

このチュートリアルでは、ウェブサーバーとしてインターネットインフォメーションサービス (IIS) を実行している単一の Windows Server の Amazon EC2 インスタンスに 1 つのウェブページをデプロイします。このウェブページには、「Hello, World\$1」というシンプルなメッセージが表示されます。メッセージ

お探しのものではありませんか。
+ 代わりに Amazon Linux または Red Hat Enterprise Linux (RHEL) Amazon EC2 インスタンスへのデプロイを練習する場合、[チュートリアル: Amazon EC2 インスタンスに WordPress をデプロイする (Amazon Linux または Red Hat エンタープライズ Linux および Linux、macOS、または Unix)](tutorials-wordpress.md) を参照してください。
+ 代わりにオンプレミスインスタンスへのデプロイの演習を行う場合は、「[チュートリアル: CodeDeploy (Windows サーバー、Ubuntu サーバー、または Red Hat エンタープライズ Linux) を使用してオンプレミスインスタンスにアプリケーションをデプロイします。](tutorials-on-premises-instance.md)」を参照してください。

このチュートリアルのステップは、Windows の使用を前提としています。これらのステップのほとんどは Linux、macOS、Unix を実行しているローカルマシンでも完了できますが、`c:\temp` などの Windows ベースのディレクトリパスを扱うステップでは、対応するパスを使用する必要があります。また、Amazon EC2 インスタンスに接続する場合は、Remote Desktop Protocol (RDP) 経由で、Windows Server を実行する Amazon EC2 インスタンスに接続できるクライアントアプリケーションが必要です。(Windows にはデフォルトで、RDP 接続クライアントアプリケーションが搭載されています)。

このチュートリアルを開始する前に、ユーザーの設定[CodeDeploy の開始方法](getting-started-codedeploy.md)、 のインストールまたはアップグレード、IAM インスタンスプロファイルとサービスロールの作成など AWS CLI、 の前提条件を満たす必要があります。

**Topics**
+ [ステップ 1: Windows Server の Amazon EC2 インスタンスを起動する](tutorials-windows-launch-instance.md)
+ [ステップ 2: Windows Server の Amazon EC2 instance インスタンスにデプロイするソースコンテンツを設定する](tutorials-windows-configure-content.md)
+ [ステップ 3: 「Hello, World\$1」をアップロードする Amazon S3 へのアプリケーション](tutorials-windows-upload-application.md)
+ [ステップ 4: Hello World アプリケーションをデプロイする](tutorials-windows-deploy-application.md)
+ [ステップ 5:「Hello World\$1」を更新およびデプロイする アプリケーション](tutorials-windows-update-and-redeploy-application.md)
+ [ステップ 6: 「Hello, World\$1」をクリーンアップする アプリケーションと関連リソース](tutorials-windows-clean-up.md)

# ステップ 1: Windows Server の Amazon EC2 インスタンスを起動する
<a name="tutorials-windows-launch-instance"></a>

CodeDeploy で Hello World アプリケーションをデプロイする場合、Windows Server を実行している Amazon EC2 インスタンスが必要です。

「[CodeDeploy のための Amazon EC2 インスタンスを作成します。](instances-ec2-create.md)」の手順に従います。Amazon EC2 インスタンスタグをインスタンスに割り当てる準備ができたら、必ず **Name** のタグキーと、**CodeDeployDemo** のタグ値を指定します。(別のタグキーまたはタグ値を指定した場合、「[ステップ 4: Hello World アプリケーションをデプロイする](tutorials-windows-deploy-application.md)」の手順で予期しない結果が生成される場合があります)。

Amazon EC2 インスタンスを起動後、このページに戻り、次のセクションに進みます。次のステップとして、[CodeDeploy でアプリケーションを作成する](applications-create.md) には進まないでください。

## Amazon EC2 インスタンスに接続します。
<a name="tutorials-windows-launch-instance-connect"></a>

Amazon EC2 インスタンスが起動した後、手順に従ってインスタンスに接続する演習をします。

**注記**  
これらの手順では、Windows および Windows Desktop Connection クライアントアプリケーションを実行していることを前提としています。詳細については、「[RDP を使用して Windows インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html)」を参照してください。他のオペレーティングシステムまたは他の RDP 接続クライアントアプリケーションに、これらの手順を適用する必要が生じる場合もあります。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) で Amazon EC2 コンソールを開きます。

1. ナビゲーションペインの **[Instances]** (インスタンス) で、**[Instances]** (インスタンス) を選択します。

1. 一覧で Windows Server インスタンスを参照して選択します。

1. **接続** を選択します。

1. [**パスワードの取得**]、[**ファイルの選択**] の順に選択します。

1. Windows Server の Amazon EC2 インスタンスと関連付けられた Amazon EC2 インスタンスキーペアファイルを参照して選択し、**[オープン]** を選択します。

1. **[Decrypt Password]** (パスワードを復号化) を選択します。表示されるパスワードをメモしておきます。これはステップ 10 で必要になります。

1. [**Download Remote Desktop File**] を選択し、ファイルを開きます。

1. リモート接続の発行元を特定できなくても接続を求められる場合は、続行します。

1. ステップ 7 でメモしておいたパスワードを入力し、次に進みます (RDP 接続クライアントアプリケーションでユーザー名が求められた場合は、**Administrator** と入力します)。

1. リモートコンピュータの ID を確認できなくても接続を求められた場合は、続行します。

1. 接続後、Windows Server を実行している Amazon EC2 インスタンスのデスクトップが表示されます。

1. これで、Amazon EC2 インスタンスから切断することができます。
**警告**  
インスタンスを停止または削除しないでください。それ以外の場合は、CodeDeploy を デプロイすることはできません。

## Windows Server の Amazon EC2 インスタンスへの HTTP トラフィックを許可するインバウンドルールを追加する
<a name="tutorials-windows-launch-instance-add-inbound-rule"></a>

次のステップでは、Windows Server の Amazon EC2 インスタンスにデプロイされたホームページがブラウザに表示されるように、Amazon EC2 インスタンスに開いている HTTP ポートがあることを確認します。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) で Amazon EC2 コンソールを開きます。

1. **インスタンス** を選択後、ご自分のインスタンスを選択します。

1. **セキュリティグループ** 内の **説明** タブで、**インバウンドのルールの表示** を選択します。

   セキュリティグループのルールの一覧は、次のように表示されます。

   ```
   Security Groups associated with i-1234567890abcdef0
    Ports     Protocol     Source     launch-wizard-N
    22        tcp          0.0.0.0/0          ✔
   ```

1.  **セキュリティグループ** では、Amazon EC2 インスタンスのセキュリティグループを選択します。**launch-wizard-*N*** と名前が付けられる可能性があります。***N*** は、インスタンスの作成時にセキュリティグループに割り当てられた名前です。

    **[Inbound]** (インバウンド) タブを選択します。次の値を持つルールが表示された場合、ご利用のインスタンスのセキュリティグループは正しく設定されています。
   + [**Type**]: HTTP
   + [**Protocol**]: TCP
   + **[Port Range**]: 80
   + **ソース**: 0.0.0.0/0

1.  これらの値を持つルールが表示されない場合は、[セキュリティグループへのルールの追加](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule) の手順を使用して、新しいセキュリティルールに追加します。

# ステップ 2: Windows Server の Amazon EC2 instance インスタンスにデプロイするソースコンテンツを設定する
<a name="tutorials-windows-configure-content"></a>

ここでは、アプリケーションのソースコンテンツを設定して、Amazon EC2 インスタンスにデプロイできるものを準備します。このチュートリアルでは、 Windows Server を実行する Amazon EC2 インスタンスに 1 つのウェブページをデプロイします。これはウェブサーバーとして Internet Information Services (IIS) を実行します。このウェブページには、「Hello, World\$1」というシンプルなメッセージが表示されます。メッセージ

**Topics**
+ [ウェブページの作成](#tutorials-windows-configure-content-download-code)
+ [アプリケーションを実行するスクリプトの作成](#tutorials-windows-configure-content-create-scripts)
+ [アプリケーション仕様ファイルの追加](#tutorials-windows-configure-content-add-appspec-file)

## ウェブページの作成
<a name="tutorials-windows-configure-content-download-code"></a>

1. `HelloWorldApp` フォルダで `c:\temp` というサブディレクトリ (サブフォルダ) を作成し、そのフォルダに切り替えます。

   ```
   mkdir c:\temp\HelloWorldApp
   cd c:\temp\HelloWorldApp
   ```
**注記**  
`c:\temp` という場所、または `HelloWorldApp` というサブフォルダ名を必ず使用する必要はありません。別の場所またはサブフォルダ名を使用する場合は、必ずこのチュートリアル全体で使用してください。

1. テキストエディタを使用して、フォルダ内にファイルを作成します。ファイルを `index.html` と名付けます。

   ```
   notepad index.html
   ```

1. 次の HTML コードをファイルに追加し、ファイルを保存します。

   ```
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html>
   <head>
     <title>Hello, World!</title>
     <style>
       body {
         color: #ffffff;
         background-color: #0188cc;
         font-family: Arial, sans-serif;  
         font-size:14px;
       }
     </style>
   </head>
   <body>
     <div align="center"><h1>Hello, World!</h1></div>
     <div align="center"><h2>You have successfully deployed an application using CodeDeploy</h2></div>
     <div align="center">
       <p>What to do next? Take a look through the <a href="https://aws.amazon.com/codedeploy">CodeDeploy Documentation</a>.</p>
     </div>
   </body>
   </html>
   ```

## アプリケーションを実行するスクリプトの作成
<a name="tutorials-windows-configure-content-create-scripts"></a>

次に、ターゲットの Amazon EC2 インスタンスでウェブサーバーをセットアップするために CodeDeploy が使用するスクリプトを作成します。

1. `index.html` ファイルが保存されているのと同じサブフォルダで、テキストエディタを使用して別のファイルを作成します。ファイルを `before-install.bat` と名付けます。

   ```
   notepad before-install.bat
   ```

1. 次のバッチスクリプトコードをファイルに追加し、ファイルを保存します。

   ```
   REM Install Internet Information Server (IIS).
   c:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -Command Import-Module -Name ServerManager
   c:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -Command Install-WindowsFeature Web-Server
   ```

## アプリケーション仕様ファイルの追加
<a name="tutorials-windows-configure-content-add-appspec-file"></a>

次に、ウェブページとバッチスクリプトファイルに加えて、 アプリケーション指定のファイル (AppSpec ファイル) を追加します。AppSpec ファイルは、CodeDeploy によって次の方式で使用される [YAML](http://www.yaml.org) ファイルです。
+ アプリケーションリビジョンのソースファイルを、インスタンスの宛先にマッピングします。
+ デプロイ中にインスタンスで実行するスクリプトを指定します。

AppSpec のファイル名は、`appspec.yml` とする必要があります。アプリケーションソースコードのルートフォルダに配置する必要があります。

1. `index.html` および `before-install.bat` ファイルが保存されているのと同じサブフォルダで、テキストエディタを使用して別のファイルを作成します。ファイルを `appspec.yml` と名付けます。

   ```
   notepad appspec.yml
   ```

1. 次の YAML コードをファイルに追加し、ファイルを保存します。

   ```
   version: 0.0
   os: windows
   files:
     - source: \index.html
       destination: c:\inetpub\wwwroot
   hooks:
     BeforeInstall:
       - location: \before-install.bat
         timeout: 900
   ```

CodeDeploy は、この AppSpec ファイルを使用してアプリケーションソースコードのルートフォルダにある `index.html` ファイルを、ターゲット Amazon EC2 インスタンスの `c:\inetpub\wwwroot` フォルダにコピーします。デプロイ中に、CodeDeploy は `before-install.bat` デプロイライフサイクルイベントの間にターゲット Amazon EC2 インスタンスで **BeforeInstall** バッチスクリプトを実行します。このスクリプトの実行に 900 秒 (15 分) 以上かかる場合、CodeDeploy はデプロイを停止し、Amazon EC2 インスタンスへのデプロイを失敗とマークします。

これらの設定の詳細については、「[CodeDeploy AppSpec ファイルのリファレンス](reference-appspec-file.md)」を参照してください。

**重要**  
このファイルの項目間のスペースの場所と数は重要です。間隔が正しくない場合、 CodeDeploy はデバッグが困難な可能性のあるエラーを発生させます。詳細については、「[AppSpec ファイルの間隔](reference-appspec-file.md#reference-appspec-file-spacing)」を参照してください。

# ステップ 3: 「Hello, World\$1」をアップロードする Amazon S3 へのアプリケーション
<a name="tutorials-windows-upload-application"></a>

ここでソースコンテンツを CodeDeploy がデプロイできる場所に準備してアップロードします。次の手順では、Amazon S3 バケットをプロビジョニングしてバケット用のアプリケーションリビジョンのファイルを準備し、リビジョンのファイルをバンドルしてから、そのリビジョンをバケットにプッシュする方法を示します。

**注記**  
このチュートリアルでは説明されていませんが、CodeDeploy を使用して GitHub リポジトリからインスタンスにアプリケーションをデプロイできます。詳細については、「[GitHub と CodeDeploy との統合](integrations-partners-github.md)」を参照してください。

**Topics**
+ [Amazon S3 バケットをプロビジョニングします](#tutorials-windows-upload-application-create-s3-bucket)
+ [バケットのアプリケーションファイルを準備する](#tutorials-windows-upload-application-prepare-application-files)
+ [アプリケーションのファイルを 1 つのアーカイブファイルにバンドルし、アーカイブファイルをプッシュする](#tutorials-windows-upload-application-bundle-and-push-archive)

## Amazon S3 バケットをプロビジョニングします
<a name="tutorials-windows-upload-application-create-s3-bucket"></a>

ストレージコンテナあるいは Amazon S3 *バケット* を作成、または既存のバケットを使用します。バケットにリビジョンをアップロードできること、およびデプロイで使用する Amazon EC2 インスタンスがバケットからリビジョンをダウンロードできることを確認します。

 AWS CLI、Amazon S3 コンソール、または Amazon S3 APIs を使用してAmazon S3バケットを作成できます。バケットを作成したら、バケットとその CodeDeploy ユーザーにアクセス許可を付与します。

**注記**  
バケット名は、すべての AWS アカウントで Amazon S3 全体で一意である必要があります。**amzn-s3-demo-bucket** を使用できない場合、**amzn-s3-demo-bucket** の後にダッシュと自分の名前のイニシャル、または他の一意な識別子など別のバケット名を試してください。このチュートリアル全体で、バケット名を **amzn-s3-demo-bucket** に置き換えます。  
Amazon S3 バケットは、ターゲット Amazon EC2 インスタンスが起動されるのと同じ AWS リージョンに作成する必要があります。例えば、バケットを米国東部 (バージニア北部) リージョンで作成する場合、対象の Amazon EC2 インスタンスを米国東部 (バージニア北部) リージョンで起動する必要があります。

**Topics**
+ [Amazon S3 バケット (CLI) の作成](#tutorials-windows-upload-application-create-s3-bucket-cli)
+ [Amazon S3 バケット (コンソール) の作成](#tutorials-windows-upload-application-create-s3-bucket-console)
+ [Amazon S3 バケットと AWS アカウントにアクセス許可を付与する](#tutorials-windows-upload-application-create-s3-bucket-grant-permission)

### Amazon S3 バケット (CLI) の作成
<a name="tutorials-windows-upload-application-create-s3-bucket-cli"></a>

**mb** コマンドを呼び出して、**amzn-s3-demo-bucket** という名前の Amazon S3 バケットを作成します。

```
aws s3 mb s3://amzn-s3-demo-bucket --region region
```

### Amazon S3 バケット (コンソール) の作成
<a name="tutorials-windows-upload-application-create-s3-bucket-console"></a>

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. Amazon S3 コンソールで [**バケットの作成**] を選択します。

1. [**Bucket name**] ボックスで、バケットの名前を入力します。

1. [**Region**] リストで、ターゲットリージョンを選択し、[**Create**] を選択します。

### Amazon S3 バケットと AWS アカウントにアクセス許可を付与する
<a name="tutorials-windows-upload-application-create-s3-bucket-grant-permission"></a>

Amazon S3 バケットへのアップロードには、許可が必要です。Amazon S3 バケットポリシーで、これらのアクセス許可を指定できます。たとえば、次の Amazon S3 バケットポリシーでは、ワイルドカード文字 (\$1) を使用すると、 AWS アカウント`111122223333`は という名前の Amazon S3 バケット内の任意のディレクトリにファイルをアップロードできます`amzn-s3-demo-bucket`。

```
{
    "Statement": [
        {
            "Action": [
                "s3:PutObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Principal": {
                "AWS": [
                    "111122223333"
                ]
            }
        }
    ]
}
```

 AWS アカウント ID を表示するには、[AWS 「アカウント ID の検索](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId)」を参照してください。

今は、Amazon S3 バケットが参加している各 Amazon EC2 インスタンスからのダウンロードリクエストを許可していることを確認するのに適した時期です。Amazon S3 バケットポリシーで、これを指定できます。例えば、次の Amazon S3 バケットポリシーでは、ワイルドカード文字 (\$1) を使用すると、ARN `arn:aws:iam::444455556666:role/CodeDeployDemo` を含む IAM インスタンスプロファイルがアタッチされた Amazon EC2 インスタンスが、`amzn-s3-demo-bucket` という名前の Amazon S3 バケットの任意のディレクトリからファイルをダウンロードすることを許可します。

```
{
    "Statement": [
        {
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::444455556666:role/CodeDeployDemo"
                ]
            }
        }
    ]
}
```

Amazon S3 バケットポリシーを生成しアタッチする方法の詳細については、「[バケットポリシーの例](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html)」を参照してください。

[ステップ 1: セットアップ](getting-started-setting-up.md) で作成した CodeDeploy 管理ユーザーに Amazon S3 バケットにリビジョンをアップロードするアクセス許可が必要です。これを指定する 1 つの方法は、IAM ポリシーを使用してユーザーのアクセス権限セットに追加するか、IAM ロール (ユーザーに引き受けを許可する) に追加することです。次の IAM ポリシーでは、ユーザーが `amzn-s3-demo-bucket` という名前の Amazon S3 バケット内の任意の場所でリビジョンをアップロードできるようにします。

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

****  

```
{
  "Version":"2012-10-17",		 	 	   
  "Statement":[
    {
      "Effect":"Allow",
      "Action":["s3:PutObject"],
      "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*"
    }
  ]
}
```

------

IAM ポリシーの作成方法については、「IAM ユーザーガイド**」の「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。アクセス権限セットにポリシーを追加する方法については、「AWS IAM アイデンティティセンター ユーザーガイド**」の「[アクセス権限セットを作成します。](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtocreatepermissionset.html)」を参照してください。

## バケットのアプリケーションファイルを準備する
<a name="tutorials-windows-upload-application-prepare-application-files"></a>

ウェブページ、AppSpec ファイル、およびスクリプトが開発マシン上で次のように整理されていることを確認します。

```
c:\
  |-- temp\
        |--HelloWorldApp\
             |-- appspec.yml
             |-- before-install.bat
             |-- index.html
```

## アプリケーションのファイルを 1 つのアーカイブファイルにバンドルし、アーカイブファイルをプッシュする
<a name="tutorials-windows-upload-application-bundle-and-push-archive"></a>

ファイルをアーカイブファイル (アプリケーション*リビジョン*とも呼ばれる) にバンドルします。

**注記**  
バケットにオブジェクトを保存したり、バケットの内外にアプリケーションのリビジョンを転送したりする場合に課金されることがあります。詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

1. 開発マシンで、ファイルが保存されたフォルダに切り替えます。

   ```
   cd c:\temp\HelloWorldApp
   ```
**注記**  
このフォルダに切替わらなければ、ファイルのバンドルは現在のフォルダで起動されます。例えば、現在のフォルダが `c:\temp` ではなく `c:\temp\HelloWorldApp` である場合、バンドルは、`c:\temp` サブフォルダ以上を含む可能性のある `HelloWorldApp` フォルダ内のファイルとサブフォルダから開始します。

1. **create-application** コマンドを呼び出して、**HelloWorld\$1App** という名前の新しいアプリケーションを CodeDeploy に登録します。

   ```
   aws deploy create-application --application-name HelloWorld_App
   ```

1. CodeDeploy び [push](https://docs.aws.amazon.com/cli/latest/reference/deploy/push.html) コマンドを呼び出してファイルをまとめてバンドルし、Amazon S3 にリビジョンをアップロードし、アップロードされたリビジョンに関する情報を 1 つの操作で CodeDeploy に登録します。

   ```
   aws deploy push --application-name HelloWorld_App --s3-location s3://amzn-s3-demo-bucket/HelloWorld_App.zip --ignore-hidden-files
   ```

   このコマンドは、現在のディレクトリ (隠しファイルを除く) から、`HelloWorld_App.zip` という名前の 1 つのアーカイブファイルにファイルをバンドルし、リビジョンを **amzn-s3-demo-bucket** バケットにアップロードし、CodeDeploy でアップロードしたリビジョンについての情報を登録します。

# ステップ 4: Hello World アプリケーションをデプロイする
<a name="tutorials-windows-deploy-application"></a>

ここで、Amazon S3 にアップロードした Hello World サンプルアプリケーションのリビジョンをデプロイします。 AWS CLI または CodeDeploy ンソールを使用して、リビジョンをデプロイし、デプロイのの進行状況をモニタリングします。アプリケーションリビジョンが正常にデプロイされた後に、その結果を確認します。

**Topics**
+ [CodeDeploy を使用して、アプリケーションリビジョンをデプロイします。](#tutorials-windows-deploy-application-create-deployment)
+ [デプロイをモニタリングおよびトラブルシューティングします。](#tutorials-windows-deploy-application-monitor)
+ [デプロイの確認](#tutorials-windows-deploy-application-verify)

## CodeDeploy を使用して、アプリケーションリビジョンをデプロイします。
<a name="tutorials-windows-deploy-application-create-deployment"></a>

 アプリケーションをデプロイするには、CLI またはコンソールを使用できます。

**Topics**
+ [アプリケーションリビジョン (CLI) をデプロイするには](#tutorials-windows-deploy-application-create-deployment-cli)
+ [アプリケーションリビジョン (コンソール) のデプロイ](#tutorials-windows-deploy-application-create-deployment-console)

### アプリケーションリビジョン (CLI) をデプロイするには
<a name="tutorials-windows-deploy-application-create-deployment-cli"></a>

1. まず、デプロイにはデプロイグループが必要です。ただし、デプロイグループを作成する前に、サービスロール ARN が必要です。サービスロールは、ユーザーに代わってサービスアクセス権限を付与する IAM ロールです。この場合、サービスロールは、Amazon EC2 インスタンスにアクセスして Amazon EC2 インスタンスタグを拡張 (読み込み) するためのアクセス権限を CodeDeploy に付与します。

   すでに [サービスロールの作成 (CLI)](getting-started-create-service-role.md#getting-started-create-service-role-cli) の手順に従ってサービスロールを作成している必要があります。サービスロールの ARN を取得するには、「[サービスロール ARN の取得 (CLI)](getting-started-create-service-role.md#getting-started-get-service-role-cli)」を参照してください。

1. ARN を取得したら、**create-deployment-group** コマンドを呼び出して、**HelloWorld\$1DepGroup** という名前のアプリケーションと関連付けられる **HelloWorld\$1App** という名前のデプロイグループを作成し、**CodeDeployDemo** という名前の Amazon EC2 インスタンスタグと、サービスロールARNと関連付けられる **CodeDeployDefault.OneAtATime** という名前のデプロイ設定を使用します。

   ```
   aws deploy create-deployment-group --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --deployment-config-name CodeDeployDefault.OneAtATime --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE --service-role-arn serviceRoleARN
   ```
**注記**  
-[デプロイメントグループの作成](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html) コマンドは、デプロイおよびインスタンス内の指定されたイベントについて、トピックサブスクライバーに Amazon SNS 通知を送信するトリガーの作成に対応しています。このコマンドは、Amazon CloudWatch アラームのモニタリングしきい値が満たされたときにデプロイを自動的にロールバックし、デプロイを停止するアラームを設定するオプションもサポートします。このチュートリアルでは、これらのアクションに関するコマンドは含まれていません。

1. デプロイを作成する前に、デプロイグループのインスタンスに CodeDeploy エージェントがインストールされている必要があります。 AWS Systems Manager で次のコマンドを使用して、コマンドラインからエージェントをインストールできます。

   ```
   aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tag:Name,Values=CodeDeployDemo --parameters action=Install,name=AWSCodeDeployAgent --schedule-expression "cron(0 2 ? * SUN *)" 
   ```

   このコマンドは、CodeDeploy エージェントをインストールし、毎週日曜日の午前 2:00 に更新を試行する関連付けを Systems Manager ステートマネージャーに作成します。CodeDeploy エージェントの詳細については、「[CodeDeploy エージェントの使用](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent.html)」を参照してください。Systems Manager のさらなる詳細については、「[AWS Systems Managerとは](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)」 を参照してください。

1. 次に、**create-deployment** コマンドを呼び出して、**amzn-s3-demo-bucket** という名前のバケットで **HelloWorld\$1App.zip** という名前のアプリケーションバージョンを使用して、**HelloWorld\$1App** という名前のアプリケーション、**CodeDeployDefault.OneAtATime** という名前のデプロイ設定と **HelloWorld\$1DepGroup** という名前のデプロイグループに関連付けられるデプロイを作成します。

   ```
   aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,key=HelloWorld_App.zip
   ```

### アプリケーションリビジョン (コンソール) のデプロイ
<a name="tutorials-windows-deploy-application-create-deployment-console"></a>

1. CodeDeploy コンソールを使用してアプリケーションリビジョンをデプロイする前に、サービスロール ARN が必要になります。サービスロールは、ユーザーに代わってサービスアクセス権限を付与する IAM ロールです。この場合、サービスロールは、Amazon EC2 インスタンスにアクセスして Amazon EC2 インスタンスタグを拡張 (読み込み) するためのアクセス権限を CodeDeploy に付与します。

   すでに [サービスロールの作成 (コンソール)](getting-started-create-service-role.md#getting-started-create-service-role-console) の手順に従ってサービスロールを作成している必要があります。サービスロールの ARN を取得するには、「[サービスロール ARN の取得 (コンソール)](getting-started-create-service-role.md#getting-started-get-service-role-console)」を参照してください。

1. ARN があるため、CodeDeploy コンソールを使用して、アプリケーションリビジョンをデプロイできます。

   にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで [**デプロイ**] を展開し、[**アプリケーション**] を選択します。

1. [**HelloWorld\$1App**] を選択します。

1. [**デプロイグループ**] タブで、[**デプロイグループの作成**] を選択します。

1. **[Deployment group name]** (デプロイグループ名) に「**HelloWorld\$1DepGroup**」と入力します。

1. [**サービスロール**] で、サービスロールの名前を選択します。

1. [**デプロイタイプ**] で、[**インプレース**] を選択します。

1. [**環境設定**] で、[**Amazon EC2 インスタンス**] を選択します。

1. **を使用した エージェント設定 AWS Systems Manager**では、デフォルトのままにします。

1. **[Key]** (キー) に、「**Name**」と入力します。

1. **[値]** には「**CodeDeployDemo**」と入力します。

1. [**デプロイ設定**] で [**CodeDeployDefault.OneAtATime**] を選択します。

1. [**ロードバランサー**] で、[**Enable load balancing (ロードバランシングの有効化)**] をオフにします。

1. **デプロイグループの作成** を選択します。

1. **[デプロイの作成]** を選択します。

1. [**Deployment group**] で、[**HelloWorld\$1DepGroup**] を選択します。

1. [**リビジョンタイプ**] では [**アプリケーションは Amazon S3 に格納されています**] を選択し、[**リビジョンの場所**] では以前に Amazon S3 にアップロードしたサンプルの Hello World アプリケーションリビジョンの場所を入力します。場所の取得

   1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

   1. バケットのリストで、**[amzn-s3-demo-bucket]** (または、アプリケーションリビジョンをアップロードしたバケットの名前) を選択します。

   1. オブジェクトのリストで、**HelloWorld\$1App.zip** を選択します。

   1. [**概要**] タブで、[**パスのコピー**] を選択します。

   1. CodeDeploy コンソールに戻り、**[リビジョンの場所]** に **[リンク]** フィールドの値を貼り付けます。

1. [**リビジョンファイルの種類**] で、[**.zip**] を選択します。

1. (オプション) [**デプロイの説明**] にコメントを入力します。

1. **[デプロイの作成]** を選択します。新しく作成されたデプロイに関する情報は [**Deployments**] ページに表示されます。

## デプロイをモニタリングおよびトラブルシューティングします。
<a name="tutorials-windows-deploy-application-monitor"></a>

 AWS CLI または コンソールを使用して、デプロイをモニタリングおよびトラブルシューティングします。

**Topics**
+ [デプロイ (CLI) をモニタリングおよびトラブルシューティングするには](#tutorials-windows-deploy-application-monitor-cli)
+ [デプロイ (コンソール) をモニタリングおよびトラブルシューティングするには](#tutorials-windows-deploy-application-monitor-console)

### デプロイ (CLI) をモニタリングおよびトラブルシューティングするには
<a name="tutorials-windows-deploy-application-monitor-cli"></a>

1. **HelloWorld\$1App** という名前のアプリケーションと **HelloWorld\$1DepGroup** という名前のデプロイグループに対して **list-deployments** コマンドを呼び出して、デプロイの ID を取得します。

   ```
   aws deploy list-deployments --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --query "deployments" --output text
   ```

1. デプロイ ID を使用して **get-deployment** コマンドを呼び出します。

   ```
   aws deploy get-deployment --deployment-id deploymentID --query "deploymentInfo.status" --output text
   ```

1. コマンドはデプロイの全体ステータスを返します。成功すると、値は `Succeeded` になります。

   全体的なステータスが `Failed` の場合、[list-deployment-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-instances.html) や [デプロイメントインスタンスの取得](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html) などのコマンドを呼び出してトラブルシューティングを行います。トラブルシューティングの他のオプションについては、「[ログファイルの分析によるインスタンスでのデプロイの失敗の調査](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures)」を参照してください。

### デプロイ (コンソール) をモニタリングおよびトラブルシューティングするには
<a name="tutorials-windows-deploy-application-monitor-console"></a>

CodeDeploy コンソール の [**Deployments**] ページで、[**Status**] 列でデプロイのステータスをモニタリングできます。

特に [**Status**] 列の値が [**Succeeded**] 以外の値である場合にデプロイに関する詳細情報を取得するには。

1. [**デプロイ**] テーブルで、デプロイ ID を選択します。デプロイが失敗したら、失敗の原因を説明するメッセージがデプロイの詳細ページに表示されます。

1. インスタンスのデプロイに関する詳細情報が表示されます。デプロイ失敗後、デプロイが失敗した Amazon EC2 インスタンスおよびステップを特定できる場合があります。

1. より多くのトラブルシューティングを行う場合、[CodeDeploy を用いてインスタンスの詳細の表示](instances-view-details.md) のような手法を使用できます。また、Amazon EC2 インスタンスでデプロイログファイルを分析できます。詳細については、「[ログファイルの分析によるインスタンスでのデプロイの失敗の調査](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures)」を参照してください。

## デプロイの確認
<a name="tutorials-windows-deploy-application-verify"></a>

デプロイが成功したら、インストールが動作していることを確認します。Amazon EC2 インスタンスのパブリック DNS アドレスを使用して、ウェブブラウザのウェブページを表示します。(Amazon EC2 コンソールでパブリック DNS 値を取得するには、 Amazon EC2 インスタンスを選択して **[説明]** タブで **[パブリック DNS]** で値を探します。)

例えば、Amazon EC2 インスタンスのパブリック DNS アドレスが **ec2-01-234-567-890.compute-1.amazonaws.com** である場合、次の URL を使用します。

```
http://ec2-01-234-567-890.compute-1.amazonaws.com
```

成功すると、Hello World ウェブページが表示されます。

# ステップ 5:「Hello World\$1」を更新およびデプロイする アプリケーション
<a name="tutorials-windows-update-and-redeploy-application"></a>

アプリケーションリビジョンを正常にデプロイしたので、開発マシンでウェブページのコードを更新し、CodeDeploy を使用してサイトを再デプロイします。デプロイ後、Amazon EC2 インスタンスで変更を確認できます。

**Topics**
+ [ウェブページの変更](#tutorials-windows-update-and-redeploy-application-modify-code)
+ [サイトの再デプロイ](#tutorials-windows-update-and-redeploy-application-deploy-updates)

## ウェブページの変更
<a name="tutorials-windows-update-and-redeploy-application-modify-code"></a>

1. `c:\temp\HelloWorldApp` サブフォルダに移動して、テキストエディタを使用して `index.html` ファイルを変更します。

   ```
   cd c:\temp\HelloWorldApp
   notepad index.html
   ```

1. `index.html` ファイルのコンテンツを改訂するために、ウェブページの背景色と一部のテキストを変更し、ファイルを保存します。

   ```
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html>
   <head>
     <title>Hello Again, World!</title>
     <style>
       body {
         color: #ffffff;
         background-color: #66cc00;
         font-family: Arial, sans-serif;  
         font-size:14px;
       }
     </style>
   </head>
   <body>
     <div align="center"><h1>Hello Again, World!</h1></div>
     <div align="center"><h2>You have successfully deployed a revision of an application using CodeDeploy</h2></div>
     <div align="center">
       <p>What to do next? Take a look through the <a href="https://aws.amazon.com/codedeploy">CodeDeploy Documentation</a>.</p>
     </div>
   </body>
   </html>
   ```

## サイトの再デプロイ
<a name="tutorials-windows-update-and-redeploy-application-deploy-updates"></a>

コードを変更したので、Amazon S3 と CodeDeploy を使用して、ウェブページを再デプロイします。

「[アプリケーションのファイルを 1 つのアーカイブファイルにバンドルし、アーカイブファイルをプッシュする](tutorials-windows-upload-application.md#tutorials-windows-upload-application-bundle-and-push-archive)」の説明に従って、変更内容をバンドルして Amazon S3 にアップロードします。(これらの手順に従うときに、新しいアプリケーションを作成する必要はありません。) このリビジョンに以前と同じキーを指定します (**HelloWorld\$1App.zip**)。それを先に作成した同じ Amazon S3 バケットにアップロードします (例: **amzn-s3-demo-bucket**)。

 AWS CLI または CodeDeploy コンソールを使用してサイトを再デプロイします。

**Topics**
+ [サイト (CLI) に再デプロイするには](#tutorials-windows-update-and-redeploy-application-deploy-updates-cli)
+ [サイト (コンソール) の再デプロイ](#tutorials-windows-update-and-redeploy-application-deploy-updates-console)

### サイト (CLI) に再デプロイするには
<a name="tutorials-windows-update-and-redeploy-application-deploy-updates-cli"></a>

**create-deployment** コマンドを呼び出して、**amzn-s3-demo-bucket** という名前のバケットにある、**HelloWorld\$1App** という名前のアプリケーション、**CodeDeployDefault.OneAtATime** という名前のデプロイ設定、**HelloWorld\$1DepGroup** という名前のデプロイグループ、および **HelloWorld\$1App.zip** という名前のリビジョンをそれぞれ再度使用して、アップロードしたリビジョンに基づくデプロイを作成します。

```
 aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,key=HelloWorld_App.zip
```

「[デプロイをモニタリングおよびトラブルシューティングします。](tutorials-windows-deploy-application.md#tutorials-windows-deploy-application-monitor)」に説明されているように、新しいデプロイのステータスを確認できます。

CodeDeploy でサイトを再デプロイしたら、ウェブブラウザでサイトに再度アクセスし、ウェブページの背景色とテキストが変更されていることを確認します。(ブラウザを更新することが必要な場合があります。) 背景色とテキストが変更されていれば、これで完了です。サイトは変更され、再デプロイされています。

### サイト (コンソール) の再デプロイ
<a name="tutorials-windows-update-and-redeploy-application-deploy-updates-console"></a>

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで、[**アプリケーション**] を選択します。

1. [**アプリケーション**] リストで、[**HelloWorld\$1App**] を選択します。

1. [**デプロイ**] タブで、[**デプロイの作成**] を選択します。

   1. [**Deployment group**] リストで、[**HelloWorld\$1DepGroup**] を選択します。

   1.  **[リビジョンの場所]** に、リビジョンの Amazon S3 リンクを入力します。

      リンク値の確認

      1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

         **amzn-s3-demo-bucket** を参照して開いた後、Amazon S3 コンソールでリビジョン、**HelloWorld\$1App.zip** を選択します。

      1. [**Properties**] ペインが Amazon S3 コンソールに表示されない場合、[**Properties**] ボタンを選択します。

      1. [**プロパティ**] ペインで、[**リンク**] フィールドの値をコピーします 

      1. CodeDeploy コンソールに戻り、**[リビジョンの場所]** にリンクを貼り付けます。

   1. [**リビジョンファイルの種類**] で、ファイルの種類を検出できないというメッセージが表示された場合は、[**.zip**] を選択します。

   1. [**デプロイメントの説明**] は空白のままにしておきます。

   1. [**Deployment group overrides (デプロイグループのオーバーライド)**] を展開し、[**デプロイ設定**] リストで、[**CodeDeployDefault.OneAtATime**]、[**デプロイの作成**] の順に選択します。

      「[デプロイをモニタリングおよびトラブルシューティングします。](tutorials-windows-deploy-application.md#tutorials-windows-deploy-application-monitor)」に説明されているように、デプロイのステータスを確認できます。

      CodeDeploy でサイトを再デプロイしたら、ウェブブラウザでサイトに再度アクセスし、ウェブページの背景色とテキストが変更されていることを確認します。(ブラウザを更新することが必要な場合があります。) 背景色とテキストが変更されていれば、これで完了です。サイトは変更され、再デプロイされています。

# ステップ 6: 「Hello, World\$1」をクリーンアップする アプリケーションと関連リソース
<a name="tutorials-windows-clean-up"></a>

これで「Hello, World\$1」コードを正常に更新しました。コードを記述し、サイトを再デプロイします。このチュートリアルを完了するために作成したリソースの継続的な料金の発生を回避するため、以下を削除する必要があります。
+  CloudFormation スタック (または、 の外部で作成した Amazon EC2 インスタンス) CloudFormation。
+ Amazon S3 バケットの場合。
+ CodeDeploy 内の `HelloWorld_App` アプリケーションの名前です。
+ CodeDeploy エージェントの AWS Systems Manager ステートマネージャーの関連付け。

クリーンアップを実行するには AWS CLI、、 CloudFormation、Amazon S3、Amazon EC2、CodeDeploy コンソール、または AWS APIsを使用できます。

**Topics**
+ [クリーンアップリソース (CLI) の使用](#tutorials-windows-clean-up-cli)
+ [リソース (コンソール) をクリーンアップするには](#tutorials-windows-clean-up-console)
+ [次のステップ](#tutorials-windows-clean-up-whats-next)

## クリーンアップリソース (CLI) の使用
<a name="tutorials-windows-clean-up-cli"></a>

1. このチュートリアルで CloudFormation スタックを使用した場合は、 という名前のスタックに対して **delete-stack** コマンドを呼び出してスタックを削除します**CodeDeployDemoStack**。これにより、すべての付随する Amazon EC2 インスタンスが削除され、スタックによって最初に作成されたすべての付随する IAM ロールが削除されます。

   ```
   aws cloudformation delete-stack --stack-name CodeDeployDemoStack
   ```

1. Amazon S3 バケットを削除するには、**rm** スイッチを使用して **--recursive** という名前のバケットに対して **amzn-s3-demo-bucket** コマンドを呼び出します。これにより、バケットとバケット内のすべてのオブジェクトが削除されます。

   ```
   aws s3 rm s3://amzn-s3-demo-bucket --recursive --region region
   ```

1. CodeDeploy から `HelloWorld_App` アプリケーションを削除する場合、**delete-application** コマンドを呼び出します。これにより、すべての関連するデプロイグループレコードと、アプリケーションのデプロイレコードが削除されます。

   ```
   aws deploy delete-application --application-name HelloWorld_App
   ```

1. Systems Manager ステートマネージャーの関連付けを削除する場合、**delete-association** コマンドを呼び出します。

   ```
   aws ssm delete-association --assocation-id association-id
   ```

   **describe-association** コマンドを呼び出して、*アソシエーション ID* を取得することができます。

   ```
   aws ssm describe-association --name AWS-ConfigureAWSPackage --targets Key=tag:Name,Values=CodeDeployDemo
   ```

1. このチュートリアルで CloudFormation スタックを使用しなかった場合は、 **terminate-instances** コマンドを呼び出して、手動で作成した Amazon EC2 インスタンスを終了します。終了する Amazon EC2 インスタンスの ID を指定します。

   ```
   aws ec2 terminate-instances --instance-ids instanceId
   ```

## リソース (コンソール) をクリーンアップするには
<a name="tutorials-windows-clean-up-console"></a>

このチュートリアルで CloudFormation テンプレートを使用した場合は、関連する CloudFormation スタックを削除します。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソールを開きます。

1. 検索ボックスに、 CloudFormation スタック名 ( など**CodeDeployDemoStack**) を入力します。

1. スタック名の横のチェックボックスをオンにします。

1. [**Actions**] メニューで、[**Delete Stack**] を選択します。これにより、スタックが削除され、すべての付随する Amazon EC2 インスタンスとすべての付随する IAM ロールも削除されます。

 CloudFormation スタックの外部で作成した Amazon EC2 インスタンスを終了するには:

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) で Amazon EC2 コンソールを開きます。

1. [**Instances**] エリアで、[**Instances**] を選択します。

1. 検索ボックスで、削除する Amazon EC2 インスタンスの名前を入力し、**[Enter]** キーを押します。

1. Amazon EC2 インスタンスを選択します。

1. [**Actions**] を選択して [**Instance State**] をポイントし、[**Terminate**] を選択します。プロンプトが表示されたら、[**Yes, Terminate**] を選択します。追加の Amazon EC2 インスタンスに対して、これらのステップを繰り返します。

Amazon S3 バケットの削除

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

1. バケットのリストで、Amazon S3 バケットの名前 (**amzn-s3-demo-bucket** など) を参照して選択します。

1. バケットを削除する前に、まず、そのコンテンツを削除する必要があります。**HelloWorld\$1App.zip** のようなバケット内のすべてのファイルを選択します。[**Actions**] メニューで、[**Delete**] を選択します。削除を確認するプロンプトが表示されたら、[**OK**] を選択します。

1. バケットが空になると、バケットを削除できます。バケットのリストで、バケットの行 (バケット名ではなく) を選択します。[**Delete bucket**] を選択し、確認が求められたら [**OK**] を選択します。

CodeDeploy から `HelloWorld_App` アプリケーションの削除

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで [**デプロイ**] を展開し、[**アプリケーション**] を選択します。

   

1. **`HelloWorld_App`** を選択します。

1. [**アプリケーションを削除**] を選択します。

1. 確認を求めるメッセージが表示されたら、**Delete**と入力し、[**削除**] を選択してください。

Systems Manager ステートマネージャーの関連付けの削除。

1. https://console.aws.amazon.com/systems-manager で AWS Systems Manager コンソールを開きます。

1. ナビゲーションペインで、[**ステートマネージャー**] を選択してください。

1. 作成した関連付けを選択し、[**削除**] を選択します。

## 次のステップ
<a name="tutorials-windows-clean-up-whats-next"></a>

ここまでの作業で、CodeDeploy を使って正常にデプロイを完了しました。お疲れ様でした。