🐕

【初心者向け】AWS CLIのバージョン更新・アクセスキー登録・コマンド補完(Windows PC)

2024/09/11に公開

はじめに

本ページは個人の勉強で使用することを目的に作成しておりますが、記載の誤り等が含まれる場合がございます。
最新の情報についてはAWS公式ドキュメントをご参照ください。

やること

  • Windows PCにAWS CLIのバージョンを指定してインストールする。
  • アクセスキー・シークレットアクセスキーを登録する。
  • AWS CLIコマンドの保管機能を有効化する。
リソース バージョン
Powershell 7.4.5
AWS CLI 2.17.45
Windows Windows11

1. AWS CLIのインストール

  1. PowerShellを起動し、AWS CLIのバージョンを確認します。
  • aws-cli/2.8.3がインストールされています。
> aws --version
aws-cli/2.8.3 Python/3.9.11 Windows/10 exe/AMD64 prompt/off


  1. AWS CLIの変更ログを確認します。
  • 最新バージョンは2024/09/08現在で2.17.46でしたが、今回は2.17.45をインストールしていきます。


  1. AWS CLIのバージョン2.17.45をインストールします。
> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-2.17.45.msi


  1. ウィザードが起動するので、Nextをクリックします。

  2. ライセンスに同意してNextをクリックします。

  3. インストール先を確認してNextをクリックします。

  4. Installをクリックします。

  5. インストール終了後、Finishをクリックします。

  6. 無事にバージョンが更新されたことを確認します。

> aws --version
aws-cli/2.17.45 Python/3.11.9 Windows/10 exe/AMD64

2. アクセスキー・シークレットアクセスキーの設定

  1. AWS CLIの認証情報を登録します。
    ※アクセスキー・シークレットアクセスキーは事前に取得しておく。
> aws configure
AWS Access Key ID [****************XXXX]: # アクセスキーを入力
AWS Secret Access Key [****************XXXX]: # シークレットアクセスキーを入力
Default region name [ap-northeast-1]: # デフォルトリージョンを入力
Default output format [json]: # 出力形式を入力
  1. アクセスキー・シークレットアクセスキーが登録されたことを確認します。
# 認証情報を出力
> cat .\.aws\credentials
[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX # アクセスキー
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX # シークレットアクセスキー

# 設定(出力形式・デフォルトリージョン)を出力
> cat .\.aws\config
[default]
output = json # 出力形式
region = ap-northeast-1 # デフォルトリージョン

3. コマンド補完機能の有効化

  1. 環境変数$PROFILEが存在しない場合は作成します。
# $PROFILIEが無ければ作成
> if (!(Test-Path -Path $PROFILE ))
{ New-Item -Type File -Path $PROFILE -Force }

# $PROFILEが存在する事を確認する。
> $PROFILE
C:\Users\${ユーザー名}\OneDrive\ドキュメント\WindowsPowerShell\Microsoft.PowerShell_profile.ps1


  1. スクリプト実行ポリシーをRemoteSignedでない場合は変更します。
# 現在のスクリプト実行ポリシーを確認
> Get-ExecutionPolicy
Restricted

# スクリプト実行ポリシーをRemoteSignedに変更
> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

# 変更後のスクリプト実行ポリシーを確認
> Get-ExecutionPolicy
RemoteSigned


  1. C:\Users\${ユーザー名}\WindowsPowerShell\Microsoft.PowerShell_profile.ps1をメモ帳で開きます。
notepad.exe $PROFILE
  1. 以下のスクリプトをメモ帳にコピー&ペーストします。
Register-ArgumentCompleter -Native -CommandName aws -ScriptBlock {
    param($commandName, $wordToComplete, $cursorPosition)
        $env:COMP_LINE=$wordToComplete
        if ($env:COMP_LINE.Length -lt $cursorPosition){
            $env:COMP_LINE=$env:COMP_LINE + " "
        }
        $env:COMP_POINT=$cursorPosition
        aws_completer.exe | ForEach-Object {
            [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
        }
        Remove-Item Env:\COMP_LINE     
        Remove-Item Env:\COMP_POINT  
}
  1. PowerShellを開きなおし、aws s3 の後にTabキーをクリックするとコマンドが補完されます。
> aws s
> aws s3control

おわりに

  • Windows PCにインストールしたAWS CLIバージョンをしばらく更新していなかったので、設定まわりを色々やってみました。

参考

  • AWS CLIのインストール

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-version.html

  • アクセスキー・シークレットアクセスキーの設定

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-authentication-user.html

  • コマンド補完機能の有効化

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-completion.html#cli-command-completion-windows

Discussion