SlideShare a Scribd company logo
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
Hiroki Uchida /
Solution Architect
Amazon Web Services Japan
2020-04-20
AWS Command Line Interface
(AWS CLI) version 2 GA記念!
〜今からでも間に合う機能のおさらい〜
@nikuyoshi
#jawsug #jawsug_cli
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
自己紹介
内田 大樹 (うちだ ひろき)
インダストリソリューション部
ソリューションアーキテクト
前職までの経験
通信会社でアプリケーション開発、監視、インフラ構
築の業務に携わっておりました
好きなAWSサービス
AWS Commnad Line Interface
AWS CDK
@nikuyoshi
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
近況 & 宣伝
https://aws.amazon.com/jp/blogs/news/webinar-bb-aws-command-line-interface-2019/
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
Twitterのハッシュタグはこちら
#jawsug #jawsug_cli
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
アジェンダと想定読者
アジェンダ
• AWS CLI の概要 (v1/v2共通)
• AWS CLI v2のアップデート概要
• AWS CLI v1 → v2の移行方法
• 意外と知られていない便利な機能
• まとめ
想定読者
• AWS CLI v2をこれから利用される方
• AWS CLI v2を利用中の方
v1との共通機能についてはあまり触れないため、Black Beltも是非ご覧ください。
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWS CLIの概要
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWS環境に対するオペレーション方法
AWS Management
Console
AWS Command
Line Interface
SDK
AWS
ミドルウェア
Amazon EC2
Amazon Simple Storage
Service (S3)
Amazon RDS
AmazonVPC
手段 実行対象
アプリケーション
手作業、OpsWorks、Chef、
Ansible …
AWS CloudFormation
手作業、自作スクリプト、
CodeDeploy …
ミドルウェア、
ミドルウェア設定…
アプリケーション、
アプリケーション設定…
v1 v2
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWS Command Line Interface (AWS CLI)とは
AWSの各種サービスをコマンドで操作できるOSSの統合ツールです。AWS CLIのサブコマン
ドはAWSのAPI実装に追従しており、 ほぼ全てのAWSサービス、APIの操作を網羅してい
ます。 ※ Windows、Linux、Mac、Unixプラットフォームに対応しており、S3用にはcp、
syncなどの便利な機能(High-Level API)もご利用できます。
※新機能の追加に従って常に更新されるため、定期的にAWS CLIをアップデートすることを推奨します。
Compute Media
Security, Identity and Compliance Robotics
Management & Governance Application Integration
Analytics Networking & Content Delivery
Block
chain
Business Applications Mobile
v1 v2
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
何故AWS CLIを使うかは、波多野さんパートにて!
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWS CLI v2のアップデート概要
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
新機能一覧
• インストール方法の変更 (macOS、Linux用インストーラー)
• 自動補完の機能改善、Auto-prompt
• 認証の設定方法の追加 (AWS SSO、CSVインポート)
• Wizard機能の追加
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
インストール方法の変更
Windowsに加え、macOS、Linux用のインストーラーが提供されるようになりまし
た。今まではPythonのインストールが個別に必要でしたが、v2以降は不要です。
インストーラーに含まれているPythonのバージョンが適用されます。
v2
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv1.html
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html
$ pip3 install awscli --upgrade --user
v1からの移行方法については後述します。
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o
"awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
v1
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
自動補完の機能改善、Auto-prompt (1/2)
今までも自動補完の機能はありましたが、以下の機能が追加、向上しました。
• 自動補完の速度向上
• サーバー側のリソース名補完
$ aws dynamodb update-table --table-name MyTable<TAB>
MyTable1 MyTable2
Auto-promptという機能も追加され、どのパラメータを指定するか分からない
場合は –-cli-auto-prompt 機能を使えば、必要な全てのパラメータを入力
するよう求められます。
$ aws iam create-user --cli-auto-prompt
--user-name: James
v2
(次スライドに続く)
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
自動補完の機能改善、Auto-prompt (2/2)
必要なすべてのパラメータを入力すると、オプションパラメータのリストが以下
のように表示されます。
$ aws iam create-user --cli-auto-prompt
--user-name: James
v2
--permissions-boundary [string]: The ARN of the policy that is used to set …
--tags [list]: A list of tags that you want to attach to the newly created user.
[DONE] Parameter input finished
Parameter input finished を選択すると、コマンドを実行するか、標準
出力するかを選択できます。
$ aws iam create-user --cli-auto-prompt
--user-name: James
--path: /devs/
Print CLI command
Execute CLI command>
---path [string]: The path for the user name.>
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
Wizard機能の追加
一連の質問に答えていくだけで、DynamoDBのテーブル等を簡単に作成できま
す。以下のコマンドは、DynamoDBテーブルを作成する例です。
v2
$ aws dynamodb wizard new-table
Enter the name of the table: MyTable
Enter the name of the primary key: pk
Primary key type
Number
Binary
String>
現時点でウィザードに対応しているコマンドは次のとおりです。
• configure
• dynamodb
• iam
• lambda
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
認証の設定方法の追加(1/3)
以下の方法が追加されました。
• CSVファイルからのインポート
• AWS Single Sign-On(AWS SSO)による認証情報の設定
CSVファイルからのインポート
IAMユーザー新規作成時等にダウンロードできるCSVファイルを、AWS CLIの認
証設定ファイルにインポートできる機能です。
$ aws configure import --csv file://path/to/creds.csv
v2
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
認証の設定方法の追加(2/3)
AWS SSOによる認証情報の設定
aws configure sso コマンドを使用して、AWS SSOによる認証情報の設
定と使用がサポートされました。
$ aws configure sso
SSO start URL [None]: https://d-0123456790.awsapps.com/start
SSO Region [None]: us-west-2
Attempting to automatically open the SSO authorization page in your default browser. If the browser does not open or you
wish to use a different device to authorize this request, open the following URL:
https://device.sso.us-west-2.amazonaws.com/
Then enter the code:
ABCD-EFGH
Successully logged into Start URL: https://d-1234567890.awsapps.com/start
There are 2 AWS accounts available to you.
Using the account ID 123456789012
There are 2 roles available to you.
Using the role name "readOnly"
CLI default client Region [None]: us-west-2
CLI default output format [None]: json
CLI profile name [readOnly-123456789012]: my-sso-profile
To use this profile, specify the profile name using --profile, as shown:
aws s3 ls --profile my-sso-profile
v2
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
認証の設定方法の追加(3/3)
設定の確認方法については、以下のコマンドのように aws configure
list を実行します。
$ aws configure list --profile my-sso-profile
Name Value Type Location
---- ----- ---- --------
profile my-sso-profile manual --profile
access_key ******************** sso
secret_key ******************** sso
region us-west-2 config-file ~/.aws/config
v2
[profile my-sso-profile]
sso_start_url = https://d-1234567890.awsapps.com/start
sso_region = us-west-2
sso_account_id = …
sso_role_name = …
region = ap-northeast-1
output = json
~/.aws/config
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWS CLI v1 → v2の移行方法
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
移行方法について(1/2)
AWS CLI v1からv2に移行する際は、v1をアンインストール後にv2のみを利用
することを推奨しております。(同じ aws コマンドが使用されるため)
v1、v2を混在させなければならない場合は、OSの機能を利用して2つの
aws コマンドのどちらかに異なる名前のエイリアス名をつけてください。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html
$ which aws
/usr/bin/aws
$ ll /usr/bin/aws
-rwxr-xr-x 1 root root 818 1月 6 18:03 /usr/bin/aws
-- (AWS CLI v2のインストール) –
-- (v2へのシンボリックリンクはり直し) --
$ which aws2
/usr/local/bin/aws2
$ ll /usr/local/bin/aws2
lrwxrwxrwx 1 root root 37 4月 20 05:15 /usr/local/bin/aws2 -> /usr/local/aws-cli/v2/current/bin/aws
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
移行方法について(2/2)
AWS CLI v2は、v1のコマンドの後方互換性を維持しているものも多くあります。
そのため、既存のスクリプトを変更しなくても問題ないパターンもあります。テ
ストを実施する前に、重要な変更について確認したい場合は公式ドキュメントを、
全ての変更を確認したい場合はGitHubのv2ブランチのCHANGELOGをご覧くだ
さい。
公式ドキュメント
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cliv2-migration.html
GitHub
https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
意外と知られていない便利な機能
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
意外と知られていない便利な機能
• トラブルシューティング方法
• AWS CLIのエイリアス作成方法
• AWS CLI のコンテナ
• アクセスキーを用いない認証情報の取得
v1 v2
v1 v2
v1 v2
v2
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
トラブルシューティング方法
--debug オプションをつけるとコマンド実行の詳細を確認でき、エ
ラー時に活躍します。詳細情報は以下の情報が含まれます。
• 認証情報の検索
• 指定されたパラメータの解析
• AWSサーバーに送信されるリクエストの作成
• raw レスポンスの内容
• フォーマットされた出力
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-troubleshooting.html
$ aws iam list-groups --profile MyTestProfile --debug
2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-
cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205
2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - Arguments entered to
CLI: ['iam', 'list-groups', '--debug']
v2v1
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWS CLI のエイリアス作成方法
https://github.com/awslabs/awscli-aliases
$ git clone https://github.com/awslabs/awscli-aliases.git
$ mkdir -p ~/.aws/cli
$ cp awscli-aliases/alias ~/.aws/cli/alias
{
"Account": ”123456789012”,
"UserId": ”sample”,
"Arn": "arn:aws:iam::123456789012:user/sample"
}
[toplevel]
whoami = sts get-caller-identity
…
~/.aws/cli/alias
$ aws whoami
aws whoami のようなエイリアスコマンドを設定できます。設定ファイルは、
~/.aws/cli/alias に配置します。
v2v1
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWS CLI のコンテナ
AWS CLIのコンテナイメージがリリースされました。これにより、自前でAWS
CLIのコンテナイメージを作成されていた方は管理が不要になりました。
https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-docker.html
https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-docker-image/
v2
$ docker run --rm -it amazon/aws-cli:2.0.8 --version
aws-cli/2.0.8 Python/3.7.3 Linux/4.19.76-linuxkit botocore/2.0.0dev12
$ alias aws='docker run --rm -it amazon/aws-cli:2.0.6’
$ aws -–version
aws-cli/2.0.8 Python/3.7.3 Linux/4.19.76-linuxkit botocore/2.0.0dev12
エイリアスを利用することで、実行コマンドを短縮できます。
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
アクセスキーを用いない認証情報の取得(1/2)
EC2インスタンス内からAWS CLIを実行すると、コマンドへの認証情報の提供を
簡素化できます。各EC2インスタンスにはメタデータが含まれており、一時的な
認証情報をもとにクエリを実行できます。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-metadata.html
[profile marketingadmin]
credential_source = Ec2InstanceMetadata
role_arn = arn:aws:iam::123456789012:role/marketingadminrole
~/.aws/config
v2v1
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
VPC
VPCエンドポイント
EC2
AWS Direct
Connect
オンプレミス
アクセスキーを用いない認証情報の取得(2/2)
閉域でアクセスするパターン
v2v1
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
まとめ
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
まとめ
本日以下のことをお伝えしました。
• AWS CLI の概要
• AWS CLI v2のアップデート概要
• AWS CLI v1 → v2の移行方法
• 意外と知られていない便利な機能
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
Appendix
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
参考: AWS CLIの過去の発表
AWS CLI v2 が一般利用可能となりました | Amazon Web Services ブログ
https://aws.amazon.com/jp/blogs/news/aws-cli-v2-is-now-generally-available/
AWS re:Invent 2019: Introduction to the AWS CLI v2
https://www.youtube.com/watch?v=U5y7JI_mHk8
Deep Dive: AWS Command Line Interface
https://www.youtube.com/watch?v=ZbgvG7yFoQI
AWS re:Invent 2017: AWS CLI: 2017 and Beyond
https://www.youtube.com/watch?v=W8IyScUGuGI
AWS re:Invent 2017: Introduction to the AWS CLI
https://www.youtube.com/watch?v=iC8zVT5r7Jw
AWS re:Invent 2018: [REPEAT 1] What's New with the AWS CLI
https://www.youtube.com/watch?v=i4Prnei87ao
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.
AWS の日本語資料の場所「AWS 資料」で検索
https://amzn.to/JPArchive

