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
2.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CLI でやってみる ~ AWS Hands-on for Beginners ECS ハンズオン ~
JAWS-UGコンテナ支部 入門編 #7 初心者大歓迎LT大会
のスライド
Kento Suzuki
August 09, 2022
More Decks by Kento Suzuki
See All by Kento Suzuki
Netflix の裏側に何があるのか...その謎を解明すべく、我々は Amazon の奥地へと向かった
kentosuzuki
0
95
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
300
バッドプラクティスから学ぶハワイアン航空で行く re:Invent
kentosuzuki
0
550
上流工程に挑戦!「俺の考えた最強サーバレス構成」が一瞬で敗北した件
kentosuzuki
2
430
S3から始めるAWS 〜S3の簡単なユースケースの紹介〜
kentosuzuki
1
840
AWS のポリシー言語 “Cedar” で実現するアクセス制御
kentosuzuki
0
520
探せぇ!お薦めAWSセキュリティワークショップ!!〜 怒涛のワークショップ 48 連戦 〜
kentosuzuki
1
850
SIEM って何?〜 Amazon OpenSearch で始める SIEM 〜
kentosuzuki
0
1.2k
Verified Accessから始めるゼロトラストセキュリティ
kentosuzuki
2
960
Other Decks in Technology
See All in Technology
【GCC2026】TrueHDRIを用いたルックデブ環境とライティングテクニック
bandainamcostudios
PRO
0
150
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
130
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
170
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
190
FDEの心得
noriakioji
5
6.4k
RelayerというPHPのフレームワークを作った
polidog
PRO
0
100
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
160
Genie Codeハンズオン応用編
taka_aki
0
140
My broken English still works: speaking at global OSS events
naruoga
0
120
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
360
35分でわかるEffective Platform Engineering
nwiizo
5
570
AIのためのEthernet技術動向 (SerDes)
markunet
1
270
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
660
How GitHub (no longer) Works
holman
316
150k
The SEO identity crisis: Don't let AI make you average
varn
0
530
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Navigating Weather and Climate Data
rabernat
0
490
Exploring anti-patterns in Rails
aemeredith
3
470
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
220
ラッコキーワード サービス紹介資料
rakko
1
4.5M
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
How to Think Like a Performance Engineer
csswizardry
28
2.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 を使ってみてください!