📝

[小ネタ] AWS CLI バージョン 2 は EC2 インスタンスメタデータからリージョン情報を取得している

に公開

aws-cli should set default region to EC2 instance region · Issue #486 · aws/aws-cli

This has been implemented in v2: #3680 and it pulls region from the instance metadata service by default.

AWS CLI のバージョンによって以下の違いがあることを確認できました。

  • AWS CLI バージョン 1 で EC2 インスタンスメタデータからリージョン情報を取得していない
  • AWS CLI バージョン 2 は EC2 インスタンスメタデータからリージョン情報を取得している

Amazon Linux 2 での確認

AWS CLI v2 - Amazon Linux 2023

AL2023 ships with AWS CLI version 2, whereas AL2 ships with version 1 of the AWS CLI.

Amazon Linux 2 には AWS CLI バージョン 1 がインストールされているので、Amazon Linux 2 の AMI から EC2 インスタンスを作成して確認してみます。

$ aws ec2 describe-images \
--owners amazon \
--filters "Name=name,Values=amzn2-ami-hvm-2.0.*-x86_64-gp2" \
--query 'sort_by(Images, &CreationDate)[-1].ImageId'
"ami-0c40d378a8f941c31"

上記 AMI ID から作成した EC2 インスタンスではリージョン情報が設定されていませんでした。

$ aws --version
aws-cli/1.18.147 Python/2.7.18 Linux/4.14.355-280.708.amzn2.x86_64 botocore/1.18.6

$ aws configure list
Name                    Value             Type    Location
----                    -----             ----    --------
profile                <not set>          None    None
access_key  ****************K2JR      iam-role    
secret_key  ****************sL9z      iam-role    
region                <not set>           None    None

Amazon Linux 2023 での確認

Amazon Linux 2023 には AWS CLI バージョン 2 がインストールされているので、Amazon Linux 2023 の AMI から EC2 インスタンスを作成して確認してみます。

$ aws --version
aws-cli/2.30.4 Python/3.9.24 Linux/6.1.158-178.288.amzn2023.x86_64 source/x86_64.amzn.2023

$ aws configure list
Name                    Value             Type    Location
----                    -----             ----    --------
profile                <not set>          None    None
access_key  ****************HWQP      iam-role    
secret_key  ****************eAaH      iam-role    
region           ap-northeast-1           imds    

以上より、AWS CLI バージョン 2 ではリージョン情報を自動で取得していることを確認できました。

まとめ

今回は AWS CLI バージョン 2 は EC2 インスタンスメタデータからリージョン情報を取得しているという内容を紹介しました。
どなたかの参考になれば幸いです。

参考資料

Discussion