More Related Content

What's hot

AutoScaling & SpotInstance Handson
AutoScaling & SpotInstance HandsonAutoScaling & SpotInstance Handson
AutoScaling & SpotInstance Handson
Makoto Uehara
 
AWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native BusinessAWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native Business
Amazon Web Services Japan
 
20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndure20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndure
Amazon Web Services Japan
 
20210317 AWS Black Belt Online Seminar Amazon MQ
20210317 AWS Black Belt Online Seminar Amazon MQ 20210317 AWS Black Belt Online Seminar Amazon MQ
20210317 AWS Black Belt Online Seminar Amazon MQ
Amazon Web Services Japan
 
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
Amazon Web Services Japan
 
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
Amazon Web Services Japan
 
20210309 AWS Black Belt Online Seminar AWS Audit Manager
20210309 AWS Black Belt Online Seminar AWS Audit Manager20210309 AWS Black Belt Online Seminar AWS Audit Manager
20210309 AWS Black Belt Online Seminar AWS Audit Manager
Amazon Web Services Japan
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena
Amazon Web Services Japan
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
Amazon Web Services Japan
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
Amazon Web Services Japan
 
20201125 EC Solution Seminar Live Commerce
20201125 EC Solution Seminar Live Commerce20201125 EC Solution Seminar Live Commerce
20201125 EC Solution Seminar Live Commerce
Amazon Web Services Japan
 
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
Amazon Web Services Japan
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
Amazon Web Services Japan
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
Amazon Web Services Japan
 
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
Amazon Web Services Japan
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Amazon Web Services Japan
 
