🐕
【初心者向け】AWS CLIのバージョン更新・アクセスキー登録・コマンド補完(Windows PC)
はじめに
本ページは個人の勉強で使用することを目的に作成しておりますが、記載の誤り等が含まれる場合がございます。
最新の情報についてはAWS公式ドキュメントをご参照ください。
やること
- Windows PCにAWS CLIのバージョンを指定してインストールする。
- アクセスキー・シークレットアクセスキーを登録する。
- AWS CLIコマンドの保管機能を有効化する。
リソース | バージョン |
---|---|
Powershell | 7.4.5 |
AWS CLI | 2.17.45 |
Windows | Windows11 |
1. AWS CLIのインストール
- 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
- AWS CLIの変更ログを確認します。
- 最新バージョンは2024/09/08現在で
2.17.46
でしたが、今回は2.17.45
をインストールしていきます。
- AWS CLIのバージョン
2.17.45
をインストールします。
> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-2.17.45.msi
-
ウィザードが起動するので、Nextをクリックします。
-
ライセンスに同意してNextをクリックします。
-
インストール先を確認してNextをクリックします。
-
Installをクリックします。
-
インストール終了後、Finishをクリックします。
-
無事にバージョンが更新されたことを確認します。
> aws --version
aws-cli/2.17.45 Python/3.11.9 Windows/10 exe/AMD64
2. アクセスキー・シークレットアクセスキーの設定
- AWS CLIの認証情報を登録します。
※アクセスキー・シークレットアクセスキーは事前に取得しておく。
> aws configure
AWS Access Key ID [****************XXXX]: # アクセスキーを入力
AWS Secret Access Key [****************XXXX]: # シークレットアクセスキーを入力
Default region name [ap-northeast-1]: # デフォルトリージョンを入力
Default output format [json]: # 出力形式を入力
- アクセスキー・シークレットアクセスキーが登録されたことを確認します。
# 認証情報を出力
> 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. コマンド補完機能の有効化
- 環境変数
$PROFILE
が存在しない場合は作成します。
# $PROFILIEが無ければ作成
> if (!(Test-Path -Path $PROFILE ))
{ New-Item -Type File -Path $PROFILE -Force }
# $PROFILEが存在する事を確認する。
> $PROFILE
C:\Users\${ユーザー名}\OneDrive\ドキュメント\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
- スクリプト実行ポリシーを
RemoteSigned
でない場合は変更します。
# 現在のスクリプト実行ポリシーを確認
> Get-ExecutionPolicy
Restricted
# スクリプト実行ポリシーをRemoteSignedに変更
> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
# 変更後のスクリプト実行ポリシーを確認
> Get-ExecutionPolicy
RemoteSigned
-
C:\Users\${ユーザー名}\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
をメモ帳で開きます。
notepad.exe $PROFILE
- 以下のスクリプトをメモ帳にコピー&ペーストします。
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
}
- PowerShellを開きなおし、
aws s3
の後にTabキーをクリックするとコマンドが補完されます。
> aws s
> aws s3control
おわりに
- Windows PCにインストールしたAWS CLIバージョンをしばらく更新していなかったので、設定まわりを色々やってみました。
参考
- AWS CLIのインストール
- アクセスキー・シークレットアクセスキーの設定
- コマンド補完機能の有効化
Discussion