2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

aws-cli セットアップ 【AWS】

Last updated at Posted at 2023-12-11

やりたいこと

aws-cli のセットアップ(インストール〜認証情報の設定)を行う。

やりかた

:gem:アクセスキーの作成

ご自身のIAM Userのマネジメントコンソールにて、
「セキュリティ認証情報」>「アクセスキー」>「アクセスキーを作成する」
から、アクセスキーとシークレットキーを作成し、手元に控えておいてください。

作成途中で「主要なベストプラクティスと代替案にアクセスする」という画面でユースケースを選択させられますが、
コマンドラインインターフェイス (CLI)」を選んでください。

:gem:aws-cliのインストール

最新バージョンのインストーラーは公式ドキュメントに掲載されています。
インストーラーを起動するとウィンドウが開くので、手順に従って進めます。

versionが表示されればOKです。

❯ aws --version
aws-cli/2.9.23 Python/3.9.11 Darwin/21.3.0 exe/x86_64 prompt/off


クラスメソッドさんの記事「M1 MacBook に AWS CLI v2 をインストール(v1 から移行)する
」によると、Homebrewでaws-cliをインストールすることはできるが、AWS公式から提供されたものではないそうです。

:gem:認証情報の設定

aws configure listで、現在適用されている設定を確認できます。
まだ何も設定していないので、Noneが表示されています。

❯ aws configure list   

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key                <not set>             None    None
secret_key                <not set>             None    None
    region                <not set>             None    None

ところで、設定を追加する際は「プロファイル」というものを設定したり設定しなかったりできます。
「プロファイル」を使うと、名前付きの設定を登録することができます。複数のアクセスキーを使い分けたい場合に有効です。

プロファイルを指定せずに認証情報を登録

プロファイルを指定せずに設定を登録してみます。
この場合defaultというプロファイル名で登録されます。

aws configureで、認証情報を登録できます。

  • AWS Access Key ID :先程手元に控えたアクセスキー
  • AWS Secret Access Key :先程手元に控えたシークレットキー
  • Default region name :デフォルトでリクエストを送信するリージョン
  • Default output format :出力結果の形式。(json, yaml, text, tableが指定できる模様。公式ドキュメント
❯ aws configure

AWS Access Key ID [None]: xxxxxx 
AWS Secret Access Key [None]: xxxxxx
Default region name [None]: ap-northeast-1
Default output format [None]:

認証情報を登録すると、~/.aws配下にファイルが作成されます。

cat ~/.aws/credentials

[default]
aws_access_key_id = xxxxxx
aws_secret_access_key = xxxxxx
cat ~/.aws/config                                 

[default]
region = ap-northeast-1

これらのファイルについての詳細は、引用してばかりで恐縮ですがクラスメソッドさんの「AWS CLI のコンフィグファイルと環境変数とコマンドラインオプションで指定できる内容をまとめて確認してみた」という記事が大変わかりやすかったです。

プロファイルを指定して認証情報を登録

次はプロファイルを指定して設定を登録してみます。

aws configure--profileオプションをつけることで、プロファイルを指定できます。

❯ aws configure --profile hoge

AWS Access Key ID [None]: yyyyyy
AWS Secret Access Key [None]: yyyyyy
Default region name [None]: ap-northeast-1
Default output format [None]:

最初に追加したdefaultの下に、プロファイル「hoge」の情報が追記されているのが確認できます。

cat ~/.aws/credentials

[default]
aws_access_key_id = xxxxxx
aws_secret_access_key = xxxxxx
[hoge]
aws_access_key_id = yyyyyy
aws_secret_access_key = yyyyyy

cat ~/.aws/config              

[default]
region = ap-northeast-1
[profile hoge]
region = ap-northeast-1

:gem:認証情報の使用方法

プロファイルを指定してコマンドを実行したい際は、以下の2つの方法があります。

方法1:実行時に--profileオプションをつける

❯  aws s3 ls --profile hoge

方法2:環境変数を設定する。

export AWS_PROFILE=hoge
# 現在適用されている設定を確認
❯ aws configure list

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                    hoge              env    ['AWS_PROFILE', 'AWS_DEFAULT_PROFILE']
 (略)

:gem:その他コマンド

登録されている認証情報の一覧を見たいときは以下です。

❯  aws configure list-profiles                  

default
hoge

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?