AWS All Stars ~Lightning Talks x 13~
AWS All Stars ~Lightning Talks x 13~AWS All Stars ~Lightning Talks x 13~
AWS All Stars ~Lightning Talks x 13~
Amazon Web Services Japan
 
20201125 EC Solution Seminar Recommend
20201125 EC Solution Seminar Recommend20201125 EC Solution Seminar Recommend
20201125 EC Solution Seminar Recommend
Amazon Web Services Japan
 

What's hot (20)

AutoScaling & SpotInstance Handson
AutoScaling & SpotInstance HandsonAutoScaling & SpotInstance Handson
AutoScaling & SpotInstance Handson
 
AWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native BusinessAWS re:Invent 2019 recap For Digital Native Business
AWS re:Invent 2019 recap For Digital Native Business
 
20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndure20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndure
 
20210317 AWS Black Belt Online Seminar Amazon MQ
20210317 AWS Black Belt Online Seminar Amazon MQ 20210317 AWS Black Belt Online Seminar Amazon MQ
20210317 AWS Black Belt Online Seminar Amazon MQ
 
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
 
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
 
20210309 AWS Black Belt Online Seminar AWS Audit Manager
20210309 AWS Black Belt Online Seminar AWS Audit Manager20210309 AWS Black Belt Online Seminar AWS Audit Manager
20210309 AWS Black Belt Online Seminar AWS Audit Manager
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
Aws説明資料
Aws説明資料Aws説明資料
Aws説明資料
 
20201125 EC Solution Seminar Live Commerce
20201125 EC Solution Seminar Live Commerce20201125 EC Solution Seminar Live Commerce
20201125 EC Solution Seminar Live Commerce
 
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
 
