ablog

不器用で落着きのない技術者のメモ

AWS CLI からアクセスするサービスのエンドポイントを aws/config で指定する

実行例

$ aws s3 ls --profile s3_access --debug

...

2024-08-07 05:06:29,995 - MainThread - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): bucket.vpce-********-********.s3.ap-northeast-1.vpce.amazonaws.com:443

AWS CLI の設定

  • ~/.aws/config
[profile s3_access]
region = ap-northeast-1
role_arn = arn:aws:iam::123456789012:role/s3-role
source_profile=s3_access
services = custom-endpoint

[services custom-endpoint]
s3 =
        endpoint_url = https://bucket.vpce-********-*********.s3.ap-northeast-1.vpce.amazonaws.com
sts =
        endpoint_url = https://vpce-********-********.sts.ap-northeast-1.vpce.amazonaws.com
  • ~/.aws/credentials
[s3_access]
aws_access_key_id = ********
aws_secret_access_key = ********

参考

エンドポイント設定は、システム環境変数やユーザー環境変数AWS ローカル設定ファイルなど、複数の場所に配置されているほか、コマンドラインでパラメータとして明示的に宣言されています。 AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。
  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。
  3. サービス固有の環境変数 AWS_ENDPOINT_URL_ (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。
  4. AWS_USE_DUALSTACK_ENDPOINT、AWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。
  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。
  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。
  7. use_dualstack_endpoint、use_fips_endpoint、および endpoint_url の設定。
  8. それぞれのデフォルトエンドポイント URL AWS のサービス は最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。
設定ファイルと認証情報ファイルの設定 - AWS Command Line Interface