【メモ】AWS SDK for PowerShellのバージョンが古いとリージョン一覧でソウルが表示されない

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは植木和樹です。クラスメソッドでは新規AWSアカウント発行時にPowerShellを用いて初期設定を行っています。

ところで先日ソウルリージョン(ap-northeast-2)がオープンしましたが、PowerShellでCloudTrailを各リージョンでオンにしても、ソウルリージョンだけオフのままになってしまうという挙動がありました。

古いSDKだと Get-AWSRegion がap-northeast-2を返さないのが原因のためです。

解決策

AWS SDK for Windows PowerShellをバージョンアップしましょう。3.1.38.0でソウルリージョンも表示されることを確認済みです。3.1.4.0(2015-08-06リリース)では表示されませんでした。

Version 3.1.38.0

PS C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell> Get-AWSPowerShellVersion

AWS Tools for Windows PowerShell
Version 3.1.38.0
Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
PS C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell> Get-AWSRegion

Region                                  Name                                    IsShellDefault
------                                  ----                                    --------------
us-east-1                               US East (Virginia)                      False
us-west-1                               US West (N. California)                 False
us-west-2                               US West (Oregon)                        False
eu-west-1                               EU West (Ireland)                       False
eu-central-1                            EU Central (Frankfurt)                  False
ap-northeast-1                          Asia Pacific (Tokyo)                    True
ap-northeast-2                          Asia Pacific (Seoul)                    False (ちゃんとでてきた!)
ap-southeast-1                          Asia Pacific (Singapore)                False
ap-southeast-2                          Asia Pacific (Sydney)                   False
sa-east-1                               South America (Sao Paulo)               False

AWS SDK for PowerShellのCHANGELOGをみましたが、どのバージョンで修正されたのかは分かりませんでした。

補足情報

弊社Windows使い福田さんからの情報です。

個別にVisual StudioでNuGetを用いてAWS SDK for .NETの更新を行うとその部分のみ最新になって、他の要素(Visual Studio拡張、AWS SDK for Powershell)は更新されません。

まとめ

SDK for PowerShellをお使いの方は早めのバージョンアップをご検討ください。

SDK for PowerShellはリージョン情報を内部データで保持している(た)んでしょうか?なお、awscli(Python版)だとソウルリージョンオープン前のバージョンでもちゃんとap-northeast-2が表示されました。

$ aws --version
aws-cli/1.9.1 Python/2.7.10 Linux/4.1.10-17.31.amzn1.x86_64 botocore/1.3.1

$ aws ec2 describe-regions --query "Regions[].RegionName"
[
    "eu-west-1",
    "ap-southeast-1",
    "ap-southeast-2",
    "eu-central-1",
    "ap-northeast-2", (表示されてる)
    "ap-northeast-1",
    "us-east-1",
    "sa-east-1",
    "us-west-1",
    "us-west-2"
]

参考サイト