20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync20210316 AWS Black Belt Online Seminar AWS DataSync
20210316 AWS Black Belt Online Seminar AWS DataSync
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
 
AWS All Stars ~Lightning Talks x 13~
AWS All Stars ~Lightning Talks x 13~AWS All Stars ~Lightning Talks x 13~
AWS All Stars ~Lightning Talks x 13~
 
20201125 EC Solution Seminar Recommend
20201125 EC Solution Seminar Recommend20201125 EC Solution Seminar Recommend
20201125 EC Solution Seminar Recommend
 

Similar to AWS Command Line Interface (AWS CLI) version 2 GA記念! 〜今からでも間に合う機能のおさらい〜

20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
Amazon Web Services Japan
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
 
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
Junji Nishihara
 
AWSマイスターシリーズReloaded -AWS SDK for .NET-
AWSマイスターシリーズReloaded -AWS SDK for .NET-AWSマイスターシリーズReloaded -AWS SDK for .NET-
AWSマイスターシリーズReloaded -AWS SDK for .NET-
Amazon Web Services Japan
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
Amazon Web Services Japan
 
AWS_reInforce_2022_reCap_Ja.pdf
AWS_reInforce_2022_reCap_Ja.pdfAWS_reInforce_2022_reCap_Ja.pdf
AWS_reInforce_2022_reCap_Ja.pdf
Hayato Kiriyama
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Amazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows PowershellAWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
Amazon Web Services Japan
 
JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門
JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門
JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門
Nobuhiro Nakayama
 
AWS Black Belt Online Seminar 2017 EC2 Windows
AWS Black Belt Online Seminar 2017 EC2 WindowsAWS Black Belt Online Seminar 2017 EC2 Windows
AWS Black Belt Online Seminar 2017 EC2 Windows
Amazon Web Services Japan
 
Awsについて
AwsについてAwsについて
Awsについて
Naoyuki Sano
 
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
Yukitaka Ohmura
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
Amazon Web Services Japan
 
2000年代SaaS on AWS
2000年代SaaS on AWS2000年代SaaS on AWS
2000年代SaaS on AWS
Amazon Web Services Japan
 
Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)
Keisuke Nishitani
 
Serverless Architecture on AWS(20151023版)
Serverless Architecture on AWS(20151023版)Serverless Architecture on AWS(20151023版)
Serverless Architecture on AWS(20151023版)
Keisuke Nishitani
 
01_2021年上半期 AWS IoT サービスアップデート
01_2021年上半期 AWS IoT サービスアップデート01_2021年上半期 AWS IoT サービスアップデート
01_2021年上半期 AWS IoT サービスアップデート
Amazon Web Services Japan
 
[AWSマイスターシリーズ] AWS SDK for Java / .NET
[AWSマイスターシリーズ] AWS SDK for Java / .NET[AWSマイスターシリーズ] AWS SDK for Java / .NET
[AWSマイスターシリーズ] AWS SDK for Java / .NETAmazon Web Services Japan
 
はじめてのAWS CLI
はじめてのAWS CLIはじめてのAWS CLI
はじめてのAWS CLI
Nobuhiro Nakayama
 
Serverless Architecture on AWS (20151201版)
Serverless Architecture on AWS (20151201版)Serverless Architecture on AWS (20151201版)
Serverless Architecture on AWS (20151201版)
Keisuke Nishitani
 

Similar to AWS Command Line Interface (AWS CLI) version 2 GA記念! 〜今からでも間に合う機能のおさらい〜 (20)

20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
 
AWSマイスターシリーズReloaded -AWS SDK for .NET-
AWSマイスターシリーズReloaded -AWS SDK for .NET-AWSマイスターシリーズReloaded -AWS SDK for .NET-
AWSマイスターシリーズReloaded -AWS SDK for .NET-
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
 
AWS_reInforce_2022_reCap_Ja.pdf
AWS_reInforce_2022_reCap_Ja.pdfAWS_reInforce_2022_reCap_Ja.pdf
AWS_reInforce_2022_reCap_Ja.pdf
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
 
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows PowershellAWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
 
JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門
JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門
JAWS-UG CLI専門支部 #76 Amazon AppStream 2.0 入門
 
AWS Black Belt Online Seminar 2017 EC2 Windows
AWS Black Belt Online Seminar 2017 EC2 WindowsAWS Black Belt Online Seminar 2017 EC2 Windows
AWS Black Belt Online Seminar 2017 EC2 Windows
 
Awsについて
AwsについてAwsについて
Awsについて
 
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
 
2000年代SaaS on AWS
2000年代SaaS on AWS2000年代SaaS on AWS
2000年代SaaS on AWS
 
Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)
 
Serverless Architecture on AWS(20151023版)
Serverless Architecture on AWS(20151023版)Serverless Architecture on AWS(20151023版)
Serverless Architecture on AWS(20151023版)
 
01_2021年上半期 AWS IoT サービスアップデート
01_2021年上半期 AWS IoT サービスアップデート01_2021年上半期 AWS IoT サービスアップデート
01_2021年上半期 AWS IoT サービスアップデート
 
[AWSマイスターシリーズ] AWS SDK for Java / .NET
[AWSマイスターシリーズ] AWS SDK for Java / .NET[AWSマイスターシリーズ] AWS SDK for Java / .NET
[AWSマイスターシリーズ] AWS SDK for Java / .NET
 
