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
260
S3から始めるAWS 〜S3の簡単なユースケースの紹介〜
kentosuzuki
1
480
AWS のポリシー言語 “Cedar” で実現するアクセス制御
kentosuzuki
0
260
探せぇ!お薦めAWSセキュリティワークショップ!!〜 怒涛のワークショップ 48 連戦 〜
kentosuzuki
1
600
SIEM って何?〜 Amazon OpenSearch で始める SIEM 〜
kentosuzuki
0
730
Verified Accessから始めるゼロトラストセキュリティ
kentosuzuki
1
590
復活のAWS DeepComposer 〜 古代兵器から始める生成系AI 〜
kentosuzuki
0
290
新卒入社が考える『AWSではじめるクラウドセキュリティ』を読むタイミング
kentosuzuki
0
600
Cloudflare Pages使ってみた- ついでにAWS Amplifyもワカル -
kentosuzuki
3
950
Other Decks in Technology
See All in Technology
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
Lexical Analysis
shigashiyama
1
150
複雑なState管理からの脱却
sansantech
PRO
1
140
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
210
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
590
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
7
820
Featured
See All Featured
Building an army of robots
kneath
302
43k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Designing for humans not robots
tammielis
250
25k
Scaling GitHub
holman
458
140k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Bash Introduction
62gerente
608
210k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
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 を使ってみてください!