手順 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:00 に更新を試みます。エージェントの詳細については、「 CodeDeploy エージェントの操作」を参照してください。 CodeDeploy Systems Manager のさらなる詳細については、「AWS Systems Manager とは」 を参照してください。

  4. 次に、create-deployment コマンドを呼び出して、codedeploydemobucket という名前のバケットで 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=codedeploydemobucket,bundleType=zip,key=WordPressApp.zip

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

  1. CodeDeploy コンソールを使用してアプリケーションリビジョンをデプロイする前に、サービスロール ARN が必要になります。サービスロールは、ユーザーに代わってサービスアクセス権限を付与する IAM ロールです。この場合、サービスロールは、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] が [Matching instances] の下に表示され、一致する 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. Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

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

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

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

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

      https://s3.amazonaws.com/codedeploydemobucket/WordPressApp.zip

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

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

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

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

  20. [Start deployment (デプロイの開始)] を選択します。新しく作成されたデプロイに関する情報は [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 になります。

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

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

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

特に [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 インスタンスのセキュリティグループにインバウンドルールがあることを確認します。詳細については、「 Amazon Linux または RHEL Amazon EC2 インスタンスへの HTTP トラフィックを許可するインバウンドルールを追加する Windows サーバー Amazon EC2 インスタンスへの HTTP トラフィックを許可するインバウンドルールを追加する」を参照してください。