はじめてのAWS CLI
はじめてのAWS CLIはじめてのAWS CLI
はじめてのAWS CLI
 
Serverless Architecture on AWS (20151201版)
Serverless Architecture on AWS (20151201版)Serverless Architecture on AWS (20151201版)
Serverless Architecture on AWS (20151201版)
 

AWS Command Line Interface (AWS CLI) version 2 GA記念! 〜今からでも間に合う機能のおさらい〜

  • 1. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. Hiroki Uchida / Solution Architect Amazon Web Services Japan 2020-04-20 AWS Command Line Interface (AWS CLI) version 2 GA記念! 〜今からでも間に合う機能のおさらい〜 @nikuyoshi #jawsug #jawsug_cli
  • 2. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 自己紹介 内田 大樹 (うちだ ひろき) インダストリソリューション部 ソリューションアーキテクト 前職までの経験 通信会社でアプリケーション開発、監視、インフラ構 築の業務に携わっておりました 好きなAWSサービス AWS Commnad Line Interface AWS CDK @nikuyoshi
  • 3. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 近況 & 宣伝 https://aws.amazon.com/jp/blogs/news/webinar-bb-aws-command-line-interface-2019/
  • 4. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark.© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. Twitterのハッシュタグはこちら #jawsug #jawsug_cli
  • 5. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. アジェンダと想定読者 アジェンダ • AWS CLI の概要 (v1/v2共通) • AWS CLI v2のアップデート概要 • AWS CLI v1 → v2の移行方法 • 意外と知られていない便利な機能 • まとめ 想定読者 • AWS CLI v2をこれから利用される方 • AWS CLI v2を利用中の方 v1との共通機能についてはあまり触れないため、Black Beltも是非ご覧ください。
  • 6. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWS CLIの概要
  • 7. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWS環境に対するオペレーション方法 AWS Management Console AWS Command Line Interface SDK AWS ミドルウェア Amazon EC2 Amazon Simple Storage Service (S3) Amazon RDS AmazonVPC 手段 実行対象 アプリケーション 手作業、OpsWorks、Chef、 Ansible … AWS CloudFormation 手作業、自作スクリプト、 CodeDeploy … ミドルウェア、 ミドルウェア設定… アプリケーション、 アプリケーション設定… v1 v2
  • 8. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWS Command Line Interface (AWS CLI)とは AWSの各種サービスをコマンドで操作できるOSSの統合ツールです。AWS CLIのサブコマン ドはAWSのAPI実装に追従しており、 ほぼ全てのAWSサービス、APIの操作を網羅してい ます。 ※ Windows、Linux、Mac、Unixプラットフォームに対応しており、S3用にはcp、 syncなどの便利な機能(High-Level API)もご利用できます。 ※新機能の追加に従って常に更新されるため、定期的にAWS CLIをアップデートすることを推奨します。 Compute Media Security, Identity and Compliance Robotics Management & Governance Application Integration Analytics Networking & Content Delivery Block chain Business Applications Mobile v1 v2
  • 9. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 何故AWS CLIを使うかは、波多野さんパートにて!
  • 10. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWS CLI v2のアップデート概要
  • 11. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 新機能一覧 • インストール方法の変更 (macOS、Linux用インストーラー) • 自動補完の機能改善、Auto-prompt • 認証の設定方法の追加 (AWS SSO、CSVインポート) • Wizard機能の追加
  • 12. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. インストール方法の変更 Windowsに加え、macOS、Linux用のインストーラーが提供されるようになりまし た。今まではPythonのインストールが個別に必要でしたが、v2以降は不要です。 インストーラーに含まれているPythonのバージョンが適用されます。 v2 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv1.html https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html $ pip3 install awscli --upgrade --user v1からの移行方法については後述します。 $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" $ unzip awscliv2.zip $ sudo ./aws/install v1
  • 13. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 自動補完の機能改善、Auto-prompt (1/2) 今までも自動補完の機能はありましたが、以下の機能が追加、向上しました。 • 自動補完の速度向上 • サーバー側のリソース名補完 $ aws dynamodb update-table --table-name MyTable<TAB> MyTable1 MyTable2 Auto-promptという機能も追加され、どのパラメータを指定するか分からない 場合は –-cli-auto-prompt 機能を使えば、必要な全てのパラメータを入力 するよう求められます。 $ aws iam create-user --cli-auto-prompt --user-name: James v2 (次スライドに続く)
  • 14. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 自動補完の機能改善、Auto-prompt (2/2) 必要なすべてのパラメータを入力すると、オプションパラメータのリストが以下 のように表示されます。 $ aws iam create-user --cli-auto-prompt --user-name: James v2 --permissions-boundary [string]: The ARN of the policy that is used to set … --tags [list]: A list of tags that you want to attach to the newly created user. [DONE] Parameter input finished Parameter input finished を選択すると、コマンドを実行するか、標準 出力するかを選択できます。 $ aws iam create-user --cli-auto-prompt --user-name: James --path: /devs/ Print CLI command Execute CLI command> ---path [string]: The path for the user name.>
  • 15. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. Wizard機能の追加 一連の質問に答えていくだけで、DynamoDBのテーブル等を簡単に作成できま す。以下のコマンドは、DynamoDBテーブルを作成する例です。 v2 $ aws dynamodb wizard new-table Enter the name of the table: MyTable Enter the name of the primary key: pk Primary key type Number Binary String> 現時点でウィザードに対応しているコマンドは次のとおりです。 • configure • dynamodb • iam • lambda
  • 16. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 認証の設定方法の追加(1/3) 以下の方法が追加されました。 • CSVファイルからのインポート • AWS Single Sign-On(AWS SSO)による認証情報の設定 CSVファイルからのインポート IAMユーザー新規作成時等にダウンロードできるCSVファイルを、AWS CLIの認 証設定ファイルにインポートできる機能です。 $ aws configure import --csv file://path/to/creds.csv v2
  • 17. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 認証の設定方法の追加(2/3) AWS SSOによる認証情報の設定 aws configure sso コマンドを使用して、AWS SSOによる認証情報の設 定と使用がサポートされました。 $ aws configure sso SSO start URL [None]: https://d-0123456790.awsapps.com/start SSO Region [None]: us-west-2 Attempting to automatically open the SSO authorization page in your default browser. If the browser does not open or you wish to use a different device to authorize this request, open the following URL: https://device.sso.us-west-2.amazonaws.com/ Then enter the code: ABCD-EFGH Successully logged into Start URL: https://d-1234567890.awsapps.com/start There are 2 AWS accounts available to you. Using the account ID 123456789012 There are 2 roles available to you. Using the role name "readOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [readOnly-123456789012]: my-sso-profile To use this profile, specify the profile name using --profile, as shown: aws s3 ls --profile my-sso-profile v2
  • 18. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 認証の設定方法の追加(3/3) 設定の確認方法については、以下のコマンドのように aws configure list を実行します。 $ aws configure list --profile my-sso-profile Name Value Type Location ---- ----- ---- -------- profile my-sso-profile manual --profile access_key ******************** sso secret_key ******************** sso region us-west-2 config-file ~/.aws/config v2 [profile my-sso-profile] sso_start_url = https://d-1234567890.awsapps.com/start sso_region = us-west-2 sso_account_id = … sso_role_name = … region = ap-northeast-1 output = json ~/.aws/config
  • 19. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWS CLI v1 → v2の移行方法
  • 20. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 移行方法について(1/2) AWS CLI v1からv2に移行する際は、v1をアンインストール後にv2のみを利用 することを推奨しております。(同じ aws コマンドが使用されるため) v1、v2を混在させなければならない場合は、OSの機能を利用して2つの aws コマンドのどちらかに異なる名前のエイリアス名をつけてください。 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html $ which aws /usr/bin/aws $ ll /usr/bin/aws -rwxr-xr-x 1 root root 818 1月 6 18:03 /usr/bin/aws -- (AWS CLI v2のインストール) – -- (v2へのシンボリックリンクはり直し) -- $ which aws2 /usr/local/bin/aws2 $ ll /usr/local/bin/aws2 lrwxrwxrwx 1 root root 37 4月 20 05:15 /usr/local/bin/aws2 -> /usr/local/aws-cli/v2/current/bin/aws
  • 21. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 移行方法について(2/2) AWS CLI v2は、v1のコマンドの後方互換性を維持しているものも多くあります。 そのため、既存のスクリプトを変更しなくても問題ないパターンもあります。テ ストを実施する前に、重要な変更について確認したい場合は公式ドキュメントを、 全ての変更を確認したい場合はGitHubのv2ブランチのCHANGELOGをご覧くだ さい。 公式ドキュメント https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cliv2-migration.html GitHub https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst
  • 22. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 意外と知られていない便利な機能
  • 23. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 意外と知られていない便利な機能 • トラブルシューティング方法 • AWS CLIのエイリアス作成方法 • AWS CLI のコンテナ • アクセスキーを用いない認証情報の取得 v1 v2 v1 v2 v1 v2 v2
  • 24. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. トラブルシューティング方法 --debug オプションをつけるとコマンド実行の詳細を確認でき、エ ラー時に活躍します。詳細情報は以下の情報が含まれます。 • 認証情報の検索 • 指定されたパラメータの解析 • AWSサーバーに送信されるリクエストの作成 • raw レスポンスの内容 • フォーマットされた出力 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-troubleshooting.html $ aws iam list-groups --profile MyTestProfile --debug 2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - CLI version: aws- cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205 2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['iam', 'list-groups', '--debug'] v2v1
  • 25. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWS CLI のエイリアス作成方法 https://github.com/awslabs/awscli-aliases $ git clone https://github.com/awslabs/awscli-aliases.git $ mkdir -p ~/.aws/cli $ cp awscli-aliases/alias ~/.aws/cli/alias { "Account": ”123456789012”, "UserId": ”sample”, "Arn": "arn:aws:iam::123456789012:user/sample" } [toplevel] whoami = sts get-caller-identity … ~/.aws/cli/alias $ aws whoami aws whoami のようなエイリアスコマンドを設定できます。設定ファイルは、 ~/.aws/cli/alias に配置します。 v2v1
  • 26. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWS CLI のコンテナ AWS CLIのコンテナイメージがリリースされました。これにより、自前でAWS CLIのコンテナイメージを作成されていた方は管理が不要になりました。 https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-docker.html https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-docker-image/ v2 $ docker run --rm -it amazon/aws-cli:2.0.8 --version aws-cli/2.0.8 Python/3.7.3 Linux/4.19.76-linuxkit botocore/2.0.0dev12 $ alias aws='docker run --rm -it amazon/aws-cli:2.0.6’ $ aws -–version aws-cli/2.0.8 Python/3.7.3 Linux/4.19.76-linuxkit botocore/2.0.0dev12 エイリアスを利用することで、実行コマンドを短縮できます。
  • 27. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. アクセスキーを用いない認証情報の取得(1/2) EC2インスタンス内からAWS CLIを実行すると、コマンドへの認証情報の提供を 簡素化できます。各EC2インスタンスにはメタデータが含まれており、一時的な 認証情報をもとにクエリを実行できます。 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-metadata.html [profile marketingadmin] credential_source = Ec2InstanceMetadata role_arn = arn:aws:iam::123456789012:role/marketingadminrole ~/.aws/config v2v1
  • 28. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. VPC VPCエンドポイント EC2 AWS Direct Connect オンプレミス アクセスキーを用いない認証情報の取得(2/2) 閉域でアクセスするパターン v2v1
  • 29. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. まとめ
  • 30. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. まとめ 本日以下のことをお伝えしました。 • AWS CLI の概要 • AWS CLI v2のアップデート概要 • AWS CLI v1 → v2の移行方法 • 意外と知られていない便利な機能
  • 31. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. Appendix
  • 32. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. 参考: AWS CLIの過去の発表 AWS CLI v2 が一般利用可能となりました | Amazon Web Services ブログ https://aws.amazon.com/jp/blogs/news/aws-cli-v2-is-now-generally-available/ AWS re:Invent 2019: Introduction to the AWS CLI v2 https://www.youtube.com/watch?v=U5y7JI_mHk8 Deep Dive: AWS Command Line Interface https://www.youtube.com/watch?v=ZbgvG7yFoQI AWS re:Invent 2017: AWS CLI: 2017 and Beyond https://www.youtube.com/watch?v=W8IyScUGuGI AWS re:Invent 2017: Introduction to the AWS CLI https://www.youtube.com/watch?v=iC8zVT5r7Jw AWS re:Invent 2018: [REPEAT 1] What's New with the AWS CLI https://www.youtube.com/watch?v=i4Prnei87ao
  • 33. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark. AWS の日本語資料の場所「AWS 資料」で検索 https://amzn.to/JPArchive

