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
270
上流工程に挑戦!「俺の考えた最強サーバレス構成」が一瞬で敗北した件
kentosuzuki
2
310
S3から始めるAWS 〜S3の簡単なユースケースの紹介〜
kentosuzuki
1
630
AWS のポリシー言語 “Cedar” で実現するアクセス制御
kentosuzuki
0
400
探せぇ!お薦めAWSセキュリティワークショップ!!〜 怒涛のワークショップ 48 連戦 〜
kentosuzuki
1
700
SIEM って何?〜 Amazon OpenSearch で始める SIEM 〜
kentosuzuki
0
900
Verified Accessから始めるゼロトラストセキュリティ
kentosuzuki
1
680
復活のAWS DeepComposer 〜 古代兵器から始める生成系AI 〜
kentosuzuki
0
360
新卒入社が考える『AWSではじめるクラウドセキュリティ』を読むタイミング
kentosuzuki
0
710
Other Decks in Technology
See All in Technology
赤煉瓦倉庫勉強会「Databricksを選んだ理由と、絶賛真っ只中のデータ基盤移行体験記」
ivry_presentationmaterials
2
330
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
450
AWS認定を取る中で感じたこと
siromi
1
180
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
6
4.1k
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
14k
CursorによるPMO業務の代替 / Automating PMO Tasks with Cursor
motoyoshi_kakaku
2
930
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
2
8.3k
Model Mondays S2E03: SLMs & Reasoning
nitya
0
350
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
130
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
230
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
160
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
360
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Faster Mobile Websites
deanohume
307
31k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Agile that works and the tools we love
rasmusluckow
329
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
52k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Become a Pro
speakerdeck
PRO
28
5.4k
RailsConf 2023
tenderlove
30
1.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
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 を使ってみてください!