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
あぁ…我らのECS…
Search
kensho
September 24, 2022
Technology
0
1.5k
あぁ…我らのECS…
PHPカンファレンス2022 スポンサーLT登壇資料
kensho
September 24, 2022
Tweet
Share
More Decks by kensho
See All by kensho
もう少しだけ、ログと向き合ってみる 〜slogを使って構造化ログを出す〜
iwashi623
0
69
テーブル設計のよくある罠と それに対する処方箋
iwashi623
1
110
PHPerもIaCを使おう! 17年物のインフラをTerraformに大移行
iwashi623
1
2k
今ならわかるDirectConnect
iwashi623
0
64
Other Decks in Technology
See All in Technology
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
160
어떤 개발자가 되고 싶은가?
arawn
1
230
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
130
Retrospectiveを振り返ろう
nakasho
0
140
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
280
実践マルチモーダル検索!
shibuiwilliam
1
440
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
320
OpenCensusと歩んだ7年間
bgpat
0
250
DSPy入門
tomehirata
6
700
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
4
3.8k
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.4k
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
230
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Rails Girls Zürich Keynote
gr2m
95
14k
Mobile First: as difficult as doing things right
swwweet
225
10k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Navigating Team Friction
lara
190
15k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
630
Into the Great Unknown - MozCon
thekraken
40
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
670
Transcript
あぁ... 我らのECS... 株式会社PR TIMES 岩下 拳勝
自己紹介 名前: 岩下 拳勝 年次: 21卒(新卒2年目) GitHub, Twitter: SardineTa23(iwashi) 主な担当業務:
PR TIMES STORYバックエンド開発・インフ ラ運用 趣味: AWS認定資格取得(SAA/SOA/DVA)
アジェンダ 本発表では、私が昨年PR TIMES STORYの開発リーダーに任命されてか ら学んだ、ECS/Fargateの知見や設定を 発表していきます。
はじめに 新卒入社2ヶ月、ある日のこと・・・
はじめに 偉い人「PR TIMES STORYの開発リーダーをほしいです」
はじめに 僕「は、はぁ・・・😓 (よくわからんけどとりあえずやってみるか)」
はじめに とりあえずインフラを見に行くと…
はじめに ECS, Fargate, Aurora, ElastiCache, DocumentDB... 何もわからん...
はじめに 完全に詰んだ👼
はじめに 一緒にPR TIMESで使用しているECSとその設定 について勉強しましょう。
コンテナ 皆さん、コンテナ使ってますか?
コンテナ コンテナのメリット • アプリケーションの依存関係をコンテナ内で完結できる。 • 一度Buildしたイメージをスケーリングの際に簡単に使い回せる。 • (サーバー仮想化と違って)ゲストOSをマシンで動作させるためのリソー スが不要。
コンテナ AWSでコンテナを使うには… ECSが便利!
ECSとは… AWSが開発したコンテナオーケストレーションサービス。 https://aws.amazon.com/jp/ecs/
ECSとは… 複数のホスト上で動作している無数のコンテナを、 (頭のいい)AWSの人が作ったレールに乗りながら管理できる。 ECSがあると嬉しいこと
ECSとは… • DDoSなどでコンテナが落ちても、コンテナの切り離し、再デプロイを自動的に やってくれる。 • コンテナを予め指定したAZに均等に配置管理してくれる。 • ALBと組み合わせることで、リクエストの負荷分散を自動的にしてくれる。 具体的なECSメリット
ECSとは… ECSには、EC2起動タイプとFargate起動タイプがある
ECSとは… Fargate起動タイプのメリット・デメリット メリット • ホストの管理が不要 デメリット • (EC2起動タイプと比べて)使い方次第で若干コストが割高
• ホストのOS管理ができない
PR TIMES STORY PR TIMES STORY (https://prtimes.jp/story) では、ECS/Fargateを使ってLaravelを 動作させて運用しています。
PR TIMES STORY
PR TIMES STORY ここからは、ECS/Fargateを運用していくにあたってのいくつ かの疑問点と、 その疑問に対してPR TIMES STORYが導入しているECSの 設定についてお話します。
疑問① sshおじさん ???「ホストがない?SSHできないなんてありえな い!デバックできないじゃん!」
疑問① sshおじさん 回答:「ECS Execを使っていきましょう!」 > Amazon ECS Exec を使用すれば、最初にホストコンテナのオペレーティングシステムとやり取
りしたり、インバウンドポートを開いたり、SSH キーを管理したりすることなく、コンテナと直接やり取 りできます。ECS Exec を使用して、Amazon EC2 インスタンスまたは AWS Fargate で実行され ているコンテナでコマンドを実行したり、シェルを取得したりできます。 (https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/userguide/ecs-exec.html) → つまり、ECSで実行中のコンテナに`dokcer exec`のようなことを実行で きる。
疑問① sshおじさん ECS Execの有効化 ECS Execはコンソール上から有効化できないため、 AWS CLIやTerraformなどで有効化する必要がある。
疑問② インフラ担当心配性おじさん ???「マイグレーション管理とかどうしてんの? まさか毎回、` php artisan migrate`を手打ちするの?」
疑問② インフラ担当心配性おじさん 回答例:「デプロイワークロードの中でMigration用の FargateTaskを実行しましょう!」
疑問② インフラ担当心配性おじさん PR TIMES STORYでは… CodeBuildのワークロード(buildspec.yml)の中でmigration用の ECSタスクを実行しています。
疑問③ サーバ運用監視おじさん ???「監視とか辛くない? ECSのコンソールってタスクごとのCPU使用率とか見れんし」
疑問③ サーバ運用監視おじさん たしかにデフォルトではECS Serviceごとにしか見れない😓
疑問③ サーバ運用監視おじさん 回答例1:「Container Insights使っていきましょう」 有効にすると、クラスター、サービス、タスク単位での詳細な メトリクスが取得できます。
謎の敵③ サーバ運用監視おじさん 回答例2:「タスクのサイドカーとして、 NewRelic、Mackerelなどのエージェントを起動しましょう。」
謎の敵③ サーバ運用監視おじさん NewRelic(https://newrelic.com/jp/blog/best-practic es/get-container-metrics-on-ecs-fargate ) Mackerel(https://mackerel.io/ja/docs/entr y/howto/container-agent) 公式ドキュメントを見ると、簡単に設定でき ます。
まとめ 今日発表した設定は、今後PR TIMES開発者ブログ (https://developers.prtimes.jp/) にて随時発信予定です。 お手すきの際にぜひ覗いてみてください!