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/FargateでECRへのアクセスについて
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
honma
May 24, 2023
Programming
6.5k
30
Share
ランニングコストやっべぇぞ!ECS/FargateでECRへのアクセスについて
Qiita Night~AWS vol.2~
2023/05/24
honma
May 24, 2023
More Decks by honma
See All by honma
AWS IoT Coreのポリシー活用を熱く語ろう
honma12345
5
580
AWSを活用した ドローンIoTソリューション
honma12345
0
380
複数AWSアカウントに リソース構築する時 どうしてますか?
honma12345
1
2.9k
【再学習】リアルガチでCloudWatchを有効活用してますか?
honma12345
0
1.6k
自然言語解析AIサービス Dialogflowの紹介
honma12345
0
200
AWS IoT Coreを利用したドローンの実例
honma12345
0
770
AWS認定資格を8ヶ月で12冠達成した勉強法
honma12345
0
810
Other Decks in Programming
See All in Programming
20260320登壇資料
pharct
0
150
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
820
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
170
ロボットのための工場に灯りは要らない
watany
12
3.3k
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
Feature Toggle は捨てやすく使おう
gennei
0
400
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
180
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.3k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.2k
AIと共にエンジニアとPMの “二刀流”を実現する
naruogram
0
120
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Navigating Team Friction
lara
192
16k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
780
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
99
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
350
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Speed Design
sergeychernyshev
33
1.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Typedesign – Prime Four
hannesfritz
42
3k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
92
Transcript
ランニングコストやっべぇぞ! ECS/FatgateでECRへのアクセスについて 2023/05/24 アイレット株式会社 本間 崇平 Qiita Night ~AWS vol.2~
自己紹介 本間 崇平 アイレット株式会社 アジャイル事業部 Shuhei Honma 2018年アイレット入社(平成最後の新卒) AWS歴5年 Web・IoTのサーバーサイドエンジニア
よく使うAWS: Amplify, Lambda, DynamoDBなどのサーレス郡 2022,2023受賞
1. 【前置き】今回お話するAWSリソースについて ◦ Fargate ◦ ECR ◦ NAT Gateway 2.
実際にあった話 3. どうするべきだったのか 4. まとめ 本日話すこと
Fargateについて
Fargateとは Fargateとは、コンテナ向けサーバーレスコンピューティング OSメンテナンス等の管理が不要 • AWSマネージドサービス ◦ EC2に比べてインスタンスのプロビジョン、スケール、管理不要 • 従量制料金のコンピューティングエンジン •
ECSやEKSで動作する • 要件によって、Lambda以上EC2未満であれば採択 • コスト最適化するうえで選択肢の1つ
ECRについて
ECR(Elastic Container Registry)とは ECRとは、フルマネージドDockerコンテナレジストリ コンテナソフトウェアを簡単に保存、共有、デプロイ • インフラ運用やスケーリングが不要 • 高耐久性・可用性 •
HTTPS経由で転送。保管時に自動で暗号化 • シンプルなワークフロー • ECRリポジトリにPushしたイメージを Fargate(ECS)で起動できる
NAT Gatewayについて
NAT Gatewayとは NAT Gatewayとは プライベートサブネット内からインターネットへ接続 • アベイラビリティーゾーン(AZ)別に作成 • VPC内に構成したインターネット接続できない プライベートシステムがNATGateway経由で
インターネットに出れることが可能に • 例えば、LambdaからIP制限された システムへアクセスするときに使える
ということで
実際にあった話
こんなアプリケーションを開発した • Lambdaなどのサーバーレスアーキテクチャ採用 • 納期スケジュールが短いため、早めに開発進める必要があった • アプリからデータを受信するAPIを開発 • データをもとに集計するバッチ機能を開発 •
集計機能は一定間隔でバッチ実行(Fargate) 実際にあった話
構築/実装したAWSアーキテクチャ(一部)
問題点
問題点 ~ランニングコスト~ • ECRがVPC外にあるため、NAT Gateway経由でインターネット仲介し ECRへアクセスをしていた • 急激なアクセスによってデータ転送が突発した時 ECSも一定間隔で起動していたのでNAT Gatewayの処理データも増えて
しまった • 冗長構成をとったうえでのNAT Gatewayも2つ用意することで 料金が更に倍
色々反省点あった • 開発優先重視して後先のこと考えず。。。 • アクセス過多の時、集計は100万件近いデータ処理が発生 • アクセス集中してない時でもランニングコストがかかっていた そもそもECSから外部インターネットへアクセスする必要なくない?
• Asia Pacific (Tokyo) ◦ NAT Gatewayあたりの料金 $0.062(時) ◦ 処理データ1GBあたりの料金
$0.062 • 例: $0.062 per NAT Gateway Hourだと ◦ 31日(744時間)×$0.062×2本(冗長構成分)= $92.256(税抜 約12,000円) • 例: $0.062 per GB Data Processed by NAT Gatewaysだと ◦ 2000GB(31日分の処理データ)×$0.062×2本(冗長構成分)= $248(税抜 約34,000円) NATGatewayの利用だけで合算すると毎月46,000円のランニングコスト NAT Gatewayコスト算出例
うおおおおおおおお
どうするべきだったのか
どうするべきだったのか VPC Endpoint(PrivateLink)を採用するべきだった
VPC Endpointとは VPCと他サービス間でプライベート接続を提供できる • VPCコンポーネント(仮想デバイス)である • VPC内のサービスとVPC外のサービスを プライベートに接続通信できる • セキュリティ上でインターネット接続せずに繋げれる
VPC Endpointを利用した場合のコスト算出例 • Asia Pacific (Tokyo) ◦ 各AZ VPC Endpoint
1つあたりの料金 $0.014(時) ◦ 処理データ1GBあたりの料金 ▪ リージョンで1ヶ月に処理されるデータ最初の1PBで $0.01 • 例: $0.014 per VPC Endpoint Hourだと ◦ 31日(744時間)×$0.014×2本(冗長構成分)= $20.832(税抜 約2,800円) • 例: $0.01 リージョンで1ヶ月に処理されるデータ1PB未満 ◦ $ 0.01(税抜 約1円) VPCEndpointの利用だけで合算すると毎月 2,800円で済む
あるべき姿のAWSアーキテクチャ(こうあるべきだった)
まとめ
まとめ 設計時で考慮しておかないと 運用コストが....
やっべぇぞ!
とにかく言いたいこと ドキュメントを読むのは当たり前だが 運用コストも算出しておこう
さいごに AWSの責はほぼない 設計・実装したお前の責である
完