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
1
2.7k
第84回 雲勉【オンライン:初心者向け】ECS入門 ~ CloudFront + ELB + ECS FargateでWebサイトを公開 ~
Y.Sumikura
September 16, 2022
Tweet
Share
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
200
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
190
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
170
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
240
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.2k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
2
330
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
150
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
56
Other Decks in Technology
See All in Technology
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
200
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
270
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
110
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
38
16k
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
770
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
140
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
210
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
270
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Being A Developer After 40
akosma
87
590k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Building Adaptive Systems
keathley
38
2.3k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
The World Runs on Bad Software
bkeepers
PRO
66
11k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
A Tale of Four Properties
chriscoyier
157
23k
Done Done
chrislema
182
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
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. 質疑応答