ステップ 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という名前のアプリケーションに関連付けられています。WordPress_Appという名前の Amazon EC2 タグを使用します。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

    注記

    -デプロイメントグループの作成コマンドは、デプロイおよびインスタンス内の指定されたイベントについて、トピックサブスクライバーに 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で、CodeDeploy コンソールを開きます。https://console.aws.amazon.com/codedeploy

    注記

    で使用したのと同じアカウントまたは IAM ユーザー情報を使用してサインインします。CodeDeploy の開始方法

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

  4. アプリケーションのリストで、[]app

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

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

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

  8. Eclipse環境設定で、[]Amazon EC2 インスタンス

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

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

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

    注記

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

  12. Eclipseデプロイ設定で、CodeDeployDefault.OneAtATime

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

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

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

  16. [] の次へ[Repository type]で、アプリケーションは Amazon S3 に保存されます。。Eclipseリビジョンの場所で、前に Amazon S3 にアップロードしたサンプルの WordPress アプリケーションリビジョンの場所を入力します。場所を取得するには。

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

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

    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の場合、次のようなコマンドを呼び出すことができます。リスト・デプロイメント・インスタンスそしてデプロイメントインスタンスの取得のトラブルシューティングを行います。トラブルシューティングの他のオプションについては、「ログファイルの分析によるインスタンスでのデプロイの失敗の調査」を参照してください。

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

リポジトリの []デプロイページの CodeDeploy コンソールで、デプロイのステータスをモニタリングできます。ステータス列でロードバランサーの ID をクリックします。

特に [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 トラフィックを許可するインバウンドルールを追加するを参照してください。