Editor's Notes

  1. GAが2020年2月10日。 re:Invent 2018で発表されてから約1年ちょっと。お待たせしました! 本日の資料は後から公開する旨伝える
  2. 子どもが乱入したらごめんなさい
  3. アイスブレイクとして、BBのYouTuberのくだり。 最近みなさんずっと在宅勤務 → みなさん何買ってますか?
  4. みなさんTwitterで盛り上げてもらえると嬉しいです!!
  5. 前半はこれから触る方向けの情報を含んでいるため、玄人の方は後半を聞くように案内。
  6. これ以降のスライドについては、v1, v2どちらが対応するのかどうかをスライド右上に示しています。ですので、v1から利用されている方もv2から利用される方も右上のアイコンを基に対応している機能を確認できます。 AWS Command Line Interfaceの概要の説明の前に、まずはAWS環境に対するオペレーション方法について説明いたします。AWS環境に対するオペレーションとしましては、4つの方式がございます 。一番最初にお使いの際は、ほとんどの方がマネジメントコンソールという画面から触るかと思います。それ以外にも、CloudformationといったAWSのサービスを一括で構築するサービスや、AWSのSDKを利用してアプリケーション経由からも操作可能です。AWS CLIはそれらの中の一つで、EC2、RDS、S3、VPCといったサービスに対してコマンドラインから操作可能となっております。 ただいま述べた4つの操作は、すべてAPI経由であり、インターフェースが変わっても必ずAWSのAPIが裏で呼ばれていることをご理解ください。 それでは、AWS Command Line Interfaceの概要に移ります。
  7. AWS CLIとは、AWSの各種サービスをコマンドで操作できるOSSの統合ツールです。CLIのサブコマンドは、AWSのAPI実装に追従しており、ほぼ全てのAWSサービス、APIの操作を網羅しております。スライド下のアイコンは、対応しているサービスの一部ではありますが、EC2、LambdaといったComputeに関するサービスからMedia、Blockchain、モバイル等のサービスまで幅広く対応しております。 新機能の追加に従ってAWS CLIも常に更新されるため、定期的にアップデートすることを推奨しております。また、Windows、Linux、macOs、Unixといったプラットフォームまで対応しており、pipといったコマンド経由でのインストールやWindows向けのインストーラーをご利用いただけます。一部のサービスとはなりますが、操作がしやすいように抽象化されたAPIもご利用いただけます。 ここで、参考までにPowerShell用のツールを紹介させてください。
  8. アップデート概要の1つ目です。 pip経由でのインストールは、Pythonの依存関係の問題等があった。 現在インストールすると、Pythonのバージョンは3.7。
  9. アップデート概要2つ目です。 今まで補完周りで様々なお問い合わせをいただいておりました。それらのお客様の声を反映したのが今回の機能改善となります。 自動補完の速度が今までよりも向上し、リソース名についても、スライド真ん中あたりに書いてあるとおり、DynamoDBのテーブル名のようなリソースも一部の名前を入力して、タブを押せば補完されるようになります。 さらに、Auto-promptという機能も追加され、今までどのような必須パラメータが必要かどうかをhelpコマンドを叩いて確認する必要があったのですが、それがこのオプションによってhelpコマンドを叩かずに確認できるようになります。そのAuto-promptの実際のコマンドが、スライド下部に載っております。今回の例については、IAMのユーザーを作成するもので、最初にユーザー名としてJamesを入力しています。 次のスライドに続きます。
  10. 実際にJamesを入力してエンターを押すと、スライド上部の灰色で示されているようなプロンプトが表示されます。この灰色部分を実際に矢印キー上下で選択し、必要な情報を入力していきます。今回であれば—pathを選択し、パスに/devs/と入力します。 そうすると、スライド下部のプロンプトになり、実際にCLIを実行するか、後から実行できるように標準出力が表示されるかを選択できます。 ここでExecute CLI Commandを選択すれば、実行されます。
  11. アップデート概要の3つ目です。v2からウィザード形式でDynamoDBのようなリソースを簡単に作成できるようになりました。今までは--table-name、のようなオプションのキーと、実際の値、テーブル名を毎回入力する必要があったのですが、ウィザードを利用すればオプションのキーを覚えることなく簡単に作成ができるようになります。DynamoDBだけでなく、configure, IAM, Lambdaのようなリソースが 現在対応しております。 現時点ではすべてのコマンドで使える訳ではないことをご理解ください。
  12. アップデート概要の4つ目、最後の機能です。 v2から認証の設定方法がより簡単となるよう、IAMユーザー作成時にダウンロードできるCSV形式の認証情報をインポートできるようになりました。ファイルを開いて、コピペしてAWSの設定ファイルにはりつける手間が省けます。実行形式については、スライドに載っているように、aws configure import のあとに--csvを指定するような形です。 次のスライドで、AWS SSOとの連携に関する情報をお伝えします。
  13. AWS SSOとの連携ができるようになり、上記コマンドのように一度設定してしまえばプロファイルを指定してSSOの認証情報を基にCLIを実行できます。設定全容を共有するために上記コマンド例を示しております。ちょっと文字が小さくてすみません。後で資料を共有しますので、あとからでも確認可能ですので、細かい部分は発表後ご確認ください。 ウィザード形式で入力するため、要求どおりに入力していけばOKです。 最初にSSOのスタートURLを入力すると、ブラウザが開かれるので、そこにプロンプトで表示されたコードを入力します。その後ログインが成功すると、ロールの指定やリージョンが指示されるので、そのとおりに入力します。 SSOで一元管理しているロールがあれば、そのロールの認証情報を基に実行できます。もし設定した値について確認したい場合は、 次のスライドのように確認します。
  14. aws configure list --profile hoge を叩いて設定の保存先を確認し、設定ファイルにSSOの設定がされていることを確認できます。 ここまででAWS CLI v2の概要は終了で、次のスライドからv1からv2への移行方法についてご説明しますが、この時点で質問はございますでしょうか。
  15. 今まで使っていた方も、アップデート情報を聞いて使ってみたくなってきましたよね? 個人的に嬉しいのがリソース補完ですね。 ここからは移行方法についてご説明いたします。
  16. 移行については、基本的にv1をアンインストールし、v2をインストールする流れとなります。混在させなければならないパターンは、v1かv2のどちらかに異なる名前のエイリアスをつける必要があります。上記コマンドのように、既にv1がインストールされている場合は、v2のインストールをした後に、シンボリックリンクを張り直す形で実現可能です。
  17. aws whoami のように、AWS CLIにないエイリアスコマンドを自分で作成できます。 例えば、スライド中央にあるようなstsコマンドをよくご利用される場合、入力する文字を減らしたい要望があるかと思います。そのようなシチュエーションでこのエイリアスをご活用ください。ここに紹介しているのはあくまでエイリアスの一部のご紹介です。 他のサンプルについては、スライド下のURLをご覧ください。
  18. このスライドのようにDirect Connect、VPCエンドポイントから閉域でアクセスすることも可能です。
  19. まずAWS CLI自体の概要をお伝えし、次にv2のアップデート概要をお伝えしました。具体的には、インストール方法の変更 (macOS、Linux用インストーラー)、自動補完の機能改善、Auto-prompt、認証の設定方法の追加 (AWS SSO、CSVインポート)、Wizard機能の追加 です。 v1からv2への移行方法は、基本的にはv1アンインストール後にv2をインストールする方式、 意外と知られていない便利な機能としては、トラブルシューティング方法、エイリアス作成方法、AWS CLI のコンテナ、アクセスキーを用いない認証情報の取得をお伝えしました。 本日お伝えしなかった参考情報については、Appendixに載せておきますので、是非こちらもご利用ください。 ご清聴ありがとうございました。
  20. AWSの日本語資料を見つけるには、こちらのURLか、「AWS 資料」で検索していただけると幸いです。本日のオンラインセミナー後にサービス別資料に本資料をアップロードいたします。