翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
インフラストラクチャを作成する
開始する前に次のデータを収集すると、デプロイがより速くなります。
必須データにはスタックがあります。
AutoScalingGroup:
UserData: この値は、このチュートリアルで提供されています。これには、CodeDeploy のリソースをセットアップし、CodeDeploy エージェントを起動するためのコマンドが含まれています。AMI-ID: この値は、Auto Scaling グループ (ASG) がスピンアップする EC2 インスタンスの種類を決定します。アカウントで「customer-」で始まり、目的のオペレーティングシステムの AMI を選択してください。AMS SKMS API リファレンスで AMI IDs を検索するには、AWS Artifact コンソールのレポートタブを参照してください。 オペレーション (CLI: list-amis) または AMS コンソール VPCs-> VPCsの詳細ページ。このチュートリアルは、Linux AMI を使用するように設定された ASGs を対象としています。
データベース:
これらのパラメータ 、
DBEngine、 は、例に示す値がテスト済みですがEngineVersion、状況に応じて設定LicenseModelする必要があります。これらのパラメータ 、
DBName、MasterUsername、MasterUserPasswordはRDSSubnetIds、アプリケーションバンドルをデプロイするときに必要です。RDSSubnetIds には、2 つのプライベートサブネットを使用します。
LoadBalancer:
これらのパラメータ 、
DBEngine、 は、例に示す値がテスト済みですがEngineVersion、状況に応じて設定LicenseModelする必要があります。ELBSubnetIds: 2 つのパブリックサブネットを使用します。
アプリケーション:
ApplicationName値は CodeDeploy アプリケーション名と CodeDeploy デプロイグループ名を設定します。これを使用してアプリケーションをデプロイします。アカウント内で一意である必要があります。アカウントで CodeDeploy 名を確認するには、CodeDeploy コンソール」を参照してください。この例では「WordPress」を使用していますが、その値を使用する場合は、まだ使用されていないことを確認してください。
この手順では、高可用性 2 層スタック (アドバンスド) CT (ct-06mjngx5flwto) と Create S3 storage CT (ct-1a68ck03fn98r) を使用します。認証されたアカウントから、コマンドラインで以下のステップに従います。
インフラストラクチャスタックを起動します。
HA 2 層スタック CT の実行パラメータ JSON スキーマを、CreateStackParams.json.
aws amscm get-change-type-version --change-type-id "ct-06mjngx5flwto" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateStackParams.jsonスキーマを変更します。必要に応じて
変数を置き換えます。たとえば、ASG が作成する EC2 インスタンスに必要な OS を使用します。後でアプリケーションのデプロイに使用するApplicationNameため、 を記録します。最大 50 個のタグを追加できます。{ "Description": "HA two tier stack for WordPress", "Name": "WordPressStack", "TimeoutInMinutes": 360, "Tags": [ { "Key": "ApplicationName", "Value": "WordPress" } ], "AutoScalingGroup": { "AmiId": "AMI-ID", "UserData": "#!/bin/bash \n REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//') \n yum -y install ruby httpd \n chkconfig httpd on \n service httpd start \n touch /var/www/html/status \n cd /tmp \n curl -O https://aws-codedeploy-$REGION.s3.amazonaws.com/latest/install \n chmod +x ./install \n ./install auto \n chkconfig codedeploy-agent on \n service codedeploy-agent start" }, "LoadBalancer": { "Public": true, "HealthCheckTarget": "HTTP:80/status" }, "Database": { "DBEngine": "MySQL", "DBName": "wordpress", "EngineVersion": "8.0.16 ", "LicenseModel": "general-public-license", "MasterUsername": "admin", "MasterUserPassword": "p4ssw0rd" }, "Application": { "ApplicationName": "WordPress" } }CreateStackRfc.CreateStackRfc.json:
aws amscm create-rfc --generate-cli-skeleton > CreateStackRfc.jsonRFC テンプレートを次のように変更して保存します。コンテンツを削除して置き換えることができます。
RequestedStartTimeとRequestedEndTimeはオプションになりました。これらを除外すると、承認されるとすぐに実行される ASAP RFC が作成されます (通常は自動的に実行されます)。スケジュールされた RFC を送信するには、これらの値を追加します。{ "ChangeTypeVersion": "3.0", "ChangeTypeId": "ct-06mjngx5flwto", "Title": "HA-Stack-For-WP-RFC" }CreateStackRfc.json ファイルと CreateStackParams.json 実行パラメータファイルを指定して、RFC を作成します。
aws amscm create-rfc --cli-input-json file://CreateStackRfc.json --execution-parameters file://CreateStackParams.jsonレスポンスで RFC ID を受け取ります。後続のステップの ID を保存します。
RFC を送信します。
aws amscm submit-rfc --rfc-id RFC_IDRFC が成功した場合、出力は受信されません。
RFC ステータスを確認するには、 を実行します。
aws amscm get-rfc --rfc-idRFC_ID
RFC ID を書き留めておきます。
S3 バケットを起動する
開始する前に次のデータを収集すると、デプロイがより速くなります。
必須データ S3 バケット:
VPC-ID: この値により、S3 バケットの場所が決まります。以前に使用したものと同じ VPC ID を使用します。BucketName: この値は S3 バケット名を設定します。これを使用してアプリケーションバンドルをアップロードします。アカウントのリージョン全体で一意である必要があり、大文字を含めることはできません。BucketName の一部としてアカウント ID を含めることは必須ではありませんが、後でバケットを識別しやすくなります。アカウントに存在する S3 バケット名を確認するには、アカウントの Amazon S3 コンソールに移動します。
S3 ストレージ作成 CT の実行パラメータ JSON スキーマを CreateS3StoreParams.json.
aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateS3StoreParams.jsonスキーマを次のように変更し、コンテンツを削除して置き換えることができます。
VPC_IDを適切に置き換えます。この例の値はテスト済みですが、適切ではない可能性があります。ヒント
はアカウントのリージョン全体で一意
BucketNameである必要があり、大文字を含めることはできません。BucketName の一部としてアカウント ID を含めることは必須ではありませんが、後でバケットを識別しやすくなります。アカウントに存在する S3 バケット名を確認するには、アカウントの Amazon S3 コンソールに移動します。{ "Description": "S3BucketForWordPressBundle", "VpcId": "VPC_ID", "StackTemplateId": "stm-s2b72beb000000000", "Name": "S3BucketForWP", "TimeoutInMinutes": 60, "Parameters": { "AccessControl": "Private", "BucketName": "ACCOUNT_ID-BUCKET_NAME" } }CreateRfc の JSON テンプレートを、CreateS3StoreRfc.json:
aws amscm create-rfc --generate-cli-skeleton > CreateS3StoreRfc.jsonCreateS3StoreRfc.json ファイルを変更して保存し、コンテンツを削除して置き換えることができます。
RequestedStartTimeとRequestedEndTimeはオプションになりました。これらを除外すると、承認されるとすぐに実行される ASAP RFC が作成されます (通常は自動的に実行されます)。スケジュールされた RFC を送信するには、これらの値を追加します。{ "ChangeTypeVersion": "1.0", "ChangeTypeId": "ct-1a68ck03fn98r", "Title": "S3-Stack-For-WP-RFC" }CreateS3StoreRfc.json ファイルと CreateS3StoreParams.json 実行パラメータファイルを指定して、RFC を作成します。
aws amscm create-rfc --cli-input-json file://CreateS3StoreRfc.json --execution-parameters file://CreateS3StoreParams.jsonレスポンスで新しい RFC の RfcId を受け取ります。後続のステップの ID を保存します。
RFC を送信します。
aws amscm submit-rfc --rfc-idRFC_IDRFC が成功した場合、出力は受信されません。
RFC ステータスを確認するには、 を実行します。
aws amscm get-rfc --rfc-idRFC_ID