1.1K Views
January 10, 24
スライド概要
GUIの手順書を見直そう! インスタンスタイプをCLIで操作 してみた 上地 航平(うえち こうへい)
自己紹介 上地 航平 - IT歴は約半年 - 24/365部隊として クラウドサービスを利用した運用 業務に従事 - 好きなAWSサービス: (うえち こうへい) twitterやってます! → @uechikohei_ https://twitter.com/uechikohei_ CloudFormation(CFn)
本日のアジェンダ 1. 概要 GUIとCLIについて 2. GUIの手順書を見直す理由 3. やってみた! インスタンスタイプをCLI操作で変更してみた。 4. まとめ
1.概要 AWSリソースを操作する方法! GUIとCLIについて
GUIとは (グラフィックインターフェース) AWSマネジメントコンソールを 使用した全ての操作のこと
GUIとは (グラフィックインターフェース) AWSマネジメントコンソールを 使用した全ての操作のこと GUI手順書とは GUI操作を全て テキストベースで落とし込んだ物 作業の標準化が目的のひとつ (誰がやっても、同じ結果となる)
CLIとは? (コマンドラインインターフェース) ・・・ ターミナル上から、 CLIコマンドを入力し AWSリソースを操作できるツール aws [options] <command> <subcommand> [parameters] 3つのセクションは必要です! ターミナル (黒い画面) CLIリファレンス・・・ https://awscli.amazonaws.com/v2/documentation/api/latest/index.html
CLIとは? (コマンドラインインターフェース) ・・・ <command> <subcommand> とは?? aws [options] <command> <subcommand> [parameters] 操作したい AWSサービスを指定 (ec2,rds,s3…..) ターミナル (黒い画面) CLIリファレンス・・・ https://awscli.amazonaws.com/v2/documentation/api/latest/index.html
CLIとは? (コマンドラインインターフェース) <command> <subcommand> とは?? ・・・ aws [options] <command> <subcommand> [parameters] 操作したい AWSサービスを指定 (ec2...) ターミナル (黒い画面) 操作の内容 X (例:インスタンスタイプ変更なら、 modify-instance-attribute) CLIリファレンス・・・ https://awscli.amazonaws.com/v2/documentation/api/latest/index.html
CLIで操作可能なAWSリソースを調べてみた (調査日:2022/02/08) aws [options] <command> <subcommand> [parameters] 304個 ターミナル (黒い画面) CLIリファレンス・・・ https://awscli.amazonaws.com/v2/documentation/api/latest/index.html
CLIで操作可能なAWSリソースを調べてみた (調査日:2022/02/08) aws [options] <command> <subcommand> [parameters] 304個 ターミナル (黒い画面) 11842個 CLIリファレンス・・・ https://awscli.amazonaws.com/v2/documentation/api/latest/index.html
普段GUIで ポチポチしている操作は、 CLIでも実現可能!
2.GUIの手順書を見直す理由
GUI手順書を使用するデメリットとは?? - AWSマネジメントコンソールの UI変更に伴い 手順書の都度更新が必要!
やってみた! インスタンスタイプをCLI操作で変更してみた。 https://zenn.dev/uechikohei/articles/19ce8e2ec9be57
CLIの実行環境について - Cloudshellを使用 (事前インストール不要) 手軽にCLIを実行できる環境。
CLI操作:①インスタンス状態の確認コマンド
aws ec2 describe-instances
--instance-ids 対象インスタンス
ID\
--filters Name=tag-key,Values=Name \
--query
'Reservations[*].Instances[*].{Name:Tags[?Key==`Name`]|[0
].Value,Instance:InstanceId,InstanceType:InstanceType,Sta
tus:State.Name}' \
--output table
4つの値を取得する
テーブル形式で出力
EC2の
詳細情報を取得する
CLI操作:①インスタンス状態の確認コマンド
aws ec2 describe-instances \
--filters Name=tag-key,Values=Name \
--query
確認コマンドの結果
⬇
'Reservations[*].Instances[*].{Name:Tags[?Key==`Name`]|[0].Value,Instan
ce:InstanceId,InstanceType:InstanceType,Status:State.Name}' \
--output table
|
DescribeInstances
|
+----------------------+---------------+-----------------------+----------+
|
Instance
| InstanceType
|
Name
| Status
|
+----------------------+---------------+-----------------------+----------+
|
i-02d1180aac203b042 |
t2.micro
|
cfn-alb-test-web-01
|
running |
CLI操作:②インスタンスを停止 EC2を aws ec2 stop-instances --instance-ids 対象イン スタンスID 停止させる
CLI操作:③停止を確認する aws ec2 stop-instances --instance-ids i-02d1180aac203b042 確認コマンドを実行 EC2停止コマンドのリファレンス: ステータスがStoppedを確認。 https://docs.aws.amazon.com/cli/latest/reference/ ec2/stop-instances.html | DescribeInstances | +----------------------+---------------+-----------------------+----------+ | Instance | InstanceType | Name | Status | +----------------------+---------------+-----------------------+----------+ | i-02d1180aac203b042 | t2.micro | cfn-alb-test-web-01 | stopped |
CLI操作:④インスタンスタイプを変更 aws ec2 modify-instance-attribute \ --instance-id i-02d1180aac203b042 \ --instance-type "{\"Value\": \"m1.small\"}" m1.smallを指定 インスタンスタイプを変更 EC2の
CLI操作:⑤インスタンスタイプの変更を確認 aws ec2 modify-instance-attribute \ 確認コマンドを実行 --instance-id i-02d1180aac203b042 \ インスタンスタイプがm1.smallを確認。 --instance-type "{\"Value\": \"m1.small\ "}" | DescribeInstances | +----------------------+---------------+-----------------------+----------+ | Instance | InstanceType | Name | Status | +----------------------+---------------+-----------------------+----------+ | i-02d1180aac203b042 | m1.small | cfn-alb-test-web-01 | stopped |
CLI操作:⑥インスタンスを起動 aws ec2 start-instances --instance-ids 対象イ ンスタンスID ec2を 起動させる
CLI操作:⑦インスタンスの起動を確認 確認コマンドを実行 aws ec2 start-instances --instance-ids i-02d1180aac203b042 インスタンスがrunning であることを確認。 | DescribeInstances | +----------------------+---------------+-----------------------+----------+ | Instance | InstanceType | Name | Status | +----------------------+---------------+-----------------------+----------+ | i-02d1180aac203b042 | m1.small | cfn-alb-test-web-01 | running |
まとめ
CLIで作る手順書のデメリットとは?? CLIコマンド作成の 時間と学習コストが高い
CLIで作る手順書のメリットとは?? - UI変更の影響を受けない - 自動化(スクリプト化)が可能 ①describeーinstance 詳細情報確認 ②stopーinstance 停止 - 標準化できる ③modifyーinstanceーattribute タイプ変更 誰が行っても同じ結果が得られる https://zenn.dev/uechikohei/articles/19c e8e2ec9be57 ④startーinstance 起動
CLIって楽しい!学びの場 CLIコマンドリファレンス: https://awscli.amazonaws.com/v2/documentation/api/latest/index.html Jaws-UG CLI専門支部: (ハンズオンが多い!) https://jawsug-cli.connpass.com/
最後まで ご清聴ありがとうございました