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.4k
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
上流工程に挑戦!「俺の考えた最強サーバレス構成」が一瞬で敗北した件
kentosuzuki
2
270
S3から始めるAWS 〜S3の簡単なユースケースの紹介〜
kentosuzuki
1
510
AWS のポリシー言語 “Cedar” で実現するアクセス制御
kentosuzuki
0
280
探せぇ!お薦めAWSセキュリティワークショップ!!〜 怒涛のワークショップ 48 連戦 〜
kentosuzuki
1
620
SIEM って何?〜 Amazon OpenSearch で始める SIEM 〜
kentosuzuki
0
760
Verified Accessから始めるゼロトラストセキュリティ
kentosuzuki
1
600
復活のAWS DeepComposer 〜 古代兵器から始める生成系AI 〜
kentosuzuki
0
300
新卒入社が考える『AWSではじめるクラウドセキュリティ』を読むタイミング
kentosuzuki
0
620
Cloudflare Pages使ってみた- ついでにAWS Amplifyもワカル -
kentosuzuki
3
980
Other Decks in Technology
See All in Technology
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
170
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
190
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
190
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
210
20241220_S3 tablesの使い方を検証してみた
handy
4
580
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
290
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
130
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Automating Front-end Workflow
addyosmani
1366
200k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
How STYLIGHT went responsive
nonsquared
95
5.2k
Building Applications with DynamoDB
mza
91
6.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Music & Morning Musume
bryan
46
6.2k
For a Future-Friendly Web
brad_frost
175
9.4k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Agile that works and the tools we love
rasmusluckow
328
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
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 を使ってみてください!