[小ネタ] Windows AMIの更新通知の購読をAWS CLIから行う

[小ネタ] Windows AMIの更新通知の購読をAWS CLIから行う

Clock Icon2024.11.16

しばたです。

先日リリースされたWindows Server 2025 AMIを試しましたが、不具合があり日本語版AMIが非公開になっていました。

https://dev.classmethod.jp/articles/ec2-windows-server-2025-ami-released/

そこで新しいAMIのリリースに備え更新通知を購読しておくことにしました。

Windows AMIの更新通知

AWSが公式に提供するWindows AMIはAWSが公開しているSNSトピックを購読することで更新に関する通知を受け取ることが出来ます。

https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/subscribe-notifications.html

詳細は上記ドキュメントにある通りで、「新バージョンの更新」と「既存AMIのリタイア(非公開化)」の通知を受け取れます。

  • 新バージョンの更新 : arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-update
    • GovCloudの場合は : arn:aws-us-gov:sns:us-gov-west-1:077303321853:ec2-windows-ami-update
  • 既存AMIのリタイア(非公開化) : arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-private

この通知をメールで受け取ると以下の様な文面で届きます。

新しいAMIの更新があった際の通知例
A new version of Windows Server Amazon Machine Images has been released. Previous versions of Amazon published Windows AMIs dated 2024.08.14 and older will be made private after December 11th 2024, 10 AM Pacific.

New AMIs are dated 2024.11.13. Search for them using the AWS Console, or by using Powershell Get-SSMParametersByPath -Path "/aws/service/ami-windows-latest".

Please update any dependencies such as CloudFormation or Autoscaling groups.

EC2 Quickstart and AWS MarketPlace listings will be updated over the next couple days.

Changes:
- AWSPowerShell v4.1.694
- AWS NVMe v1.6.0
- cfn-init v2.0.31
- EC2 Launch v1.3.2005065
- SSM v3.3.1230.0
- SQL Server CUs installed:
  - SQL_2019: CU 29
- Windows Security Updates current to November 12th 2024

References:
EC2 Quickstart: https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:
AWS Marketplace: https://aws.amazon.com/marketplace/seller-profile?id=e6a5002c-6dd0-4d1e-8196-0a1d1857229b&ref=srh_res_product_vendor
Windows AMI Versions: https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ec2-windows-ami-version-history.html
Powershell in AWS: https://aws.amazon.com/powershell/  AWS Powershell versions: https://www.powershellgallery.com/packages/AWSPowerShell/
CloudFormation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/ReleaseHistory.html
EC2Launch V2: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2launch-v2.html
AWS PV Driver: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/xen-drivers-overview.html
AWS NVME: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/aws-nvme-drivers.html
ENA Driver: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html
Microsoft Security Update Summary: https://msrc.microsoft.com/update-guide/
Microsoft Update Services Changes: https://support.microsoft.com/en-us/help/894199/software-update-services-and-windows-server-update-services-changes-in

Regards,
EC2 Windows Platform Team

AWS CLIで購読してみる

ドキュメントではマネジメントコンソールからの購読手順が紹介されていますが、現在はAWS CloudShellもあるのでAWS CLIを使えば一瞬で作業できます。

SNSトピックの購読はaws sns subscribeコマンドで可能です。
バージニア北部のトピックなので--region us-east-1を明示してやる点だけ気を付ければ問題無いでしょう。

AWS CloudShell
# Windows AMI更新の購読
aws sns subscribe --topic-arn arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-update \
  --region us-east-1 \
  --protocol email \
  --notification-endpoint "your-mail-address@example.com"

# Windows AMIリタイアの購読
aws sns subscribe --topic-arn arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-private \
  --region us-east-1 \
  --protocol email \
  --notification-endpoint "your-mail-address@example.com"

コマンドが成功するとバージニア北部にトピックが作成され「保留中」状態になるので別途届くメールから「Confirm subscription」してやれば完了です。

ちなみにAWS CLIで「Confirm subscription」するにはaws sns confirm-subscriptionコマンドを使いますが、メール通知だとTokenがメール本文からしか取得できないので通常使うことは無いでしょう。
以下の記事にある様に「unsubscribe」のリンクを無効にする際に使ってください。

https://dev.classmethod.jp/articles/amazon-sns-disable-unsubscribe-link/

おまけ : その他SNSトピック

最後におまけとしてAMI更新以外でWindowsに関連するSNSトピックを紹介しておきます。

  • Windows用ドライバの更新 : arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers
  • EC2Launch v2の更新 : arn:aws:sns:us-east-1:309726204594:amazon-ec2launch-v2
  • EC2Launch v1, EC2Configの更新 : arn:aws:sns:us-east-1:801119661308:ec2-windows-ec2config

引用元はこちら。

Windows以外も含めるとこちらのGitHubリポジトリがいい感じにまとまっています。

https://github.com/ranman/awesome-sns

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.