ユーザ用ツール

サイト用ツール


aws:awscli:index.html

AWS

AWS CLIの使い方

概要


事前準備

IAMユーザ

「プログラムによるアクセス」をONにすると、AWS API、CLI、SDK などので利用する 「アクセスキー ID」 と 「シークレットアクセスキー」が発行されます。

詳細は、AWS IAMで、ユーザ管理を確認してください。


AWS CLIのインストール

参考:https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-linux.html

Amazon Linuxではデフォルトでコマンドが使えます。
MacやWindowsやCentOSやUbuntuの場合には、AWS CLIをインストールする必要があります。

uname -a  #CPUの種類を確認(x86_64か)
cd /tmp
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
バージョンの確認
# aws --version
aws-cli/2.2.27 Python/3.8.8 Linux/5.4.0-65-generic exe/x86_64.ubuntu.20 prompt/off


jqコマンドのインストール

jqコマンドは、JSON形式を整えるコマンドです。
また、JSON形式の表示をカラー表示してくれます。

利用例
aws ec2 describe-vpcs --output json | jq .

Amazon Linux, CentOSへインストール

# yum install jq


AWS CLIのコンフィグ設定

AWS CLIのコンフィグ設定

$ aws configure
AWS Access Key ID [None]:  xxxxxxxxxxxxx
AWS Secret Access Key [None]:  xxxxxxxxxxxxx
Default region name [None]: ap-northeast-1    <-  EC2インスタンスが置かれているリージョン
Default output format [None]: json            <-   json, table, textのどれかを入力

複数のアカウントでAWS CLIを使う場合、
# aws configure --profile other-account

確認
$ aws configure list
$ cat ~/.aws/credentials
$ cat ~/.aws/config


AWS CLIのコンフィグ設定の確認

$ cat ~/.aws/credentials
[default]
aws_access_key_id = xxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxx
$ cat ~/.aws/config
[default]
region = ap-northeast-1
output = json


一時的に設定

export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXX
export AWS_DEFUAULT_REGION=ap-northeast-1
export AWS_DEFUAULT_OUTPUT=text


AWS CLI実行例

AWS CLIコマンドオプション

$ aws --region ap-northeast-1  COMMAND
$ aws --output json  COMMAND
$ aws --output text  COMMAND
$ aws --output table  COMMAND
aws --debug  COMMAND


moreをなくし、全ての結果を表示

export AWS_PAGER=""


Proxy経由でAWS CLIを利用

169.254.169.254はproxyを利用しないようにする

169.254.169.254は、インスタンスメタデータサービスの IPv4 アドレス
インスタンスメタデータには、そのインスタンス自体内からのみアクセス出来ます。

$ export http_proxy=http://xxxxx:xxxx
$ export https_proxy=http://xxxxx:xxxx
$ export no_proxy=localhost,127.0.0.1,169.254.169.254

インスタンスの確認
$ aws ec2 describe-instances
Squidで、never_direct allow CONNECT

SquidでSSL通信をするには、never_direct allow CONNECTの設定が必要

never_direct allow CONNECT


インターネット接続できない環境でAWS CLIを利用

インターネット接続できない環境の場合、エンドポイントを指定する必要があります。
エンドポイントの作り方は、AWS VPC エンドポイントとは。設定手順・利用手順 参照

#ec2のエンドポイントを指定する例
aws ec2 describe-instances --endpoint-url https://vpce-xxxxxxxxxx.ec2.ap-northeast-1.vpce.amazonaws.com

※サービスデフォルトのDNSを利用していて、エンドポイントを作る際に「プライベートDNS名を有効にする」にした場合、
--endpoint-url https://vpce-xxxxxxxxxx.ec2.ap-northeast-1.vpce.amazonaws.com は不要になります。


AWS CLIで指定できるリージョンの確認

aws ec2 describe-regions --output table




関連ページ


参考

aws/awscli/index.html.txt · 最終更新: 2022/09/20 23:34 by kurihara

ページ用ツール