ステップ 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 タグCodeDeployDemoと という名前のデプロイ設定を使用してWordPress_App、 という名前のデプロイグループを作成します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 コマンドを呼び出して、amzn-s3-demo-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=amzn-s3-demo-bucket,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 が表示され、一致する Amazon EC2インスタンス 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. バケットのリストで、amzn-s3-demo-bucket (またはアプリケーションリビジョンをアップロードしたバケットの名前) を選択します。

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

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

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

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

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

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

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

  19. デプロイグループを展開して を上書きし、デプロイ設定 から を選択しますCodeDeployDefault。OneAtATime

  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、ウェブブラウザでサイトを表示します。(パブリックDNS値を取得するには、Amazon EC2コンソールで 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 インスタンスへの追加」を参照してください。