$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
インフラエンジニア歴2ヶ月の私がCDKを使ってECS(Fargate)環境を構築する話 / C...
Search
Takamichi Aso
February 27, 2020
Programming
0
720
インフラエンジニア歴2ヶ月の私がCDKを使ってECS(Fargate)環境を構築する話 / Coral Developers Night AWS LT
Takamichi Aso
February 27, 2020
Tweet
Share
More Decks by Takamichi Aso
See All by Takamichi Aso
開発環境から本番環境までのDocker活用方法 / Fintech Engineer 20210604
unk2072
0
180
WordPressが技術負債になった話 / Coral Developers 20210525
unk2072
3
3.6k
健康第一の話 / Coral Developers Meeting #1
unk2072
0
190
Vue.js + socket.io で簡単に実装できるリアルタイム更新処理 / Coral Developers Night #1
unk2072
0
2.1k
Other Decks in Programming
See All in Programming
ゆくKotlin くるRust
exoego
1
160
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.3k
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
120
チームをチームにするEM
hitode909
0
380
AIコーディングエージェント(skywork)
kondai24
0
200
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
970
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
130
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
390
Deno Tunnel を使ってみた話
kamekyame
0
240
Featured
See All Featured
Marketing to machines
jonoalderson
1
4.3k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
66
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
49
Designing for humans not robots
tammielis
254
26k
GraphQLとの向き合い方2022年版
quramy
50
14k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Code Review Best Practice
trishagee
74
19k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
250
The Curse of the Amulet
leimatthew05
0
4.7k
BBQ
matthewcrist
89
9.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
750
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
69
Transcript
Credit Engine, Inc. インフラエンジニア歴2ヶ月の私が CDKを使って ECS(Fargate)環境を構築する話 麻生隆道 1
Credit Engine, Inc. 2 今日話す内容(言いたいこと) • ピンチをチャンスに変えよう • CDKはすごく良い!流行ってほしい!
• レビューしてもらうと安心感があがる
Credit Engine, Inc. 3 自己紹介 クレジットエンジン株式会社 麻生 隆道(あそう たかみち)
たぶんフルスタックエンジニアやってます 趣味はプログラミングですが、最近本業が忙し くてあまり趣味を楽しめていない模様 (でも本業=趣味なので問題ない) 前職は12年ほど組み込みエンジニアやってまし たー
Credit Engine, Inc. Credit Engine の紹介 4 “かす”をかえる。“かりる”をかえる。 ミッション 中小事業者が融資を受ける際には
様々な紙ベースの書類が必要であった オンラインで完結するので簡単に使え 空いた時間で本来の事業に集中できる
Credit Engine, Inc. Credit Engine Platformの紹介 5 ミッション実現のためLENDYで培ってきたノウハウを金融機関などに提供 三菱UFJ銀行 『Biz
LENDING』 みずほ銀行 『みずほスマートビジネスローン』
Credit Engine, Inc. Credit Engine Platformをバージョンアップ 提供先に合わせて簡単にカスタマイズし 素早くサービスを提供できるように構成を見直した 6
Credit Engine, Inc. アプリケーション構成 Nginx API サーバ Postgre SQL socket.io
Redis エンドユーザ画面 バックオフィス画面 7
Credit Engine, Inc. この構成のインフラって誰が作るんだっけ? 昨年から募集出してるけ ど、全然採用できない・・・ 8 誰もいないなら自分でや るしかないでしょ! ということで即席インフラエンジニアが爆誕!
Credit Engine, Inc. まずやったこと • 要求仕様をざっくり整理 • セキュリティ:大事 • 信頼性:これも大事
• パフォーマンス:あんまり大事じゃない • コスト:ほどほどにやればオッケー • どんな構成で実現するか決める • EC2はメンテがめんどくさいので、できるだけマネージドなやつ • dockerベースで構築することは決まっていた • ECS(Fargate)が良さそう! 9 基本的にマネージドなサービスを使って自分で頑張らない!
Credit Engine, Inc. インフラ構成 10 Nginx API サーバ RDS socket.io
Elasti Cache ALB ECS(Fargate) これをコードベースで書いておきたいよね・・・
Credit Engine, Inc. CDKを採用するまでの流れ • CDKが発表されたのはニュースサイトで見ていた • プログラマなら言語で書きたいよね! • まずはどんなものか調べてみよう
• CDKでECS(Fargate)環境を作っているサンプルがあった! https://qiita.com/ytanaka3/items/e755ff4551f01f76c303 • マジかよ!ベストプラクティスな構成が書けるらしいぞ! しかも、CloudFormationで書くより1/10のコード量!いいじゃん! インフラコードを何で書くか? 11
Credit Engine, Inc. 実際やってみて思ったこと CDKを書く言語はどれ? • 最初Python使ってみたけど環境構築すら面倒だった・・・ • 現状だとサンプル数が多いTypescriptを使うべきと判断 スイッチロール+MFAはCDKが対応してない
• 回避策ありました!(リンク先の最後にある小ネタを参照) https://dev.classmethod.jp/cloud/aws/aws-cdk-python-ec2/ 実際のコード量はやっぱり1/10? • 318行で書けました → CloudFormationを出力すると3445行! 12
Credit Engine, Inc. レビューを受けた 副業で手伝ってくれてるインフラエンジニアにレビューしてもらいましたが 基本的には問題なかった!(レビューしてもらうと安心感が上がる) 以下、指摘内容 • CIDRの切り方が大きすぎるので、小さくしたほうが良さそう •
これはデフォルトでは大きすぎるので修正 • Fargateから外部アクセスしないならNAT Gatewayはなくても良さそう • 外部アクセスあったので問題なし • ログ取得用のバケットに582318560864のアクセス権がついてる • ALBのログを取得してたからだったので問題なしでしたが、CDKがちゃんと 仕事してることが分かった! 13
Credit Engine, Inc. 残りやること CloudWatch + SNS による監視・通知を書く オートスケーリングの設定も書く
で、完成の予定 14
Credit Engine, Inc. ちなみに・・・ NAT Gatewayを使わないパターンもやってみました! 【結果:普通に実現できる!】 ただし、ecs-patternsをそのまま使うとサブネットが指定できないので、元のソース を以下から持ってきて、サブネットを指定してあげられるように変更する必要がある (時間あるときにPull
Request書きたいなー) https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/aws-ecs- patterns/lib/fargate/application-load-balanced-fargate-service.ts 15
Credit Engine, Inc. 16 今日話した内容(言いたかったこと) • ピンチをチャンスに変えよう • CDKはすごく良い!流行ってほしい!
• レビューしてもらうと安心感があがる
Credit Engine, Inc. インフラエンジニア募集中です 私達と一緒にオンラインレンディングのスタンダードとなるような仕 組みを作ってくれる、1人目のインフラエンジニアを募集していま す! CDK好きな人、集まれ! 17