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 CLI でやってみる ~ AWS Hands-on for Beginners ECS...
Search
Kento Suzuki
August 09, 2022
Technology
1
2.6k
AWS CLI でやってみる ~ AWS Hands-on for Beginners ECS ハンズオン ~
JAWS-UGコンテナ支部 入門編 #7 初心者大歓迎LT大会
のスライド
Kento Suzuki
August 09, 2022
Tweet
Share
More Decks by Kento Suzuki
See All by Kento Suzuki
バッドプラクティスから学ぶハワイアン航空で行く re:Invent
kentosuzuki
0
340
上流工程に挑戦!「俺の考えた最強サーバレス構成」が一瞬で敗北した件
kentosuzuki
2
320
S3から始めるAWS 〜S3の簡単なユースケースの紹介〜
kentosuzuki
1
660
AWS のポリシー言語 “Cedar” で実現するアクセス制御
kentosuzuki
0
410
探せぇ!お薦めAWSセキュリティワークショップ!!〜 怒涛のワークショップ 48 連戦 〜
kentosuzuki
1
710
SIEM って何?〜 Amazon OpenSearch で始める SIEM 〜
kentosuzuki
0
940
Verified Accessから始めるゼロトラストセキュリティ
kentosuzuki
1
700
復活のAWS DeepComposer 〜 古代兵器から始める生成系AI 〜
kentosuzuki
0
370
新卒入社が考える『AWSではじめるクラウドセキュリティ』を読むタイミング
kentosuzuki
0
730
Other Decks in Technology
See All in Technology
プロジェクトマネジメントは不確実性との対話だ
hisashiwatanabe
0
130
20250807_Kiroと私の反省会
riz3f7
0
260
Claude Codeは仕様駆動の夢を見ない
gotalab555
23
7.1k
AIは変更差分からユニットテスト_結合テスト_システムテストでテストすべきことが出せるのか?
mineo_matsuya
3
1.6k
Amazon Qで2Dゲームを作成してみた
siromi
0
160
いま、あらためて考えてみるアカウント管理 with IaC / Account management with IaC
kohbis
1
290
マルチプロダクト×マルチテナントを支えるモジュラモノリスを中心としたアソビューのアーキテクチャ
disc99
1
650
[OCI Technical Deep Dive] OracleのAI戦略(2025年8月5日開催)
oracle4engineer
PRO
1
230
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
3
1.6k
AIが住民向けコンシェルジュに?Amazon Connectと生成AIで実現する自治体AIエージェント!
yuyeah
0
170
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
3
340
Amazon Inspector コードセキュリティで手軽に実現するシフトレフト
maimyyym
0
140
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Faster Mobile Websites
deanohume
309
31k
Music & Morning Musume
bryan
46
6.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
BBQ
matthewcrist
89
9.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Making Projects Easy
brettharned
117
6.3k
Side Projects
sachag
455
43k
Embracing the Ebb and Flow
colly
86
4.8k
Transcript
AWS CLI でやってみる ~ AWS Hands-on for Beginners ECS ハンズオン
~ 2022/08/09 (火) JAWS-UGコンテナ支部 入門編 #7 初心者大歓迎LT大会 Kento Suzuki
自己紹介 名前:鈴木健斗 (@k_suzuki_pnx) 所属:アイレット株式会社 経歴: ・新卒3年目(エンジニア歴 = 社会人歴) ・コンテナ歴はチュートリアル程度 ・業務でコンテナは触らない
・JAWS-UG CLI専門支部に参加してたりする ・2022 APN ALL AWS Certifications Engineer ・2022 APN AWS Top Engineer 好きなお茶:綾鷹
AWS CLI でやってみる ~ AWS Hands-on for Beginners ECS ハンズオン
~ 背景
ローカルで コンテナ起動した チュートリアルは一通り コンテナのセミナー 悩み コンテナに興味がある!! でも... Next Step は?
何が分からないのか 分からない コンテナの概念についての 説明はもう十分
とりあえず AWS公式の初心者向けハンズオンをやろう
Hands-on for Beginners https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/ 22 の初心者向けハンズオン (2022/08/09 時点) • アカウント作成
• セキュリティ • ネットワーク • サーバレス • 監視 • AI / ML etc.
Amazon Elastic Container Service 入門 コンテナイメージを作って動かしてみよう 🎉🎉 2022/06公開 🎉🎉 AWS上でコンテナを作成、
簡単な操作を体験可能!! https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-ECS-2022-reg-event.html
AWS コンソールで ハンズオンをやってみた結果
None
コンソールをポチポチ! 気付いたらハンズオン完了
裏で CloudFormation スタックが作成されてるし... スタックが作られるタイミングは ・クラスターの作成 ・タスク定義の作成 ・サービスの作成
何の処理(API)が実行された? どのような設定値のリソースが作成された?
AWS CLI でやってみる ~ AWS Hands-on for Beginners ECS ハンズオン
~
どうやって AWS CLI のコマンドを作る? 手順 ① 手動でリソースを作成する ② AWS CLI
の describe 系のコマンドを使用して手動作成リソースを出力 ③ describe コマンドの結果を基に AWS CLI コマンドを作成
ECS に関するリソース作成手順を Pick Up !! AWS CLI 化する手順 ・ECR の作成
・ESC クラスターの作成 ・ECS タスク定義の作成 ・サービスの作成 VPC、Cloud9 は手動で作っちゃいました
AWS CLI は AWS CloudShell から実行 AWS CloudShell とは ・AWS
対応のシェルプロンプトの作業を簡単かつセキュアにし、 できるだけ手間を少なくすることを目的としたサービス ・AWS CLI (v2) が事前にインストールおよび設定されている ( 実施時は aws-cli/2.7.20 )
作られし CLI コマンドたち そして
ECR コマンド:create-repository オプション:基本リポジトリ名だけ ※ 後の手順でリポジトリURLを使用する マネジメントコンソールで実施した際、特に不明点がなかったので問題なし
クラスター コマンド:create-cluster オプション:クラスター名、ログ設定、Fargateの指定 なるほど! キャパシティープロバイダー ヨシ! Capacity Providerとは?ECSの次世代スケーリング戦略を解説する #reinvent #cmregrowth https://dev.classmethod.jp/articles/regrwoth-capacity-provider/
タスク定義 --container-definitions パラメータが長くて見えない...
タスク定義(拡大) コマンド:register-task-definition オプション:タスク定義名、ネットワークモード、CPU、メモリ、実行IAMロール、コンテナの定義、 コンテナのプラットフォーム --container-definitions はコンテナ名、使用イメージ、コンテナが使用するポートなど
--cli-input-json コマンドが楽?? ECSタスク定義をコンソールから作って後悔した後、コード管理するため最速でJSON登録可能にする超愚直な方法 https://dev.classmethod.jp/articles/ecs-task-definition-to-json/
サービス ここがコンソールからハンズオンをしていて、一番分からなかったポイント CloudFormation スタックを 確認したところ、以下が作成されていた ・ECSのサービス ・ALB ・ターゲットグループ ・リスナー
サービス ( TargetGroup ) まずターゲットグループを作成 コマンド:create-target-group オプション:プロトコル、ポート、VPC、 ターゲットタイプ ※ 後の手順でターゲットグループの
ARN を使用
サービス ( ALB ) 続いて ALB を作成 コマンド:create-load-balancer オプション:ALB名、サブネット ※
後の手順で ALB の ARN を使用
サービス ( リスナー ) コマンド: create-listener オプション:ALB、ポート、プロトコル、デフォルトアクション ALB と ターゲットグループを紐付けるというイメージ
サービス コマンド:create-service オプション:クラスター、サービス名、タスク定義、デフォルトアクション、ELB、ネットワーク これが最後!!!
サービス エラーでた....
サービス (エラー発生の理由) ロググループの権限エラー 対象のロググループを手動で作成 → 成功 タスク定義作成時の挙動 ・マネジメントコンソール → ロググループが自動で作成される
・AWS CLI → ロググループは作成されない
学び
学び 1. 何のサービスが、どのような設定値で作成されているかが分かる → マネジメントコンソールだと Fargate の指定や、ネットワーク周りの設定を上手くやってくれてる 2. ECS作成の一部オプションは長く書きづらい →
「--cli-input-json」 コマンドを使用して全部 JSON 形式で記述? 3. AWS CLI Command Reference で 「Docker Remote API の 〇〇 オプションに対応します」という記述があるが、 そもそも Docker をそこまで理解できていないことが分かった
マネジメントコンソールで なんとなく ECS を触ってませんか? ぜひ AWS CLI を使ってみてください!