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
第84回 雲勉【オンライン:初心者向け】ECS入門 ~ CloudFront + ELB + ...
Search
Y.Sumikura
September 16, 2022
Technology
3.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第84回 雲勉【オンライン:初心者向け】ECS入門 ~ CloudFront + ELB + ECS FargateでWebサイトを公開 ~
Y.Sumikura
September 16, 2022
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
330
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
190
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
260
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
270
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
390
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
13
5.1k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
3
680
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
200
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
84
Other Decks in Technology
See All in Technology
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.3k
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
280
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
710
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
5.6k
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
940
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
400
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
440
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
170
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
140
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
190
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
3.6k
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Designing Powerful Visuals for Engaging Learning
tmiket
1
450
Why Our Code Smells
bkeepers
PRO
340
58k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The browser strikes back
jonoalderson
0
1.4k
Building Adaptive Systems
keathley
44
3.1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
260
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
Transcript
第84回 雲勉 2022/09/15 アイレット株式会社 ECS入門 ~ CloudFront + ELB +
ECS FargateでWebサイトを公開 ~
0. 自己紹介 2 松田 啓佑 • 所属 ◦ クラウドインテグレーション事業部 構築第2セクション
• 普段の業務 ◦ AWSを中心としたインフラ設計/構築/運用 ◦ NewRelic/Datadogを利用した監視の設計/実装 • 好きなAWSサービス ◦ ECS ◦ StepFunctions
本日のゴール 3 - ECSとFargateが何かを理解する - ECSを利用した基本的なシステム構築手法をイメージできるようになる
本日のアジェンダ 4 - 0. 自己紹介 - 1. ECS、Fargateとは(19:05-19:25) - 2.
ECS Fargate、ELB、CloudFrontを使用してWebサイトを公開する (19:25-50) - 3. 質疑応答 (19:50-20:00)
5 1. ECS、Fargateとは
1. ECS、Fargateとは 6 • ECSとは ◦ AWSが提供するフルマネージドコンテナオーケストレーションサービス ◦ オーケストレーション =
管理
1. ECS、Fargateとは 7 オーケストレーションがない世界(管理対象1つ) 管理対象が少なければ問題はないが....
1. ECS、Fargateとは 8 オーケストレーションサービスがない世界(管理対象複数) 対象が増えると管理が煩雑になり、オペレーションミス発生などを招いてしまう!
1. ECS、Fargateとは 9 オーケストレーションがある世界 面倒な管理作業はオーケストレーションサービスにお任せ!
1. ECS、Fargateとは 10 • ECS(Elastic Container Service)とは ◦ AWSが提供するフルマネージドコンテナオーケストレーションサービス ◦
オーケストレーション = 管理 ◦ コンテナをいい感じに管理してくれるサービス
1. ECS、Fargateとは 11 AWSのオーケストレーションサービス • ECS(Elastic Container Service) ◦ 小/中規模ワークロード向け
◦ AWS独自ソフトウェアがベース • EKS(Elastic Kubernetes Service) ◦ 大規模ワークロード向け ◦ Kubernetesがベース
1. ECS、Fargateとは 12 • ECSとは ◦ AWSが提供するフルマネージドコンテナオーケストレーションサービス ◦ オーケストレーション =
管理 ◦ コンテナをいい感じに管理してくれるサービス • Fargateとは ◦ ECSで利用可能なサーバレスコンテナ実行環境 ◦ ECSの基盤となるインスタンスの管理をオフロードする ◦ つまり管理者はインスタンスの運用から解放される
1. ECS、Fargateとは 13 • AWSのコンテナサービスはコントロールプレーンとデータプレーンの2つで構成される • コントロールプレーン = ECS、データプレーン =
Fargate • データプレーンには2種類ある [コントロールプレーン] コンテナを管理する機能 [データプレーン] コンテナが稼働する リソース環境
1. ECS、Fargateとは 14 [ データプレーン EC2 ] • インスタンスを管理する必要がある •
インスタンスを柔軟に設定/調整することができる [ EC2 ] [ Fargate ] [ データプレーン Fargate ] • インスタンスの管理が不要! • EC2に比べて若干コストが高い
1. ECS、Fargateとは 15 [ データプレーン EC2 ] • インスタンスを管理する必要がある •
インスタンスを柔軟に設定/調整することができる [ EC2 ] [ Fargate ] [ データプレーン Fargate ] • インスタンスの管理が不要 • EC2に比べて若干コストが高い 特別な理由がない限りは Fargateを使うべし!
1. ECS、Fargateとは 16 - クラスター - タスク - タスク定義 -
サービス ECSの構成要素
1. ECS、Fargateとは 17 - クラスター - タスク - タスク定義 -
サービス ECSの構成要素 [クラスター] - サービスとタスクを分離するための論理グループ - 実行環境やIAM権限の境界線 クラスター = ただの箱
1. ECS、Fargateとは 18 - クラスター - タスク - タスク定義 -
サービス ECSの構成要素 [タスク] - アプリケーションの実行単位 - 1つ以上のコンテナから構成される - (同じタスクのコンテナは同じホスト上で稼働する ) タスク = アプリケーションを実行するコンテナ群
1. ECS、Fargateとは 19 - クラスター - タスク - タスク定義 -
サービス ECSの構成要素 [タスク定義] - タスクを構成するテンプレート - アプリケーションを構成する 1つ以上のコンテナを定義する - JSON形式で記述される タスク定義 = タスクの金型
1. ECS、Fargateとは 20 - クラスター - タスク - タスク定義 -
サービス ECSの構成要素 [サービス] - 起動タイプを指定(Fargate or EC2) - タスク実行数を定義 - タスク数を維持 - ELBと連携 サービス = タスクの管理人
1. ECS、Fargateとは 21 コンテナの実行方法 ECSにおいてコンテナを実行させる方法は2つ • タスクから実行 ◦ コンテナが終了したら、タスクも終了 ◦
バッチ処理などにて利用する • サービスから実行 ◦ 指定したタスク数を維持する ◦ ELBなどの他サービスとの連携が可能 ◦ Webアプリケーションなどの常時起動処理にて利用する
1. ECS、Fargateとは 22 ECSで稼働するアプリケーションの更新方法
1. ECS、Fargateとは 23 ECSで稼働するアプリケーションの更新方法 タスク定義の新しいリビジョンを作成して、サービスにてリビジョンの指定を更新する
24 2. ECS Fargate、ELB、CloudFrontを使用してWebサイトを公開する
2. ECS Fargate、ELB、CloudFrontを使用してWebサイトを公開する 25 ◆実施すること NGINXコンテナをECS Fargate上で稼働させ、CloudfrontとALBを利用して インターネットにWebサーバを公開する! ◆ゴール WebブラウザからCloudfrontのエンドポイントに接続したら、NGINXのWebサイトが
ブラウザに表示される!
2. ECS Fargate、ELB、CloudFrontを使用してWebサイトを公開する 26 - 0. 事前準備 - 1. 構築
- 1.1 コンテナイメージの作成、ECRへPUSH - 1.2 ALBの作成 - 1.3 クラスターの作成 - 1.4 タスク定義の作成 - 1.5 サービスの作成 - 1.6 Cloudfrontディストリビューションの作成
2. ECS Fargate、ELB、CloudFrontを使用してWebサイトを公開する 27 成果物
2. ECS Fargate、ELB、CloudFrontを使用してWebサイトを公開する 28 - 0. 事前準備 - 1. 構築
- 1.1 コンテナイメージの作成、ECRへPUSH - 1.2 ALBの作成 - 1.3 クラスターの作成 - 1.4 タスク定義の作成 - 1.5 サービスの作成 - 1.6 Cloudfrontディストリビューションの作成
2. ECS Fargate、ELB、CloudFrontを使用してWebサイトを公開する 29 ネットワーク周りのリソースを作成する - VPC - インターネットGW -
サブネット(ルートテーブル) - Public x 2 - デフォルトルート : インターネットGW - Private x 2 - デフォルトルート:NAT GW - NAT GW - セキュリティグループ - ALB用 - Ingress : 80 : ALL - Egress : ALL : ALL - ECS用 - Ingress : 80 : from ALB sg - Egress : ALL : ALL
2. ECS Fargate、ELB、CloudFrontを使用してWebサイトを公開する 30 - 0. 事前準備 - 1. 構築
- 1.1 コンテナイメージの作成、ECRへPUSH - 1.2 ALBの作成 - 1.3 クラスターの作成 - 1.4 タスク定義の作成 - 1.5 サービスの作成 - 1.6 Cloudfrontディストリビューションの作成
31 3. 質疑応答