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のコンテナ環境まとめ
Search
みどり
November 07, 2024
Technology
90
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSのコンテナ環境まとめ
少し前に作成したAWSでコンテナを動かすときに使えるサービスまとめです。
みどり
November 07, 2024
More Decks by みどり
See All by みどり
キーボードは2つに割れ -分割キーボードのすすめ-
ryder472
0
120
Amazon GuardDuty Malware Protection for Amazon S3を使おう
ryder472
2
280
Amazon GuardDuty Malware Protection for Amazon S3のここがすごい!
ryder472
1
350
Amazon Location Serviceを使ってラーメンマップを作る
ryder472
2
880
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
1k
個人でもIAM Identity Centerを使おう!(ID管理編)
ryder472
0
190
Other Decks in Technology
See All in Technology
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
310
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
310
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
160
あるけみー式LTスライド作成術
alchemy1115
1
170
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
970
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
170
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
270
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
140
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
140
Screen Lens - 今見てる画面を翻訳する
komagata
0
240
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
260
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.6k
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Embracing the Ebb and Flow
colly
88
5.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Crafting Experiences
bethany
1
310
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Building Applications with DynamoDB
mza
96
7.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Transcript
AWSのコンテナ環境まとめ 戸井田 理
コンテナ仮想化とは? KVMやHyper-V、ESXiなどの仮想マシン環境と異なり、一般的なLinuxディ ストリビューションを利用してカーネルは共有しつつユーザー 名前空間が分離している実行環境を提供するための技術 LXCやDockerコンテナ、Windowsコンテナなど種類があります。 →今回はWindowsコンテナについては省略します。
LXCとDockerコンテナの違い LXCとDockerコンテナの違いはわかりますか? →LXC(LinuX Container)はOS丸ごとコンテナ仮想化 →Dockerコンテナはアプリケーション単位のコンテナ仮想化 今回はDockerコンテナに注目します。
AWSで動かせるコンテナ環境
AWSで動かせるコンテナ環境 代表的なものをいくつか列挙します。 • Amazon ECS • Amazon EKS • Amazon
Lightsail • AWS Elastic Beanstalk
サービスそれぞれの違い(Amazon ECS) AWSが独自に用意したコンテナオーケストレーションツールを使用 してコンテナを管理します スケーラビリティや初期段階で必要な機能は全て揃っている印象 AWS以外で動く環境はもちろんないのでノウハウは公式とAWS コミュニティに依存
サービスそれぞれの違い(Amazon EKS) Kubernetes(以下k8s)をAWSで最適に動作する環境で管理します コントロールプレーンはマネージドでデータプレーンの面倒だけ見る k8sの豊富なツールやコミュニティから情報を選び利用することが 可能(ただしk8sのディストロはAmazon EKS Distroを使用する) 追加料金(0.10USD/h)とバージョンアップがネック バージョンアップせず延長サポート対象となった場合0.60USD/h
サービスそれぞれの違い(Amazon Lightsail) IAMやELB、ログ管理などを全て隠蔽してコンテナを手軽に使いたい人向 け いわゆるVPSでdockerが動かせるようにしてあるイメージでOK 現時点ではECRにあるイメージは使えず直接Lightsailコンテナ サービスにイメージをpushする必要がある
サービスそれぞれの違い(AWS Elastic Beanstalk) この中で一番歴史があるサービス 基本的にはLightsailと同じようにELB、モニタリング、アプリケーションデプ ロイなどは隠蔽されて使いやすくEC2にデプロイする サービス Lightsailとの違いはLightsailは月額費用が定額だが、Elastic Beanstalk はあくまでEC2などをすべて肩代わりして作ってくれるラッパーに
すぎないのでそれぞれの費用がかかる
AWSで動かせるその他のコンテナ環境 内部的にECSを使ってるものは例えばAWS BatchやAWS App Runnerな どがあります。 Red Hat OpenShift Service
on AWSというサービスもありますが既存シス テムからの移行以外ではコストが高すぎるかと思います。 またEC2上でセルフにコンテナ環境を構築して自前管理するのも方法の一 つです。 AWS Lambdaもコンテナを実行することは可能ですが、今回は省略 します。実行時間が短めなら選択肢に入るかもしれません。
AWSで使えるコンテナ実行環境
AWSで動かせるコンテナ環境 コンテナを実行するマシンは以下の選択肢から選べます。 • Amazon EC2(x86_64 or aarch64(graviton)) • AWS Fargate(x86_64
or aarch64(graviton)) • Amazon (ECS | EKS) Anywhere EC2とFargateはそれぞれスポットインスタンスを選択することも 可能です。またリザーブドインスタンスやSavings Plansを使用することでコ スト減を狙うことも可能です。
実行環境それぞれの違い(Amazon EC2) Amazon EC2は多彩なインスタンスタイプから必要なリソースを自由に選 択できます。 またGPUを必要とする場合現時点で現実的な唯一の選択肢です。 コンテナイメージをEC2内にキャッシュすることでFargateよりも 高速に起動することが可能です。
実行環境それぞれの違い(AWS Fargate) AWS Fargateはサーバーレスなコンテナ実行環境としてEC2で必要なOS やミドルウェア類の管理から解放されます。 必要なvCPUもしくはメモリに連動する料金がかかります。このときvCPUと メモリは対応する選択肢が決まっているので例えば1vCPUの場合選べるメ モリは2GB-8GBの間となります。 もっとメモリが必要な場合vCPUを増やす必要があるのでどちらかのリソー スが過剰になってしまうこともあります。
実行環境それぞれの違い((ECS|EKS)Anywhere) (ECS | EKS) Anywhereは条件を満たすオンプレミスのサーバーにたいし てエージェントをインストールすることでAWS上で管理しているホストと同じ ようにマネージドなコントロールプレーンを使用する ことが可能です。ただし追加料金がかかります。 また、RDSやNLBなどのVPC上のリソースを必要とする場合Direct ConnectやSite-to-Site
VPNなどを使用する必要がある点に注意が必要で す。
実行環境それぞれのコスト比較 条件: cpu: 2vCPU mem:4GiB / x86_64 / 東京リージョン /
30.5日 / オンデマンド / Linux / 1USD=155円 ストレージ、ネットワーク等の費用は計算外とする。 • EC2(c7i.large): 82.2402USD(12,747円) • Fargate: 90.2084USD(13,982円)
コンテナ環境で使えるIaC
インフラ周り AWS CloudFormationやAWS CDK、TerraFormなどを用いて管理すること ができます。 他のAWSのサービスやクラウドベンダーと同様です。
アプリケーション周り EKSの場合、一般的にはAnsibleなどを使用してアプリケーションを デプロイすることが可能です。これは一般的なk8sと同様の運用が できることを意味します。 ECSの場合、面白法人カヤックの開発したOSSの「ecspresso」を用いて管 理することが良いかと思います。
コンテナ環境で使えるストレージ
ストレージ (ECS | EKS)で使用できるストレージは以下の通りです。 • Amazon Elastic Block Store (EBS)
• Amazon Elastic File System (EFS) • Amazon FSx • Amazon S3
ストレージそれぞれの違い(Amazon EBS) オンプレで言うところの内蔵ディスク パフォーマンスと容量のバランスは割と良い EC2のみ対応で、容量拡張に手間がかかってしまう アタッチしているEC2がSPoFになってしまうため注意
ストレージそれぞれの違い(Amazon EFS) オンプレで言うところのNAS 複数のマシンから同時にアクセスすることが可能 AZ跨ぎでのアクセスやFargateからのマウントもOK 信頼性、可用性がEBSよりも高い、従量課金なので使用した分だけお金を 払えば良い EBS(gp3)とEFS(マルチAZ)で約3.75倍EFSのほうが高い EBS(gp3)とEFS(シングルAZ)で約2倍EFSのほうが高い
ストレージそれぞれの違い(Amazon FSx) 4つのファイルシステムから選べるハイパフォーマンスなストレージ • NetApp ONTAP • OpenZFS • Windows
File Server • Lustre 高スループット低レイテンシー、スケーラブルなストレージを選べる EC2のみ対応、コンテナからはバインドマウントする
ストレージそれぞれの違い(Amazon S3) 高信頼性でほぼ無限にスケールするオブジェクトストレージ S3標準クラス、~50TB/month で0.023USD/GBで圧倒的に安い 基本的にAPIを用いてアクセスするのでスループットは他と比較して良くな い オブジェクトストレージなのでファイルサーバー的な使い方は辛い
AWSで使えるコンテナセキュリティ
コンテナセキュリティ コンテナセキュリティを実現するAWSのサービスは以下の2つです。 • Amazon Inspector • Amazon GuardDuty これ以外にもAWS WAF、AWS
Shield、AWS Network Firewallなど コンテナに限らず使用できるサービスやサードパーティの製品などがありま す。
コンテナセキュリティ(Amazon Inspector) Amazon InspectorはECRにpushされたイメージの脆弱性スキャンを行い、 脆弱性を検知した場合EventBridgeと連携してSNSやLambda等を通して 通知することが可能です。 基本スキャンと拡張スキャンの2種類があり、拡張スキャンの方は課金対象 ですがプログラミング言語のパッケージマネージャによってインストールさ れたものも対象となります。 EC2で動いている場合EC2インスタンスもInspectorによってスキャンするこ
とができます。
コンテナセキュリティ(Amazon GuardDuty) Amazon GuardDutyはEKSやECSのランタイムモニタリングをサイドカーコ ンテナによって実現して不審なアクティビティ(e.g. 権限昇格、マイニング)を 検知します。 EC2で動いている場合EBSを対象としてマルウェアスキャンを行うことがで きる他、S3やRDSに対する不審なアクティビティを検知することも可能です。 検知するのみなのでEventBridge+SNSなどで通知することが重要。
コストを許容できるのであれば絶対に有効にするべきサービスの1つ