Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elastic Beanstalk + Docker で WordPress / WordPress with Elastic Beanstalk and Docker
Search
KOMATSU Seiji
June 26, 2018
Technology
0
210
Elastic Beanstalk + Docker で WordPress / WordPress with Elastic Beanstalk and Docker
LT Lovers 4th の LT 資料です
KOMATSU Seiji
June 26, 2018
Tweet
Share
More Decks by KOMATSU Seiji
See All by KOMATSU Seiji
非エンジニアでも Git を使えるチームをビルド中
comuttun
0
170
Other Decks in Technology
See All in Technology
MapLibreとAmazon Location Service
dayjournal
1
190
社内アプリで Cloudflare D1を プロダクト運用してみた体験談(Tokyo)
haochenx
0
130
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
4
920
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
7
2k
成長をサポートするピープルマネジメントのやり方
sioncojp
9
1.3k
web-application-security
matsuihidetoshi
1
200
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
490
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
2
150
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
3.3k
今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編
devops_vtj
21
5.9k
Gemini, Google's Large Language Model
glaforge
0
110
How to do well in consulting–Balkan Ruby 2024
irinanazarova
0
170
Featured
See All Featured
The Cult of Friendly URLs
andyhume
74
5.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
The Invisible Customer
myddelton
114
12k
Agile that works and the tools we love
rasmusluckow
325
20k
Designing Experiences People Love
moore
136
23k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.4k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Optimizing for Happiness
mojombo
370
69k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
A designer walks into a library…
pauljervisheath
201
23k
Transcript
ElasticBeanstalk + Docker ElasticBeanstalk + Docker で WordPress で WordPress
Seiji Komatsu (@comuttun) Jun 26, 2018 LT Lovers 4th
自分について 自分について name: Seiji Komatsu id: comuttun company: 株式会社まぐまぐ job:
Backend & Frontend Engineer
TRiP EDiTOR TRiP EDiTOR WordPress で運用している自社メディアサイト
https://tripeditor.com
2018/03 「ジモトのココロ」からリニューアルオー プン
それまで KUSANAGI AMI を EC2 上で稼働 https://kusanagi.tokyo
いくつかの課題があった いくつかの課題があった ※ KUSANAGI の問題ではない
サーバーの構成管理ができていなかった Nginx などの設定を変更するたびに AMI 再作成 テーマファイルのバージョン管理ができていな かった 管理画面から直接修正 ローカル開発環境がなかった Vagrant
でローカル用を作ったものの重量級の ため NFS サーバが SPOF 当時 EFS は東京リージョンに来ていなかった
主に新しく採用した技術 主に新しく採用した技術 Docker ローカルでは docker-compose Elastic Beanstalk Code Commit/Pipeline/Build
Docker イメージ KUSANAGI の設定を参考にしつつ、 wordpress:4.9-php7.2-fpm-alinpe から 作成
Elastic Beanstalk 構成管理ツールとしても利用 Docker コンテナをアプリケーションとしてデ プロイ ECS にしなかった理由 Blue-Green Deployment
を標準でサポートして いる 学習コストを極力抑える
Code Commit/Pipeline/Build Slack のデプロイボットが Backlog Git から pull して Code
Commit に push Code Pipeline が push を検知して Code Build で Docker イメージをビルド Code Build でのビルドが成功したら Elastic Beanstalk に新バージョンのアプリケーション としてデプロイ
工夫したこと 工夫したこと
管理画面の制限 管理画面の制限 Git 管理を徹底するため、管理画面からのテーマ ファイル修正はできないようにした デプロイの自動化 デプロイの自動化 Git にプッシュして Slack
のデプロイボットでデ プロイできるようにした
脱 NFS 脱 NFS NFS サーバが SPOF になることを嫌い、 NFS サー
バレス構成にした。 WP Offload S3 Lite を活用し、画像は CloudFront+S3 でホスティング /wp-content/uplaods に書き込みをするプラ グインの利用は諦めた
困ったこと 困ったこと
Thin-Pool 枯渇問題 Thin-Pool 枯渇問題 コンテナ内で繰り返しファイルの作成と削除を 繰り返すと LVM の Thin-Pool が枯渇し、ファイル
システムに書き込めなくなる docker ps -q | xargs docker inspect --format='{{ .State.Pid }}' | xargs -IZ sudo fstrim /proc/Z/root/ を定期的 に実行するようにした
これから先 これから先
EFS がついに東京リージョンに EFS がついに東京リージョンに 来るので使うことを検討中 来るので使うことを検討中
We're hiring! We're hiring! まぐまぐ!では仲間を募集しています
ご清聴ありがとうございました ご清聴ありがとうございました