[アップデート]ECSがWindowsコンテナのgMSAをサポートしより簡単にAD参加できるようになります! #reinvent

2019.12.08

こっそりとしたECS関連のアップデートですが、re:Invent期間中、ECSにおいて、Active Directoryによる認証にWindows Accounts gMSAが利用可能となりました。

Amazon ECS now supports Active Directory Authentication using Windows Accounts gMSA

Windows gMSAが使えることでなにができるのか?

ECSにおけるWindows gMSAのECSサポートにより、Active Directory(AD)を使用して、ネットワークリソースとして、Windowsコンテナを認証および承認できるようになります。

ユーザーアカウントIDの構成自体をコンテナイメージから分離したまま、複数のサービスにおけるActive Directory Security Contextの適用が可能で、例えばECSで.NETアプリケーションを利用したい場合、パスワードを使わずにActive Directry統合認証によりSQL Serverに接続できるなど、様々なメリットがあります。

ECSタスク定義のdocker Security Optionsフィールドに資格情報を定義することで、gMSAを利用することができます。

サンプルリポジトリでECS WindowsコンテナによるgMSAによる認証を試してみたい

利用方法の概要は、公式ブログのこちらをご参考。ECS Windowsコンテナから実際にgMSAを利用してActive Directoryに参加するところまでが紹介されています。

How to Run ECS Windows Task with group Managed Service Account (gMSA) | Containers

ECS WindowsコンテナからのgMSAを利用したAD認証について、GitHubに挙げられたサンプルアプリケーション(amazon-ecs-gmsa/README.md at master · aws-samples/amazon-ecs-gmsa)を元に、実装していく手順がステップバイステップで紹介されています。

実際に手を動かして試してみたい方は、上記ドキュメントをご参照ください。

さらに詳しくgMSA対応について知りたい

公式ドキュメントはこちら。

Using gMSAs for Windows Containers - Amazon Elastic Container Service

仕様の詳細は上記で確認いただけますが、利用上の考慮事項と実施にあたっての前提条件を抜粋します。

考慮事項

コンテナインスタンスに、Amazon ECS-Optimized Windows 2016 AMIを利用する場合、コンテナのホスト名は、認証用クレデンシャルファイルに定義されたgMSAアカウント名と同一である必要があります。コンテナのホスト名の確認には、コンテナ定義中の当該パラメータをご確認ください(参考:Task Definition Parameters-Network Settings)。

前提条件

ECSにおけるWindowsコンテナ利用拡充の要となるアップデート

もともと、ECSのWindowsコンテナにおいて、ActiveDirectoryへの参加自体は可能でした。それが、Windows Server 2012から新機能として導入されたgMSAにも拡充対応されたことで、より柔軟にWindows コンテナをグループ単位で管理、運用ができるようになることが期待できます。

ECSにおけるWindowsコンテナも機能拡充が進んでいるので、今までコンテナでWindowsを利用する機会がなかった人も、これをきっかけに利用を検討してみてはいかがでしょうか。

それでは、今日はこのへんで。濱田(@hamako9999)でした。

gMSAについての参考記事

グループ管理サービスアカウント(Group Managed Service Accouts(gMSA))についてや、それをAWS Managed Microsoft ADで作成する方法などについては、弊社Takuya Shibataのこちらの、記事をご参照ください。

AWS Managed Microsoft ADでグループ管理サービスアカウント(gMSA)を作成する