😊

AWS CLIのインストールと設定

2023/12/12に公開

業務でAWS の CLIが必要になったので、設定手順をまとめておきます。
想定読者はAWS CLIを初めて設定する初心者のかたです。

マネジメントコンソールからじゃなくても、AWSリソースを触れるので最高です!

環境としては、Macですが、公式ドキュメントへはOS別に手順が記載されているので、
別の環境ご利用の方は公式へどうぞ!

AWS CLIのインストール

HomebrewでCLIをインストールします。 ちょっと時間かかります。

brew search awscli

インストールが完了したらaws --versionを実行して、バージョン情報が表示されます。

私の環境では、以下のようにversionが表示されました。

aws-cli/2.13.7 Python/3.11.4 Darwin/22.4.0 source/arm64 prompt/off

公式ドキュメントのインストール手順はこちらをご確認ください。

CLIを利用するための設定

CLIをダウンロードしたわけですが、利用するアカウント情報を認証しなければ、リソースを触ることはできません。

初期状態では、以下の通り接続に必要な情報は何も設定されていません。

$ aws configure

AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:

というわけで、こちらの手順に沿って、設定を進めます。

まずは「Access Key」と「Secret Access Key」を作成しましょう。

Security Credentialsのページへアクセスした、真ん中あたりに Access Keyという項目があります。

create_access_key.png

ちなみに、Secret Access Keyが万が一流出してしまうと、利用しているアカウントが不正利用される可能性があります。
不正利用により数百万の被害がでたなんてこともあるので、Access Keyの管理は厳重に行いましょう。

Createを押下すると、Access Keyの利用用途を質問されるので、今回はCLIにチェックをして進めましょう。

select_access_key_creation.png

正常に作成できれば、以下の画面へ遷移するのでAccess Keyを確認しておきましょう。

created_access_key.png

注意点としては、Secret AccessKeyは作成時にしか確認できません。
CSVでダウンロードしておけば、後々確認することは可能ですので、必要な場合はダウンロードしておくと良いでしょう。

Secret Access Keyを忘れてしまった。。。。という方は、新規でAccess Keyを作成する必要があります。
なお、既存のAccess Keyを削除する場合には、無効化した上で削除が必要になることに注意しておきましょう。

ここまでで、AWS CLI設定の前準備の完了です。

設定ファイルへ追加

必要な情報は設定できたので、CLIの設定追加です。

credential ファイルの中には Access Keyを保存します。

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

configファイルの中には region と output を記入します。

[default]
region = ap-northeast-1
output = json

Global Settingsへ credentials ファイルに保存するべき項目はの記載されています。

[default] はプロファイル名です。例えば、別のアカウント用にprodプロファイルを設定し、プロファイルで使い分けることも可能です。

configファイル、credentialsファイルは ~/.aws配下に存在します。

vim ~/.aws/configvim ~/.aws/credentialsでそれぞれのファイルを編集できます。

先に紹介した項目を追記しておきましょう。

追記を終えたら、aws configureを実行して、設定した結果が反映されているか確認してみてください。

正しく設定できている場合は以下のような表示がされます。 Keyの値はサンプルです。

aws configure         
AWS Access Key ID [****************AT0R]: 
AWS Secret Access Key [****************OWjv]: 
Default region name [ap-northeast-1]: 
Default output format [json]: 

その他、不明点があれば、AWS CLIの設定ファイルと認証情報ファイルの設定 を参照してみると良いです。

接続確認

最後に指定したアカウントに接続できるかを確認してみましょう。

例えば、アカウントのEC2インスタンスの一覧を表示するaws ec2 describe-instancesコマンドを実行して、
以下のようなレスポンスが得られれば正しく設定されていることになります。

{
    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "AmiLaunchIndex": 0,
                    "ImageId": "ami-xxxxxxxxxxxxxxx",
                    "InstanceId": "ixxxxxxxxxxxxxxxxxxx",
                    "InstanceType": "t2.micro",
                    "LaunchTime": "2023-08-0xT10:00:00+00:00",
                    "Monitoring": {
                        "State": "disabled"
                    },
                    "Placement": { .......

これでCLI経由でAWSを利用する準備完了です。CLIの設定を行う際の参考にしてみてください!

Discussion