

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

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

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

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

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

 AWS CLI または コンソールを使用して、アプリケーションリビジョンをデプロイします。

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

### アプリケーションリビジョン (CLI) をデプロイするには
<a name="tutorials-wordpress-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** コマンドを呼び出し、**WordPress\$1DepGroup** という名前の Amazon EC2 タグと **WordPress\$1App** という名前のデプロイ設定を使用して、**CodeDeployDemo** という名前のアプリケーションと関連付けられる **CodeDeployDefault.OneAtATime** という名前のデプロイグループを作成します。

   ```
   aws deploy create-deployment-group \
     --application-name WordPress_App \
     --deployment-group-name WordPress_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** という名前のバケットで **WordPressApp.zip** という名前のアプリケーションバージョンを使用して、**WordPress\$1App** という名前のアプリケーション、**CodeDeployDefault.OneAtATime** という名前のデプロイ設定と **WordPress\$1DepGroup** という名前のデプロイグループに関連付けられるデプロイを作成します。

   ```
   aws deploy create-deployment \
     --application-name WordPress_App \
     --deployment-config-name CodeDeployDefault.OneAtATime \
     --deployment-group-name WordPress_DepGroup \
     --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,key=WordPressApp.zip
   ```

### アプリケーションリビジョン (コンソール) のデプロイ
<a name="tutorials-wordpress-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. アプリケーションのリストで、**WordPress\$1App** を選択します。

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

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

1. [**Deployment type**] で、[**In-place deployment**] を選択します。

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

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

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

1. **[値]** には「**CodeDeployDemo**」と入力します。
**注記**  
**CodeDeployDemo** と入力すると、[**1**] が [**Matching instances**] の下に表示され、CodeDeploy が一致する Amazon EC2 インスタンスを 1 つ見つけたことを確認します。

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

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

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

1. [**デプロイグループ**] で [**WordPress\$1DepGroup**] を選択します。

1. [**Repository type**] の横の [**My application is stored in Amazon S3**] を選択します。[**リビジョンの場所**] で、前に Amazon S3 にアップロードしたサンプルアプリケーション WordPress のリビジョンの場所を入力します。場所の取得

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

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

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

   1. [**概要**] タブで、[**リンク**] フィールドの値をクリップボードにコピーします。

      次のように表示されます。

      **https://s3.amazonaws.com/amzn-s3-demo-bucket/WordPressApp.zip**

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

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

1. (オプション) [**Deployment description**] ボックスにコメントを入力します。

1. [**Deployment group overrides (デプロイグループの上書き)**] を展開し、[**デプロイ設定**] から [**CodeDeployDefault.OneAtATime**] を選択します。

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

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

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

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

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

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

   ```
   aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_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-wordpress-deploy-application-monitor-console"></a>

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

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

1. [**デプロイ**] テーブルで、デプロイの名前を選択します。デプロイが失敗すると、失敗の原因を説明するメッセージが表示されます。

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

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

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

デプロイが成功したら、WordPress インストールが動作していることを確認します。Amazon EC2 インスタンスのパブリック DNS アドレスの後に `/WordPress` を使用して、ウェブブラウザのサイトを表示します。(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/WordPress
```

ブラウザでサイトを表示すると、次のような WordPress のウェルカムページが表示されます。

![\[WordPress ウェルカムページ\]](http://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/images/WordPress-Welcome-Page-013118.png)


 Amazon EC2 インスタンスで、HTTP インバウンドルールがそのセキュリティグループに追加されていない場合、WordPress ウェルカムページは表示されません。リモートサーバーが応答していないというメッセージが表示された場合は、Amazon EC2 インスタンスのセキュリティグループにインバウンドルールがあることを確認します。詳細については、「[HTTP トラフィックを許可するインバウンドルールの Amazon Linux または RHEL Amazon EC2 インスタンスへの追加Windows Server の Amazon EC2 インスタンスへの HTTP トラフィックを許可するインバウンドルールを追加する](tutorials-wordpress-launch-instance.md#tutorials-wordpress-launch-instance-add-inbound-rule)」を参照してください。