ステップ 4: アプリケーションをデプロイする WordPress - AWS CodeDeploy

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

ステップ 4: アプリケーションをデプロイする WordPress

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

でアプリケーションリビジョンをデプロイする CodeDeploy

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

アプリケーションリビジョン (CLI) をデプロイするには

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

    すでに サービスロールの作成 (CLI) の手順に従ってサービスロールを作成している必要があります。サービスロールの ARN を取得するには、「サービスロール ARN の取得 (CLI) 」を参照してください。

  2. サービスロールの ARN を取得したら、create-deployment-group コマンドを呼び出し、WordPress_DepGroup という名前の Amazon EC2 タグと WordPress_App という名前のデプロイ設定を使用して、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

    注記

    create-deployment-group コマンドは、デプロイとインスタンスで指定されたイベントに関する Amazon SNS 通知をトピックサブスクライバーに送信するトリガーの作成をサポートします。このコマンドは、Amazon アラームのモニタリングしきい値に達したときにデプロイを自動的にロールバックし、デプロイを停止するように CloudWatch アラームを設定するオプションもサポートしています。このチュートリアルでは、これらのアクションコマンドは含まれていません。

  3. デプロイを作成する前に、デプロイグループ内のインスタンスに 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 *)"

    このコマンドは、Systems Manager ステートマネージャーに関連付けを作成し、 CodeDeploy エージェントをインストールして、毎週日曜日の午前 2 時に更新を試みます。 CodeDeploy エージェントの詳細については、 CodeDeploy 「 エージェントの使用」を参照してください。Systems Manager のさらなる詳細については、「AWS Systems Managerとは」 を参照してください。

  4. 次に、create-deployment コマンドを呼び出して、DOC-EXAMPLE-BUCKET という名前のバケットで WordPressApp.zip という名前のアプリケーションバージョンを使用して、WordPress_App という名前のアプリケーション、CodeDeployDefault.OneAtATime という名前のデプロイ設定と WordPress_DepGroup という名前のデプロイグループに関連付けられるデプロイを作成します。

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

アプリケーションリビジョン (コンソール) のデプロイ

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

    すでに サービスロールの作成 (コンソール) の手順に従ってサービスロールを作成している必要があります。サービスロールの ARN を取得するには、「サービスロール ARN の取得 (コンソール) 」を参照してください。

  2. ARN を取得したら、 CodeDeploy コンソールを使用してアプリケーションリビジョンをデプロイします。

    にサインイン AWS Management Console し、https://console.aws.amazon.com/codedeploy で CodeDeploy コンソールを開きます。

    注記

    の開始方法 CodeDeploy」で設定したのと同じユーザーでサインインします。

  3. ナビゲーションペインで Deploy を展開し、Applications を選択します。

  4. アプリケーションのリストで、WordPress_App を選択します。

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

  6. [Deployment group name] (デプロイグループ名) に「WordPress_DepGroup」と入力します。

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

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

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

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

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

    注記

    と入力するとCodeDeployDemo一致するインスタンスの下に 1 が表示され、一致する Amazon EC2 インスタンスが 1 つ CodeDeploy 見つかったことが確認されます。

  12. デプロイ設定 でCodeDeployDefault.OneAtATime を選択します。

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

  14. [Create deployment] を選択します。

  15. [デプロイグループ] で [WordPress_DepGroup] を選択します。

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

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

    2. バケットのリストで、DOC-EXAMPLE-BUCKET (またはアプリケーションリビジョンをアップロードしたバケットの名前) を選択します。

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

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

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

      https://s3.amazonaws.com/DOC-EXAMPLE-BUCKET/WordPressApp.zip

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

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

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

  19. デプロイグループのオーバーライド を展開し、デプロイ設定 から .CodeDeployDefaultOneAtATime を選択します。

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

デプロイをモニタリングおよびトラブルシューティングします。

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

デプロイ (CLI) をモニタリングおよびトラブルシューティングするには

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

    aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query 'deployments' --output text
  2. デプロイ ID を使用して get-deployment コマンドを呼び出します。

    aws deploy get-deployment --deployment-id deploymentID --query 'deploymentInfo.status' --output text
  3. コマンドはデプロイの全体ステータスを返します。成功すると、値は Succeeded になります。

    全体的なステータスが の場合Failedlist-deployment-instancesや などのコマンドget-deployment-instanceを呼び出してトラブルシューティングを行うことができます。トラブルシューティングの他のオプションについては、「ログファイルの分析によるインスタンスでのデプロイの失敗の調査」を参照してください。

デプロイ (コンソール) をモニタリングおよびトラブルシューティングするには

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

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

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

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

  3. より多くのトラブルシューティングを行う場合、「View Instance Details」で説明されているような手法を使用できます。また、Amazon EC2 インスタンスでデプロイログファイルを分析できます。詳細については、「ログファイルの分析によるインスタンスでのデプロイの失敗の調査」を参照してください。

デプロイの確認

デプロイが成功したら、 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 ウェルカムページ

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