翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Windows Pod とコンテナの gMSA を設定する
gMSA アカウントとは
.NET アプリケーションなどの Windows ベースのアプリケーションは、多くの場合、Active Directory を ID プロバイダーとして使用し、NTLM または Kerberos プロトコルを使用した認可/認証を提供します。
Kerberos チケットを Active Directory と交換するアプリケーションサーバーは、ドメインに参加している必要があります。Windows コンテナはドメイン結合をサポートしておらず、コンテナがエフェメラルリソースであるためあまり意味がないため、Active Directory RID プールに負担がかかります。
ただし、管理者は gMSA Active Directory
Windows コンテナと gMSA のユースケース
Windows 認証を活用し、Windows コンテナとして実行されるアプリケーションは、Windows ノードを使用してコンテナに代わって Kerberos チケットを交換するため、gMSA の恩恵を受けます。gMSA 統合をサポートするために Windows ワーカーノードをセットアップするには、次の 2 つのオプションを使用できます。
1 - ドメイン結合 Windows ワーカーノード
この設定では、Windows ワーカーノードは Active Directory ドメインにドメイン結合され、Windows ワーカーノードの AD コンピュータアカウントは Active Directory に対する認証と、ポッドで使用する gMSA ID の取得に使用されます。
ドメイン結合アプローチでは、既存の Active Directory GPOs を使用して Windows ワーカーノードを簡単に管理および強化できます。ただし、Kubernetes クラスターで Windows ワーカーノードを結合すると、追加の運用オーバーヘッドと遅延が発生します。これは、ノードの起動時に追加の再起動が必要になり、Kubernetes クラスターがノードを終了した後に Active Directory ガレージをクリーンアップする必要があるためです。
次のブログ記事では、ドメイン結合 Windows ワーカーノードアプローチを実装する方法の詳細なstep-by-stepについて説明します。
Amazon EKS Windows ポッドでの Windows 認証
2 - ドメインレス Windows ワーカーノード
この設定では、Windows ワーカーノードは Active Directory ドメインに参加せず、「ポータブル」アイデンティティ (ユーザー/パスワード) を使用して Active Directory に対して認証し、ポッドで使用する gMSA アイデンティティを取得します。
ポータブル ID は Active Directory ユーザーです。ID (ユーザー/パスワード) は AWS Secrets Manager または AWS System Manager パラメータストアに保存され、ccg_plugin と呼ばれる AWS が開発したプラグインを使用して AWS Secrets Manager または AWS System Manager パラメータストアからこの ID を取得し、それを containerd に渡して gMSA ID を取得し、ポッドで使用できるようにします。
このドメインレスアプローチでは、gMSA を使用するときに Windows ワーカーノードの起動中に Active Directory の操作を行わず、Active Directory 管理者の運用オーバーヘッドを減らすことができます。
次のブログ記事では、Domainless Windows ワーカーノードアプローチを実装する方法の詳細なstep-by-stepについて説明します。
Amazon EKS Windows ポッドのドメインレス Windows 認証
重要な注意事項
ポッドは gMSA アカウントを使用できますが、Windows 認証をサポートするように Microsoft IIS を設定するには、Dockerfile を使用してアプリケーションまたはサービスをセットアップする必要があります。
RUN Install-WindowsFeature -Name Web-Windows-Auth -IncludeAllSubFeature RUN Import-Module WebAdministration; Set-ItemProperty 'IIS:\AppPools\SiteName' -name processModel.identityType -value 2 RUN Import-Module WebAdministration; Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/anonymousAuthentication' -Name Enabled -Value False -PSPath 'IIS:\' -Location 'SiteName' RUN Import-Module WebAdministration; Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/windowsAuthentication' -Name Enabled -Value True -PSPath 'IIS:\' -Location 'SiteName'