📝

AWS CLIをセットアップする

2022/02/15に公開

概要

AWS CLIをセットアップし、コマンドラインでAWS操作を行えるようにしていきます。
Linux環境を前提に手順を記載します。

管理者ユーザを作成する

  1. AWS管理コンソールにログインします。(ルートユーザ or IAM操作権限があるユーザ)
  2. IAM-アクセス管理-ユーザーを選択します。
  3. ユーザを追加を選択します。
  4. ユーザ詳細を設定します。
    1. ユーザ名に任意のユーザ名を設定します。
    2. アクセスキー - プログラムによるアクセスにチェックを入れます。
    3. 次のステップを押下します。
  5. アクセス許可を設定します。
    1. 既存のポリシーを直接アタッチを開きます。
    2. AdministratorAccessを探して選択します。
    3. 次のステップを押下します。
  6. タグの追加を設定します。
    1. 何も操作せず、次のステップを押下します。
  7. 確認画面が表示されるので、ユーザの作成ボタンを押下します。
  8. アクセスキーIDシークレットアクセスキーが表示されるので、保管しておきます。

AWS CLIに認証情報を設定する

AWS CLIに認証情報を設定しておくことで、AWSに対象のIAM権限でCLI接続することができます。
なお、デフォルト設定のIAMのほか、--profileオプションを使用して、複数の権限(アカウント)を切り替えながら管理することができます。

デフォルト設定

shell
aws configure

対話型で、以下の項目を聞かれますので、順次設定していきます。

  • AWS Access Key ID [None]::事前に取得したアクセスキーIDを設定します。
  • AWS Secret Access Key [None]::事前に取得したシークレットアクセスキーを設定します。
  • Default region name [None]:ap-northeast-1を設定します。(デフォルトは最寄りになります)
  • Default output format [None]:jsonを設定します。(デフォルトはJSON)

確認方法
次のコマンドで設定した情報の確認ができます。

shell
aws configure list

複数プロファイル設定を行う場合
--profile profilenameを指定することで、その名前で保存された認証情報と設定を使用できます。

設定

shell
aws configure --profile produser

利用(例)

shell
aws s3 ls --profile produser

利用例

全EC2インスタンスの一覧を表形式で表示する

shell
aws ec2 describe-instances --output=table --query 'Reservations[].Instances[].{InstanceId: InstanceId, PrivateIp: join(`, `, NetworkInterfaces[].PrivateIpAddress), GlobalIP: join(`, `, NetworkInterfaces[].Association.PublicIp), Platform:Platform, State: State.Name, SecurityGroupId: join(`, `, SecurityGroups[].GroupId) ,Name: Tags[?Key==`Name`].Value|[0]}'

EC2インスタンスを起動する

shell
aws ec2 start-instances --instance-ids <instance_id>

※<instance_id>に一覧で確認したインスタンスIDを設定します。

EC2インスタンスを停止する

shell
aws ec2 stop-instances --instance-ids <instance_id>

※<instance_id>に一覧で確認したインスタンスIDを設定します。

Discussion