翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
アプリケーションの作成、アップロード、デプロイ
まず、WordPress アプリケーションバンドルを作成し、CodeDeploy CT を使用してアプリケーションを作成してデプロイします。 CTs
WordPress をダウンロードし、ファイルを抽出して ./scripts ディレクトリを作成します。
Linux コマンド:
wget https://github.com/WordPress/WordPress/archive/master.zipWindows: ブラウザウィンドウ
https://github.com/WordPress/WordPress/archive/master.zipに貼り付け、zip ファイルをダウンロードします。パッケージをアセンブルする一時ディレクトリを作成します。
Linux:
mkdir /tmp/WordPressWindows: WordPress」ディレクトリを作成します。後でディレクトリパスを使用します。
WordPress ソースをWordPress」ディレクトリに抽出し、./scripts ディレクトリを作成します。
Linux:
unzip master.zip -d /tmp/WordPress_Temp cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress rm -rf /tmp/WordPress_Temp rm -f master cd /tmp/WordPress mkdir scriptsWindows: 作成したWordPress」ディレクトリに移動し、そこに「scripts」ディレクトリを作成します。
Windows 環境の場合は、スクリプトファイルのブレークタイプを Unix (LF) に設定してください。Notepad ++ では、これはウィンドウの右下にあるオプションです。
WordPress ディレクトリに CodeDeploy appspec.yml ファイルを作成します (例をコピーする場合は、インデントと各スペース数を確認します)。重要: WordPress ファイル (この場合は WordPress ディレクトリ) を目的の宛先 (/var/www/html/WordPress) にコピーするための WordPress 「ソース」パスが正しいことを確認します。この例では、appspec.yml ファイルは WordPress ファイルを含む ディレクトリにあるため、「/」のみが必要です。また、Auto Scaling グループに RHEL AMI を使用した場合でも、「os: linux」行はそのままにしておきます。appspec.yml ファイルの例:
version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/config_wordpress.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root-
WordPress ./scripts ディレクトリに bash ファイルスクリプトを作成します。
まず、次の内容
config_wordpress.shで を作成します (必要に応じて、wp-config.php ファイルを直接編集できます)。注記
DBNameを HA スタック RFC で指定された値 (例: ) に置き換えますwordpress。DB_MasterUsernameを HA スタック RFC で指定されたMasterUsername値 ( などadmin) に置き換えます。DB_MasterUserPasswordを HA スタック RFC で指定されたMasterUserPassword値 (例: ) に置き換えますp4ssw0rd。DB_ENDPOINTを HA スタック RFC の実行出力のエンドポイント DNS 名 (例: ) に置き換えますsrt1cz23n45sfg.clgvd67uvydk.us-east-1.rds.amazonaws.com。これは、GetRfc オペレーション (CLI: get-rfc --rfc-id RFC_ID) または以前に送信した HA スタック RFC の AMS コンソール RFC の詳細ページで確認できます。#!/bin/bash chmod -R 755 /var/www/html/WordPress cp /var/www/html/WordPress/wp-config-sample.php /var/www/html/WordPress/wp-config.php cd /var/www/html/WordPress sed -i "s/database_name_here/DBName/g" wp-config.php sed -i "s/username_here/DB_MasterUsername/g" wp-config.php sed -i "s/password_here/DB_MasterUserPassword/g" wp-config.php sed -i "s/localhost/DB_ENDPOINT/g" wp-config.php 同じディレクトリに、次の内容
install_dependencies.shで を作成します。#!/bin/bash yum install -y php yum install -y php-mysql yum install -y mysql service httpd restart注記
HTTPS は、ヘルスチェックを最初から機能させるために、起動時にユーザーデータの一部としてインストールされます。
同じディレクトリに、次の内容
start_server.shで を作成します。Amazon Linux インスタンスの場合は、以下を使用します。
#!/bin/bash service httpd startRHEL インスタンスの場合は、以下を使用します (追加のコマンドは、SELINUX が WordPress を受け入れることを許可するポリシーです)。
#!/bin/bash setsebool -P httpd_can_network_connect_db 1 setsebool -P httpd_can_network_connect 1 chcon -t httpd_sys_rw_content_t /var/www/html/WordPress/wp-content -R restorecon -Rv /var/www/html service httpd start
同じディレクトリに、次の内容
stop_server.shで を作成します。#!/bin/bash service httpd stopzip バンドルを作成します。
Linux:
$ cd /tmp/WordPress $ zip -r wordpress.zip .Windows: WordPress」ディレクトリに移動し、すべてのファイルを選択して zip ファイルを作成します。必ず wordpress.zip という名前を付けます。
アプリケーションバンドルを S3 バケットにアップロードします。
スタックのデプロイを続行するには、バンドルを設定する必要があります。
作成した S3 バケットインスタンスに自動的にアクセスできます。踏み台または S3 コンソールからアクセスし、WordPress バンドルをdrag-and-dropでアップロードするか、zip ファイルを参照して選択できます。
シェルウィンドウで次のコマンドを使用することもできます。zip ファイルへの正しいパスがあることを確認してください。
aws s3 cp wordpress.zip s3://BUCKET_NAME/WordPress アプリケーションバンドルをデプロイします。
開始する前に次のデータを収集すると、デプロイがより速くなります。
必須データ:
VPC-ID: この値により、S3 バケットの場所が決まります。以前に使用したものと同じ VPC ID を使用します。CodeDeployApplicationNameおよびCodeDeployApplicationName: HA 2-Tierスタック RFC で使用したApplicationName値は、CodeDeployApplicationName と CodeDeployDeploymentGroupName を設定します。この例では「WordPress」を使用していますが、別の値を使用した可能性があります。S3Location: にはS3Bucket、BucketName以前に作成した を使用します。S3BundleTypeとS3Keyは、S3 ストアに配置したバンドルのものです。
CodeDeploy アプリケーションデプロイ CT の実行パラメータ JSON スキーマを DeployCDAppParams.json.
aws amscm get-change-type-version --change-type-id "ct-2edc3sd1sqmrb" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > DeployCDAppParams.jsonスキーマを次のように変更し、 として保存します。コンテンツを削除して置き換えることができます。
{ "Description": "DeployWPCDApp", "VpcId": "VPC_ID", "Name": "WordPressCDAppDeploy", "TimeoutInMinutes": 60, "Parameters": { "CodeDeployApplicationName": "WordPress", "CodeDeployDeploymentGroupName": "WordPress", "CodeDeployIgnoreApplicationStopFailures": false, "CodeDeployRevision": { "RevisionType": "S3", "S3Location": { "S3Bucket": "BUCKET_NAME", "S3BundleType": "zip", "S3Key": "wordpress.zip" } } } }CreateRfc の JSON テンプレートを、現在のフォルダの DeployCDAppRfc.json:
aws amscm create-rfc --generate-cli-skeleton > DeployCDAppRfc.jsonDeployCDAppRfc.json ファイルを変更して保存し、コンテンツを削除して置き換えることができます。
RequestedStartTimeとRequestedEndTimeはオプションになりました。これらを除外すると、承認されるとすぐに実行される ASAP RFC が作成されます (通常は自動的に実行されます)。スケジュールされた RFC を送信するには、これらの値を追加します。{ "ChangeTypeVersion": "1.0", "ChangeTypeId": "ct-2edc3sd1sqmrb", "Title": "CD-Deploy-For-WP-RFC" }DeployCDAppRfc ファイルと DeployCDAppParams 実行パラメータファイルを指定して、RFC を作成します。
aws amscm create-rfc --cli-input-json file://DeployCDAppRfc.json --execution-parameters file://DeployCDAppParams.jsonレスポンスで新しい RFC の RfcId を受け取ります。後続のステップの ID を保存します。
RFC を送信します。
aws amscm submit-rfc --rfc-idRFC_IDRFC が成功した場合、出力は受信されません。
RFC ステータスを確認するには、 を実行します。
aws amscm get-rfc --rfc-idRFC_ID