Windows-IAM-Rollen für Aufgaben - Amazon Elastic Container Service

Windows-IAM-Rollen für Aufgaben

Die IAM-Rollen für Aufgaben mit Windows-Funktionen erfordern eine zusätzliche Konfiguration, aber ein Großteil dieser Konfiguration ähnelt der Aktivierung von IAM-Rollen für Aufgaben auf Linux-Container-Instances. Um „IAM-Rollen für Aufgaben“ für Windows-Container zu aktivieren, müssen die folgenden Anforderungen erfüllt sein.

  • Wenn Sie Container-Instances starten, müssen Sie die Option -EnableTaskIAMRole im Benutzerdatenskript der Container-Instances festlegen. EnableTaskIAMRole aktiviert die Task-IAM-Rollenfunktion für die Aufgaben. Beispiel:

    <powershell> Import-Module ECSTools Initialize-ECSAgent -Cluster 'windows' -EnableTaskIAMRole </powershell>
  • Sie müssen einen Bootstrap für Ihren Container mit den Netzwerkbefehlen ausführen, die unter angegeben sind IAM-Rollen für Aufgaben – Bootstrap-Skript für Container.

  • Sie müssen eine IAM-Rolle und -Richtlinie für Ihre Aufgaben erstellen. Weitere Informationen finden Sie unter Erstellen einer IAM-Rolle und -Richtlinie für Ihre Aufgaben.

  • Ihr Container muss ein AWS-SDK verwenden, das „IAM-Rollen für Aufgaben“ unterstützt. Weitere Informationen finden Sie unter Verwendung eines unterstützten AWS-SDK.

  • Sie müssen die für Ihre Aufgaben erstellte IAM-Rolle angeben, wenn Sie die Aufgabendefinition registrieren – oder als Übersteuerung bei Ausführung der Aufgabe. Weitere Informationen finden Sie unter Angeben einer IAM-Rolle für Ihre Aufgaben.

  • Die IAM-Rollen für den Anbieter der Anmeldeinformationen für die Aufgabe verwenden Port 80 auf der Container-Instance. Daher können Ihre Container nicht Port 80 für den Host-Port in Port-Zuweisungen verwenden, wenn Sie IAM-Rollen für Aufgaben auf Ihrer Container-Instance aktivieren. Um Ihre Container auf Port 80 bereitzustellen, empfehlen wir, dass Sie dafür einen Container mit Lastausgleich konfigurieren. Sie können Port 80 auf dem Load Balancer verwenden. Auf diese Weise kann der Datenverkehr an einen anderen Host-Port auf Ihren Container-Instances umgeleitet werden. Weitere Informationen finden Sie unter Service-Load Balancing.

  • Wenn Ihre Windows-Instance neu gestartet wird, müssen Sie die Proxy-Schnittstelle löschen und den Amazon ECS-Container-Agenten erneut initialisieren, um den Anmeldeinformationsproxy wieder zu starten.

IAM-Rollen für Aufgaben – Bootstrap-Skript für Container

Bevor Container zum Abrufen von Anmeldeinformationen auf den Proxy für Anmeldeinformationen auf der Container-Instance zugreifen können, muss für den Container ein Bootstrap mit den erforderlichen Netzwerkbefehlen ausgeführt werden. Das folgende Code-Beispielskript sollte auf Ihren Containern bei deren Start ausgeführt werden.

Anmerkung

Sie müssen dieses Skript nicht ausführen, wenn Sie awsvpc-Netzwerkmodus unter Windows verwenden.

# Copyright 2014-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may # not use this file except in compliance with the License. A copy of the # License is located at # # http://aws.amazon.com/apache2.0/ # # or in the "license" file accompanying this file. This file is distributed # on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either # express or implied. See the License for the specific language governing # permissions and limitations under the License. $gateway = (Get-NetRoute | Where { $_.DestinationPrefix -eq '0.0.0.0/0' } | Sort-Object RouteMetric | Select NextHop).NextHop $ifIndex = (Get-NetAdapter -InterfaceDescription "Hyper-V Virtual Ethernet*" | Sort-Object | Select ifIndex).ifIndex New-NetRoute -DestinationPrefix 169.254.170.2/32 -InterfaceIndex $ifIndex -NextHop $gateway # credentials API New-NetRoute -DestinationPrefix 169.254.169.254/32 -InterfaceIndex $ifIndex -NextHop $gateway # metadata API