2025年6月版 - AWS Tools for PowerShell V5の開発状況について
しばたです。
昨年10月にAWS Tools for PowerShellの次期バージョンとなるV5の開発状況についてお知らせしました。
その後本日に至るまで何度か更新されているので現在の状況をお伝えしたいと思います。
本日までの更新内容
現在はAWS Tools for PowerShell Ver.5.0.0-preview005 (Preview.5)が最新バージョンとなります。
更新履歴はGitHubのIssueで管理されています。
ここから各バージョンにおける詳細について触れてきます。
2025年2月 : AWS Tools for PowerShell Ver.5.0.0-preview002
Preview.2ではAWS SDK for .NETの更新に対応するための修正がメインとなっており目立った新機能はありません。
2025年3月 : AWS Tools for PowerShell Ver.5.0.0-preview003
Preview.3ではStart-SSMSessionコマンドがSSM Session Manager Pluginと連携できる様になったのが一番大きな改善点でしょう。
過去にDevelopersIOでも記事を書いてますが、従来のStart-SSMSession
コマンドはSSM Session Manager Pluginと連携することが出来ずSSM Sessionを張ることしかできませんでした。
- PowerShellでSSMのポートフォワーディングを試してみた(けど駄目だったはなし)
- AWS Tools for PowerShellでSSM Session Manager Pluginを使える様にしてみた
AWS Tools for PowerShell V5でAWS_PROFILE
環境変数のサポートが増えるといった共有認証情報ファイルに対するサポートが拡充されたので連携可能になったと思われます。
他にはいくつかのコマンドにおける挙動の改善や不要になったコマンドの削除、内部的に利用しているJSONライブラリの変更などが行われています。
2025年4月 : AWS Tools for PowerShell Ver.5.0.0-preview004
Preview.4はAWS SDK for .NET v4の正式リリースに合わせたリリースです。
ここから内部で使われるAWS SDK for .NETのバージョンが正式版になります。
2025年5月 : AWS Tools for PowerShell Ver.5.0.0-preview005
Preview.5ではページネーションに関するデフォルトの挙動が変更され、併せて挙動の設定を行うためのコマンドが増えています。
これまでページネーションをサポートしつつも自動ページネーションされなかったコマンドがAWS Tools for PowerShell V5ではデフォルトで自動ページネーションされる様になるそうです。
この挙動についてGet-AWSAutoIterationMode
コマンドで現在の設定を確認することができ、
standard
: V5標準の挙動。デフォルトで自動ページネーションする。v4
: 従来の挙動。デフォルトで自動ページネーションしない。
のどちらかの値を返します。
そしてSet-AWSAutoIterationMode
コマンドで設定を変更することが可能です。
# 現在の設定を確認
Get-AWSAutoIterationMode
# 従来の挙動に変更
Set-AWSAutoIterationMode -IterationMode v4
ちなみにですが、AWS Tools for PowerShell v4で既にいくつかのコマンドで自動ページネーションがサポートされ、ページネーションしたくない場合に-NoAutoIteration
パラメーターを指定できる様になっているのですが、この機能が追加されたコマンドはV5での変更に対して影響を受けない様です。
# AWS Tools for PowerShell v4で追加された自動ページネーション機能は影響を受けない模様
# -NoAutoIteration パラメーターは従来通り使用可能だった
Get-EC2Snapshot -MaxResult 5 -NoAutoIteration
試してみた
今回はPreview.3で改善されたStart-SSMSession
コマンドを実際に試してみます。
東京リージョンにWindows Server 2025のEC2インスタンスを1台用意しSSM Sessionで接続可能な状態にしておきます。
AWS Tools for PowerShell v4環境でStart-SSMSession
コマンドを実行すると以下の様にSession Manager Pluginと連動せずセッション情報を返して終了します。
# AWS Tools for PowerShell v4環境
PS /> Get-Command Start-SSMSession | Select-Object Source, Version
Source Version
------ -------
AWS.Tools.SimpleSystemsManagement 4.1.808
# 従来の挙動ではSession Manager Pluginと連動せずセッション情報を返すだけ
PS /> Start-SSMSession -Target i-028a86a5d5b77c051
SessionId StreamUrl
--------- ---------
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wss://ssmmessages.ap-northeast-1.amazonaws.com/v1…
AWS CloudShellで実行した場合
ここから前回同様にCloudShell上にAWS Tools for PowerShell V5をインストールしていきます。
CloudShellには既存のAWS Tools for PowerShell v4がインストール済みなので先に削除してからAWS Tools for PowerShell v5をインストールします。
# Bash上で既存のAWS Tools for PowerShell v4モジュールを削除
sudo rm -rf /opt/microsoft/powershell/7/Modules/AWS.Tools.*
# PowerShell上でAWS Tools for PowerShell v5モジュールをインストール
Install-Module -Name AWS.Tools.Common -AllowPrerelease -Repository PSGallery -Force
Install-Module -Name AWS.Tools.SimpleSystemsManagement -AllowPrerelease -Repository PSGallery -Force
インストール後の状態は以下の通りです。
# AWS Tools for PowerShell V5 (Preview.5) に更新済み
PS /> Get-InstalledModule
Version Name Repository Description
------- ---- ---------- -----------
5.0.0-preview005 AWS.Tools.SimpleSystemsManagement PSGallery The SimpleSystem…
5.0.0-preview005 AWS.Tools.Common PSGallery The AWS Tools fo…
PS /> Import-Module AWS.Tools.Common
PS /> Import-Module AWS.Tools.SimpleSystemsManagement
PS /> Get-Command Start-SSMSession | Select-Object Source, Version
Source Version
------ -------
AWS.Tools.SimpleSystemsManagement 5.0.0
この状態で改めてStart-SSMSession
を実行すると今度は当該EC2インスタンスにSSM Sessionで接続できました。
いい感じですね。
最後に
以上となります。
残念ながらAWS Tools for PowerShell V5の正式リリース時期についてはまだアナウンスがありません。
とはいえ基盤となるAWS SDK for .NET v4がGA済みなのでいつ来てもおかしくない状況ではあります。
これからも定期的に情報を追っていくのでよろしくお願いします。