Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS FargateでRailsアプリを運用する話
Search
Kenichi Fukuda
November 29, 2018
Technology
3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS FargateでRailsアプリを運用する話
- AWS FargateでどのようにRailsアプリを運用しているかまとめました
Kenichi Fukuda
November 29, 2018
Other Decks in Technology
See All in Technology
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
740
Metadata - Section 1: HTML Basics
mohab1
0
120
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
290
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
270
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
650
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
270
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
How GitHub (no longer) Works
holman
316
150k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
It's Worth the Effort
3n
188
29k
Producing Creativity
orderedlist
PRO
348
41k
Statistics for Hackers
jakevdp
799
230k
The Curious Case for Waylosing
cassininazir
1
570
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
AWS FargateでRailsアプリを 運用する話 株式会社COUNTERWORKS 福田健一 スタートアップテック vol.1: Ruby LT大会
アジェンダ 1. 自己紹介 2. AWS Fargateとは 3. 弊社での利用事例 4. 実際に運用してみて
自己紹介 福田健一 株式会社COUNTERWORKS エンジニア 2018年9月にジョイン Linux, Docker, JavaScript, React, Ruby,
Rails
COUNTERWORKSとは SHOPCOUNTERというサービスを運営しています。 ポップアップストアの為の短期貸し店舗やイベントスペースを簡単に予約できるオンラインスペースシェアサービス
AWS Fargateとは
AWS Fargateとは ホストインスタンスを管理することなくコンテナを運用できるサービス。 2018年7月から東京リージョンでの提供が開始。
AWS Fargateとは メリット ・インフラ管理からの開放 ・柔軟なリソース配置 ・容易なオートスケーリング デメリット ・利用料は割高 ・SSH不可
弊社での利用事例
弊社での利用事例 ECSに乗り換えた経緯 ・インフラにかかる人的コストを下げたかった ・環境ごとの差異の解消 ・ローリングデプロイ導入によるデプロイリスクの低減 ・ロールバックが容易
弊社での利用事例 ・イメージ管理はECR ・CircleCIでビルド、デプロイ ・デプロイツールはecs-deploy ・DBはRDS(MySQL)を利用 ・コンパイル済アセットはS3に
弊社での利用事例 ・secretsの取り扱い ・db:migrate ・assets:precompile, assets:sync ・ロギング
弊社での利用事例 secretsの取り扱い ・yaml_vault ・各環境ごとのsecrets.ymlを暗号化しGitバージョン管理下へ ・ctyptorにAWS KMSを利用 ・CircleCIユーザーに利用権限を付与、イメージビルド時にコンテナ内で復号化
弊社での利用事例 secretsの取り扱い ・yaml_vault ・編集時に復号化→暗号化の手間が発生 ・Rails5.1にもデフォルトでencrypted secretsがあるがRails5.2から非推奨に ・Rails5.2以降であれば素直にcredentialsを使うのが無難 ・AWS System Manager
Parameter StoreがECSのサポートを開始しましたね ※Fargateはまだ非対応
弊社での利用事例 db:migrate ・migrate用のtaskを定義しデプロイ時に実行 ・EntryKitのprehookで同一コンテナ内でも実行できるが migrateにコケるとコンテナが死ぬので辞め ました ・コンテナはWebアプリケーションと同じものを使用、 task definitionsでコマンドの上書き
弊社での利用事例 assets:precompile, assets:sync ・イメージビルド時にコンテナ内で precompile & syncを実行 ・その後コンテナ内からS3にアップロード
弊社での利用事例 ロギング ・ログドライバにCloudWatch Logsを利用(というかこれしか選択肢が無い) ・ログを全て標準出力に出し、CloudWatchLogsに転送 ・logrageでログをJson形式にフォーマットし、CloudWatchLogs上での可読性、検索性を向上させて います
実際に運用してみて
実際に運用してみて 良かった点 ・メトリクス監視がCPU, Memoryだけで済む ・デプロイ、ロールバックリスク低下により積極的にリリースできるように ・開発環境もDocker化、環境がdocker-compose一発で完成 ・安定稼働
実際に運用してみて 難点 ・SSHできないのはやはり不便 ・メンバーの学習コスト ・コスト面ではEC2に劣る。
実際に運用してみて 今後やりたいこと ・メトリクス監視にDataDogを導入 ・ChatOps
おわり