WordPress、プラグインのアップデートしてBlue/Greenデプロイ
2021/07/10
現在のブログの構成です。
WordPressとプラグインのアップデートをして、デプロイしました。
まずEC2 Auto Scalingでインスタンス数を1にしました。
この状態にします。
4サイトをNginxバーチャルホストで公開していて、CloudFront経由にしています。
ローカルでhosts書き換えてアップデート用のEC2インスタンスを用意してAMI作ってもいいのですが、面倒なので、直接アップデートします。
TerminateされるEC2インスタンスがDrainingになりました。
Terminateされました。
作業を開始します。
まず、WrodPressとプラグインをアップデートしました。
静的なコンテンツはS3から配信しているので、SystemsManagerセッションマネージャからS3 Syncを実行しました。
これでアップデートされたローカルのファイルをアップロードできます。
静的ではないS3には要らないファイルもアップロードされますが、別にいいです。
4サイト分です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
cd /usr/share/nginx aws s3 sync uriwari/wp-content s3://yamamugi-uriwari/wp-content aws s3 sync uriwari/wp-includes s3://yamamugi-uriwari/wp-includes aws s3 sync eight/wp-content s3://yamamugi-bangai/wp-content aws s3 sync eight/wp-includes s3://yamamugi-bangai/wp-includes aws s3 sync charinko/wp-content s3://yamamugi-chari/wp-content aws s3 sync charinko/wp-includes s3://yamamugi-chari/wp-includes aws s3 sync yamamanx/wp-content s3://yamamugi/wp-content aws s3 sync yamamanx/wp-includes s3://yamamugi/wp-includes |
ユーザーデータでは実行しているのですが、毎回起動時に時間をかけるのもあれなので、ついでにyum updateもかけておきました。
1 2 |
sudo yum update -y |
あと、少しプラグインの調整とか気になっていたとこを設定しました。
OKそうなのでAMIを作成しました。
新しいAMIで起動テンプレートの新しいバージョンを作成しました。
そしてデフォルトバージョン設定しました。
EC2 Auto Scalingのインスタンス数を3にしました。
新しいAMIで2つのインスタンスが追加されました。
1 2 |
sudo tail -f /var/log/nginx/access.log |
追加されたインスタンスにSystesm Managerセッションマネージャーでアクセスして、access.logを見てみて、問題なさそうでした。
EC2 Auto Scalingのインスタンス数を2にしました。
古いインスタンスが終了しました。
デプロイ完了しました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Microsoft TeamsのOutgoing Webhooksを使ってAWS Lambda(Python), Amazon API Gatewayとbot
Microsoft Teamsの検証その2、Slackで実装しているbotも対応 …
-
-
TwilioからのリクエストをAPI Gateway+LambdaでTwimlを返して処理する
Twilioで着信した時のリクエスト先としてTwimlをWebサーバやS3で用意 …
-
-
AWS Personal Health Dashboardのパブリックイベントの記録
東京リージョンで発生したので、スクリーンショットを取っておいたので記録しておきま …
-
-
ヤマムギvol.27 Amazon Route 53プライベートホストゾーンとリゾルバーのデモをしました
今日は『AWS認定資格試験テキスト&問題集AWS認定ソリューションアーキ …
-
-
Cloud9 Python3でpipも3にする
このブログは、2019/10/20に書いた、 Cloud9のAMIがCloud9 …
-
-
AWS RDS でMySQLインスタンスを構築する
Amazon Web ServiceにはAmazon Relational Da …
-
-
AWS Systems Managerパラメータストアで「Parameter name must be a fully qualified name.」
パラメータストアでパラメータ階層を作成しようとして、パラメータ名に例えば「wor …
-
-
AWS複数アカウントのリソースをLambda(Python)から一括操作したくて
AWSの複数アカウント(30ちょい)のリソースをまとめて自動処理したくて。 とり …
-
-
Amazon CloudWatch クロスリージョンクロスアカウントダッシュボードを作成
本ブログのCloudFrontとWAFのアカウントと、EC2、RDS、S3などオ …
-
-
AWS Cloud9で環境を共有する
(特にリモート環境では)画面共有をしたり、リポジトリを共有したり、コーディング環 …