Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サーバーなしでWordPress運用、できますよ。

 サーバーなしでWordPress運用、できますよ。

WordPress運用、苦労してませんか?

- 本体やプラグインのアップグレードに追従できない
- アップデートしたら重大なエラーで突然サイトが止まってしまった
- ファイルアップロードでのサイト更新にミスがあって想定通りの表示にならない

こういった、WordPress運用をサーバーで行うことの辛いところを解消する運用を編み出したチームがあります。ぼくたちです。

このLTでは、以下について実現できて運用している事例を紹介します。

- composer でプラグインを管理する手法
- docker compose を利用してローカルで本番同等の表示を再現する機構
- 既存のWordPressサイトを、EFSとS3だけの、RDSなしでECS移行
- AWS DataSync を利用した本番環境とは別の場所での環境再現

Hisashi SOGA

December 20, 2024
Tweet

More Decks by Hisashi SOGA

Other Decks in Technology

Transcript

  1. About Me ・ 代表社員 (2022/03 〜) ・ 理事 (2022/01 〜)

    ・7社で業務委託するクラウドインフラ仕事人  ・最近はリソース最適化・SRE を休ませる   ための可視化ダッシュボード布教に注力 Hisashi SOGA 合同会社 ant-in-giant 一般社団法人 SRE NEXT 2
  2. AGENDA 構成、これを実現する大神技 実現を支える中神技たち 使ってもらうための工夫 ここまでにあったトラブル まとめと補足 資料は公開してあります -> ※1. 履歴が増殖するため、シークレットウィンドウでご覧ください(Chrome

    を推奨) ※2. ところどころの青の文字や一部の画像はリンクになっています ※3. スペースで次のページに進みます([o] でOverview が見れます) ) ( はダウンロードしたPDF ならリンクに飛べるのでご利用ください) https://bit.ly/4fzeTmx SpeakerDeck 版 4
  3. 構成 ・中心は ECS (Fargate) ・EFS をマウント ・MariaDB のDataFile を  Fargate

    起動時にEFS からrsync ( ・Fargate に通信を送る  " 道" としてALB を利用[ 現在] ) ・S3 は時点backup 兼開発用  DataSync で 置きに行く 6
  4. 起動〜通常稼働時 ・cron をインストールしておく ・EFS のpersistence からrsync した  DataFile でMariaDB 起動

    ・uploads 等の画像・動画類は  EFS マウントで配信 ・cron で2 回/h  ・DB DataFile -> persistence  ・DB dump -> dump 用領域 (gz)  ・uploads 等 -> contents 用領域 (xz) 7
  5. 記事更新ない時 ・s3 のuploads -> EFS へ(初回) ・DataSync Task を夜に1 回/day

     ・DB dump (gz) -> s3  ・contents (xz) -> s3   ・prod -> dev [EFS] ・開発はs3 のを使う(dump,contents) ・だいぶフレッシュな状態 ・ローカル・検証環境でも利用 8
  6. plugin 管理:composer だいたいのプラグインは にある  ex) , ・composer search セヨ ・そして

    composer require こんな感じになっていく どうしてもない・・のは物理的投入 wpackagist siteguard contact-form-7 10
  7. 設定管理:wp-cli ・wp user ... ・wp plugin activate ... ・wp option

    update ... ・wp language ... ・wp config set ... --allow-root を添えて & を入れて非同期に https://wp-cli.org/ja/ 11
  8. 秘技 awsume AWS のSwitchRole 運用に役立つ超絶便利ツール ・クレデンシャルの転記操作が不要になる ・マネコンをコマンド一発で起動できる ・多段SwitchRole を実現する(中級) ・パスワードマネージャ連携もある(上級)

    ・ を加えればさらに最強に(上級) など、本当に凄い。使ってみて。 がおそらく元祖紹介記事 に秀逸な記事2つ にかなり詳しい紹介 https://awsu.me/ saml2aws マネコン起動もできるAWS のスイッチロール用CLI ツール「AWSume 」 の紹介 | DevelopersIO 「awsume 」in vauge memory AWSume とは?概要と基本機能 | 株式会社一創 15
  9. 開発者に IaC を伝授 Terraform AWS modules a minimal deployment tool

    for AWS Lambda deployment tool for Amazon ECS Declarative CLI Version manager 16
  10. プラグイン動作しなくなる問題 Fargate 移行前は動いていたWordPress 編集機能に問題発生 EC2 環境では Genesis Custom Blocks プラグインが期待動作

    移行担当者が休暇取得した日に激詰めに遭うteammate ( 誇張あり) 取り急ぎDNS を切り戻して原因調査、再移行を選択 原因はPHP バージョンを上げた (7 -> 8) ことによる挙動の変化 see 事態の深刻化の理由は検証不足 (WordPress ナメてましたすみません) 【PHP7 から8 へ切替】Warning: Undefined variable が表示された場合の修正方法 19
  11. 検索されちゃう問題 検証用のドメインがGoogle 検索でHit している〜、と至急の調査依頼 SEO に影響あるのですぐ直すように激詰め ( 誇張あり) そもそも Search

    Console 管理者誰?という状態なことがそこで発覚 本番以外の全環境でインデックス無効化設定をまずした Google へインデックス削除申請を行い数日程度で反映された 該当サイトの Search Console 管理者を棚卸 ごめんなさいぜんぜん気にしてませんでした ( それこそ激詰め) (me) 20