この記事は公開されてから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"
]