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
AWSにおけるコンテナサービスの変化と利用ユーザに求められることとは?
Search
yoshitaka KOITABASHI
December 09, 2022
Technology
1.9k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSにおけるコンテナサービスの変化と利用ユーザに求められることとは?
yoshitaka KOITABASHI
December 09, 2022
More Decks by yoshitaka KOITABASHI
See All by yoshitaka KOITABASHI
変化と挑戦:NoSQLとNewSQL Serverless Databaseの技術革新とマルチテナンシーの秘密
yoshiitaka
23
6.5k
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
3
2.1k
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
23
5.8k
Re:cap container Services
yoshiitaka
2
620
The_Frugal_Architectの観点から眺めるServerless.pdf
yoshiitaka
1
180
re:Inventに行くと何を得られ、なぜ人はラスベガスに行くのか
yoshiitaka
0
170
コンテナ支部recapをrecapしよう_気になったコンテナの周りのアップデートを紹介.pdf
yoshiitaka
1
1.1k
AWS re:Invent 2023の期間中に出たコンテナアップデート集
yoshiitaka
4
830
stripeを組み合わせたサーバレスアーキテクチャとシードのスタートアップ ビジネスをグロースするためにやったこと
yoshiitaka
3
650
Other Decks in Technology
See All in Technology
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
2.3k
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
220
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
1
250
貴方はどのエンジニアリングを磨くのか
hatyibei
0
130
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.1k
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
270
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
140
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
160
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
110
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
0
130
Kaggleで成長するために意識したこと
prgckwb
2
340
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
3
470
Featured
See All Featured
Designing for Performance
lara
611
70k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
290
The Curious Case for Waylosing
cassininazir
1
430
The Cost Of JavaScript in 2023
addyosmani
55
10k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Navigating Weather and Climate Data
rabernat
0
320
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
490
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Making Projects Easy
brettharned
120
6.7k
First, design no harm
axbom
PRO
2
1.2k
Are puppies a ranking factor?
jonoalderson
1
3.7k
Transcript
AWSにおけるコンテナサービスの変化と 利用ユーザに求められることとは? KOITABASHI Yoshitaka 2022/12/9 yoshii0110 1
2022/12/9 yoshii0110 2 KOITABASHI Yoshitaka @yoshii0110 Full Cycle Developer KDDIアジャイル開発センター株式会社
AWS App Runner, AWS Fargate, Amazon SQS 🥷 🏢 💕
本日のセッションで話すこと・・・ • 話すこと • AWS におけるコンテナサービスについて • AWS App Runner
/ AWS Copilot やばいという話 • 責任共有モデルの話 • コンテナセキュリティと補助ツール • 話さないこと • コンテナについてや AWS の各コンテナサービスの詳細 • コンテナイメージ以外のセキュリティ 2022/12/9 yoshii0110 3
AWS におけるコンテナサービス 2022/12/9 yoshii0110 4 コンテナオーケストレーションサービス イメージレジストリ データプレーン 関連サービス Copilot
CLI AWS Proton AWS App Mesh AWS Cloud Map AWS App Runner Amazon CloudWatch Container Insights Amazon ECS Amazon EKS Amazon ECR
コンテナサービス周りの変化 2014 2015 2016 2017 2018 2019 2020 2021 2022
2022/12/9 yoshii0110 5 Amazon ECS Amazon ECR AWS Fargate Amazon EKS AWS Copilot AWS App Runner AWS Proton
各サービスを組み合わせると 2022/12/9 yoshii0110 6 Amazon EKS Amazon ECR Amazon ECS
Container Container Container Container Container Container Container Container コンテナの 実行環境 コンテナ オーケストレータ イメージレジストリ AWS Fargate Amazon EC2
Amazon ECS を使用したアーキテクチャ例 2022/12/9 yoshii0110 7 • ネットワークの設定 • Amazon
VPC • ELB など • コンテナ実行環境の設定 • Amazon EC2 • AWS Fargate • オンプレ (AWS Outposts/ EKS Anywhere / ECS Anywhere) • Edge / 5G (AWS Local Zone / AWS Wavelength) • コンテナイメージのBuild から Deploy の自動化設定 • Codeシリーズ
めんどくさくないですか? 2022/12/9 yoshii0110 8
AWS App Runner 2022/12/9 yoshii0110 9 Webアプリを仕様に合わせデプロイすると・・・? • コンテナ管理とかVPC周り •
ALB、NLB • scaling • 自動化するならcodebuildとか • => App Runnerがこれらをまとめて (隠蔽して) 提供してくれる。
AWS App Runner 上で アプリケーションをデプロイ 2022/12/9 yoshii0110 10
AWS App Runner 上のアプリケーションにおける ネットワーク設定 2022/12/9 yoshii0110 11
AWS Copilot • Amazon ECS CLI の後継にあたるもの • ECS CLI
は、Amazon ECS 環境に対する コンテナデプロイのためのツール • AWS Copilot がなぜ登場したのかいうと、 より ECS (App Runnerへのデプロイも対応)でコンテナを実行したいとなった時の ワークフローをシンプルにするためというモチベーションがある 2022/12/9 yoshii0110 12 https://github.com/aws/copilot-cli/
AWS Copilot を触ってみると Copilot CLI のインストール 2022/12/9 yoshii0110 13 Dockerfileを用意
Copilot CLI のコマンド実行
AWS Copilot で作成した資源の見え方 2022/12/9 yoshii0110 14 • 既存のコンテナサービスへのデプロイのワークフローを シンプルにするだけなので、資源自体は存在
責任共有モデル 2022/12/9 yoshii0110 15 https://aws.amazon.com/jp/compliance/shared-responsibility-model/
責任共有モデルの違い 2022/12/9 yoshii0110 16 App Language Runtime OS EC2 Instance
Hypervisor Hypervisor Customer responsibility AWS responsibility Amazon EC2 Amazon ECS AWS Fargate AWS App Runner Physical Server(s) Physical Server(s) Physical Server(s) ALB CI/CD App Language Runtime App Language Runtime Container Orchestration Agent OS EC2 Instance Customer responsibility AWS responsibility Container Orchestrator ALB CI/CD ALB CI/CD Hypervisor App Language Runtime App Language Runtime Container Orchestration Agent OS EC2 Instance Container Orchestrator Physical Server(s) ALB CI/CD Hypervisor App Language Runtime App Language Runtime Container Orchestration Agent OS EC2 Instance Container Orchestrator OR Auto Scaling Auto Scaling
コンテナセキュリティの全体像 2022/12/9 yoshii0110 17 コンテナイメージ イメージレジストリ オーケストレータ 実行されている コンテナ コンテナのホスト
• イメージの脆弱性 • イメージの設定内容 • シークレットな情報 • etc.. • レジストリへの接続 • レジストリ内のイメージ • 認証認可 • etc.. • 管理者アクセス • オーケストレータノードの 信頼性 • etc.. • ランタイムの脆弱性 • コンテナへのアクセス • アプリの脆弱性 • etc.. • 共有カーネル • ホスト OS の脆弱性 • 不適切な ユーザアクセス権限 • ホスト OS ファイルシス テムの改ざん • etc.. NIST SP800-190「アプリケーションコンテナセキュリティガイド」 https://www.ipa.go.jp/files/000085279.pdf
コンテナイメージ作成の補助となる静的解析ツール ① 2022/12/9 yoshii0110 18 https://docs.docker.jp/develop/develop-images/dockerfile_best-practices.html hadolint • Dockerfile の静的解析を行なってくれる
lint ツール • Dockerfile のベストプラクティスに従っているかをチェック • VS Codeのエクステンションも存在 https://github.com/hadolint/hadolint brew 経由でのインストール Hadolint の実行コマンド例
コンテナイメージ作成の補助となる静的解析ツール ② 2022/12/9 yoshii0110 19 dockle • コンテナイメージのセキュリティ診断ツール • コンテナイメージの静的解析
• ベストプラクティスに従っているかをチェック • またベースとする OS イメージの設定内容に関するもチェック https://github.com/hadolint/hadolint brew 経由でのインストール dockle の実行コマンド例
コンテナイメージ作成の補助となる脆弱性スキャンツール ① 2022/12/9 yoshii0110 20 Trivy • コンテナイメージの脆弱性スキャン • OS
パッケージと言語特有の依存関係に対するスキャン • Dockerfile を含む IaC の静的解析 https://github.com/hadolint/hadolint brew 経由でのインストール trivy の実行コマンド例
コンテナイメージ作成の補助となる脆弱性スキャンツール ② 2022/12/9 yoshii0110 21 Amazon Inspector • コンテナイメージの脆弱性スキャン •
基本スキャン イメージをプッシュしたタイミングで手動/自動で実施 • 拡張スキャン イメージのプッシュ時および継続的に Inspector による プログラミング言語のパッケージを含めたスキャンも実施 https://docs.aws.amazon.com/ja_jp/inspector/latest/use r/enable-disable-scanning-ecr.html
まとめ • AWS におけるコンテナサービスの変化 • 責任共有モデルの aws 側が責任を持つ領域が増えたサービスが 生まれている •
正直利用するときはユースケースに依存 => カスタマイズを細かくしたいなどの要件を満たせないといった場合がある • より運用が楽になるサービスを使えるのであれば検討を • その際にユーザ側に求められる責任範囲には注視する 2022/12/9 yoshii0110 22
一緒に働くメンバー大募集中!! 2022/12/9 yoshii0110 23 全社員がアジャイルネイティブ。 今年設立したばかりの会社!!🏢 ワイワイやっているので、興味あればぜひ!✨