Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfigurieren von Instance-Metadatenoptionen für neue Instances
Sie können die folgenden Optionen für Instanzmetadaten für neue Instanzen konfigurieren.
Sie können die folgenden Methoden verwenden, um die Verwendung von IMDSv2 auf Ihren neuen Instanzen vorzuschreiben.
So machen Sie IMDSv2 erforderlich
Legen Sie IMDSv2 als Standard für das Konto fest
Sie können die Standardversion für den Instanz-Metadatendienst (IMDS) jeweils auf Kontoebene festlegen. AWS-Region Das heißt, wenn Sie eine neue Instance starten, wird die Instanz-Metadatenversion automatisch auf den Standard auf Kontoebene gesetzt. Sie können den Wert jedoch beim Start oder nach dem Start manuell überschreiben. Weitere Informationen darüber, wie sich Einstellungen auf Kontoebene und manuelle Überschreibungen auf eine Instance auswirken, finden Sie unter. Rangfolge der Optionen für Instanz-Metadaten
Durch das Festlegen der Standardeinstellung auf Kontoebene werden bestehende Instanzen nicht zurückgesetzt. Wenn Sie beispielsweise den Standard auf Kontoebene auf IMDSv2 festlegen, sind alle vorhandenen Instanzen, die auf IMDSv1 festgelegt sind, nicht betroffen. Wenn Sie den Wert für bestehende Instances ändern möchten, müssen Sie den Wert für die Instances selbst manuell ändern.
Sie können den Kontostandard für die Instanz-Metadatenversion auf IMDSv2 festlegen, sodass alle neuen Instances beim Kontostart mit IMDSv2 erforderlich sind und IMDSv1 deaktiviert wird. Wenn Sie diesen Kontostandard verwenden, gelten beim Starten einer Instance die folgenden Standardwerte für die Instance:
-
Konsole: Die Metadatenversion ist nur auf V2 festgelegt (Token erforderlich) und das Limit für den Metadaten-Response-Hop ist auf 2 festgelegt.
-
AWS CLI: HttpTokens
ist auf gesetzt required
und HttpPutResponseHopLimit
ist auf gesetzt2
.
- Console
-
Um IMDSv2 als Standard für das Konto für die angegebene Region festzulegen
Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.
-
Um das zu ändern AWS-Region, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.
-
Wählen Sie im Navigationsbereich EC2 Dashboard (EC2-Dashboard) aus.
-
Wählen Sie unter Kontoattribute die Option Datenschutz und Sicherheit aus.
-
Wählen Sie neben IMDS-Standardeinstellungen die Option Verwalten aus.
-
Gehen Sie auf der Seite IMDS-Standardwerte verwalten wie folgt vor:
-
Wählen Sie für Instance-Metadaten-Service die Option Aktiviert aus.
-
Wählen Sie für Metadatenversion die Option Nur V2 (Token erforderlich) aus.
-
Geben Sie für Metadata Response Hop Limit den Wert 2 an, wenn Ihre Instances Container hosten sollen. Wählen Sie andernfalls Keine Präferenz aus. Wenn keine Präferenz angegeben ist, wird der Wert beim Start standardmäßig auf 2 gesetzt, wenn das AMI IMDSv2 benötigt; andernfalls wird der Standardwert auf 1 gesetzt.
-
Wählen Sie Aktualisieren.
- AWS CLI
-
Um IMDSv2 als Standard für das Konto für die angegebene Region festzulegen
Verwenden Sie den Befehl modify-instance-metadata-defaults und geben Sie die Region an, in der die Einstellungen auf IMDS-Kontoebene geändert werden sollen. Schließen --http-tokens
Sie die Einstellung auf ein und legen Sie fest, ob Ihre Instances Container required
hosten werden. --http-put-response-hop-limit
2
Geben Sie andernfalls -1
an, dass keine Präferenz angegeben werden soll. Wenn -1
(keine Präferenz) angegeben ist, wird beim Start standardmäßig der Wert verwendet, 2
ob das AMI IMDSv2 benötigt; andernfalls ist der Standardwert. 1
aws ec2 modify-instance-metadata-defaults \
--region us-east-1
\
--http-tokens required \
--http-put-response-hop-limit 2
Erwartete Ausgabe
{
"Return": true
}
Um die Standardkontoeinstellungen für die Instance-Metadatenoptionen für die angegebene Region anzuzeigen
Verwenden Sie den get-instance-metadata-defaults Befehl und geben Sie die Region an.
aws ec2 get-instance-metadata-defaults --region us-east-1
Beispielausgabe
{
"AccountLevel": {
"HttpTokens": "required",
"HttpPutResponseHopLimit": 2
}
}
Wenn Sie eine Instance starten, können Sie sie so konfigurieren, dass die Verwendung von IMDSv2 erzwungen wird. Dazu konfigurieren Sie die folgenden Felder:
Wenn Sie angeben, dass IMDSv2 erforderlich ist, müssen Sie auch den Endpunkt des Instance Metadata Service (IMDS) aktivieren, indem Sie Metadatazugriff auf Aktiviert (Konsole) oder HttpEndpoint
auf enabled
(AWS CLI) einstellen.
In einer Containerumgebung, in der IMDSv2 erforderlich ist, empfehlen wir, das Hop-Limit auf festzulegen. 2
Weitere Informationen finden Sie unter Überlegungen.
- New console
-
So erzwingen Sie die Verwendung von IMDSv2 für eine neue Instance
-
Wenn Sie eine neue Instance in der Amazon-EC2-Konsole starten, erweitern Sie Erweiterte Details wie folgt:
-
Für Metadaten zugänglich wählen Sie Aktiviert.
-
Wählen Sie für Metadatenversion die Option Nur V2 (Token erforderlich) aus.
-
(Container-Umgebung) Wählen Sie unter „Metadata Response Hop Limit“ den Wert 2 aus.
Weitere Informationen finden Sie unter Erweiterte Details.
- Old console
-
So erzwingen Sie die Verwendung von IMDSv2 für eine neue Instance
Weitere Informationen finden Sie unter Schritt 3: Konfigurieren der Instance-Details.
- AWS CLI
-
So erzwingen Sie die Verwendung von IMDSv2 für eine neue Instance
Im folgenden Beispiel für run-instances wird eine c6i.large
-Instance gestartet, bei der --metadata-options
auf HttpTokens=required
gesetzt ist. Wenn Sie einen Wert für HttpTokens
angeben, müssen Sie auch HttpEndpoint
auf enabled
einstellen. Da der sichere Token-Header für Anforderungen zum Abruf von Metadaten auf required
eingestellt ist, muss die Instance beim Anfordern von Instance-Metadaten IMDSv2 verwenden.
Wenn in einer Container-Umgebung IMDSv2 erforderlich ist, empfehlen wir, das Hop-Limit auf with zu 2
setzen. HttpPutResponseHopLimit=2
aws ec2 run-instances \
--image-id ami-0abcdef1234567890
\
--instance-type c6i.large
\
...
--metadata-options "HttpEndpoint=enabled,HttpTokens=required,HttpPutResponseHopLimit=2"
- PowerShell
-
So erzwingen Sie die Verwendung von IMDSv2 für eine neue Instance
Das folgende New-EC2InstanceCmdlet-Beispiel startet eine c6i.large
Instanz mit MetadataOptions_HttpEndpoint
set to enabled
und dem Parameter to. MetadataOptions_HttpTokens
required
Wenn Sie einen Wert für HttpTokens
angeben, müssen Sie auch HttpEndpoint
auf enabled
einstellen. Da der sichere Token-Header für Anforderungen zum Abruf von Metadaten auf required
eingestellt ist, muss die Instance beim Anfordern von Instance-Metadaten IMDSv2 verwenden.
New-EC2Instance `
-ImageId ami-0abcdef1234567890
`
-InstanceType c6i.large
`
-MetadataOptions_HttpEndpoint enabled `
-MetadataOptions_HttpTokens required
- AWS CloudFormation
-
Informationen zum Angeben der Metadatenoptionen für eine Instance, die Sie verwenden AWS CloudFormation, finden Sie in der entsprechenden AWS::EC2::LaunchTemplate MetadataOptionsEigenschaft im AWS CloudFormation Benutzerhandbuch.
Wenn Sie ein neues AMI registrieren oder ein vorhandenes AMI ändern, können Sie den Parameter imds-support
auf v2.0
setzen. Bei Instances, die über dieses AMI gestartet werden, ist Metadata version (Metadatenversion) auf V2 only (token required) (Nur V2 (Token erforderlich)) (Konsole) oder HttpTokens
auf required
(AWS CLI) eingestellt. Mit diesen Einstellungen erzwingt die Instance die Verwendung von IMDSv2, wenn Instance-Metadaten angefordert werden.
Hinweis: Wenn Sie imds-support
auf v2.0
einstellen, wird bei Instances, die über dieses AMI gestartet werden, auch Metadata response hop limit (Limit für Metadaten-Antwort-Hop) (Konsole) oder http-put-response-hop-limit
(AWS CLI) auf 2 eingestellt.
Verwenden Sie diesen Parameter nur, wenn Ihre AMI-Software IMDSv2 unterstützt. Nachdem Sie den Wert auf v2.0
gesetzt haben, können Sie das nicht mehr rückgängig machen. Die einzige Möglichkeit, Ihr AMI „zurückzusetzen“, besteht darin, ein neues AMI aus dem zugrunde liegenden Snapshot zu erstellen.
So konfigurieren Sie ein neues AMI für IMDSv2
Verwenden Sie eine der folgenden Methoden, um ein neues AMI für IMDSv2 zu konfigurieren.
- AWS CLI
-
Das folgende register-image-Beispiel registriert ein AMI mit dem angegebenen Snapshot eines EBS-Stamm-Volumes als /dev/xvda
des Geräts. Geben Sie v2.0
für den imds-support
-Parameter an, sodass von diesem AMI aus gestartete Instances erzwingen, dass beim Anfordern von Instance-Metadaten IMDSv2 verwendet wird.
aws ec2 register-image \
--name my-image
\
--root-device-name /dev/xvda \
--block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example
} \
--architecture x86_64 \
--imds-support v2.0
- PowerShell
-
Das folgende Register-EC2ImageCmdlet-Beispiel registriert ein AMI, das den angegebenen Snapshot eines EBS-Root-Volumes als Gerät verwendet. /dev/xvda
Geben Sie v2.0
für den ImdsSupport
-Parameter an, sodass von diesem AMI aus gestartete Instances erzwingen, dass beim Anfordern von Instance-Metadaten IMDSv2 verwendet wird.
Import-Module AWS.Tools.EC2 # Required for Amazon.EC2.Model object creation.
Register-EC2Image `
-Name 'my-image
' `
-RootDeviceName /dev/xvda `
-BlockDeviceMapping (
New-Object `
-TypeName Amazon.EC2.Model.BlockDeviceMapping `
-Property @{
DeviceName = '/dev/xvda';
EBS = (New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice -Property @{
SnapshotId = 'snap-0123456789example
;
VolumeType = 'gp3'
} )
} ) `
-Architecture X86_64 `
-ImdsSupport v2.0
So konfigurieren Sie ein bestehendes AMI für IMDSv2
Verwenden Sie eine der folgenden Methoden, um ein bereits vorhandenes AMI für IMDSv2 zu konfigurieren.
- AWS CLI
-
Das folgende Beispiel für modify-image-attribute ändert ein vorhandenes AMI nur für IMDSv2. Geben Sie v2.0
für den imds-support
-Parameter an, sodass von diesem AMI aus gestartete Instances erzwingen, dass beim Anfordern von Instance-Metadaten IMDSv2 verwendet wird.
aws ec2 modify-image-attribute \
--image-id ami-0123456789example
\
--imds-support v2.0
- PowerShell
-
Das folgende Edit-EC2ImageAttributeCmdlet-Beispiel ändert ein vorhandenes AMI nur für IMDSv2. Geben Sie v2.0
für den imds-support
-Parameter an, sodass von diesem AMI aus gestartete Instances erzwingen, dass beim Anfordern von Instance-Metadaten IMDSv2 verwendet wird.
Edit-EC2ImageAttribute `
-ImageId ami-0abcdef1234567890
`
-ImdsSupport 'v2.0'
Sie können eine IAM-Richtlinie erstellen, die verhindert, dass Benutzer neue Instances starten, es sei denn, sie benötigen IMDSv2 auf der neuen Instance.
So erzwingen Sie die Verwendung von IMDSv2 auf allen neuen Instances mit einer IAM-Richtlinie
Um sicherzustellen, dass Benutzer beim Anfordern von Instance-Metadaten nur Instances starten können, die die Verwendung von IMDSv2 erfordern, können Sie angeben, dass die Bedingung für die Anforderung von IMDSv2 erfüllt sein muss, bevor eine Instance gestartet werden kann. Die IAM-Beispielrichtlinie finden Sie unter Arbeiten mit Instance-Metadaten.
Das IMDS hat zwei Endpunkte auf einer Instanz: IPv4 () und IPv6 (). 169.254.169.254
[fd00:ec2::254]
Wenn Sie das IMDS aktivieren, wird der IPv4-Endpunkt automatisch aktiviert. Der IPv6-Endpunkt bleibt auch dann deaktiviert, wenn Sie eine Instance in einem reinen IPv6-Subnetz starten. Um den IPv6-Endpunkt zu aktivieren, müssen Sie dies explizit tun. Wenn Sie den IPv6-Endpunkt aktivieren, bleibt der IPv4-Endpunkt aktiviert.
Sie können den IPv6-Endpunkt beim Start der Instance oder danach aktivieren.
Anforderungen für die Aktivierung des IPv6-Endpunkts
-
Der ausgewählte Instanztyp basiert auf dem AWS Nitro-System.
-
Das ausgewählte Subnetz unterstützt IPv6, wobei es sich bei dem Subnetz entweder um ein Dual-Stack-Subnetz oder nur um IPv6 handelt.
Verwenden Sie eine der folgenden Methoden, um eine Instance mit aktiviertem IMDS-IPv6-Endpunkt zu starten.
- New console
-
Um den IMDS-IPv6-Endpunkt beim Start der Instanz zu aktivieren
Weitere Informationen finden Sie unter Erweiterte Details.
- AWS CLI
-
Um den IMDS-IPv6-Endpunkt beim Instance-Start zu aktivieren
Das folgende run-instances-Beispiel startet eine c6i.large
-Instance, wobei der IPv6-Endpunkt für den IMDS aktiviert ist. Um den IPv6-Endpunkt zu aktivieren, geben Sie für den Parameter --metadata-options
den Wert HttpProtocolIpv6=enabled
an. Wenn Sie einen Wert für HttpProtocolIpv6
angeben, müssen Sie auch HttpEndpoint
auf enabled
einstellen.
aws ec2 run-instances \
--image-id ami-0abcdef1234567890
\
--instance-type c6i.large
\
...
--metadata-options "HttpEndpoint=enabled,HttpProtocolIpv6=enabled"
- PowerShell
-
Um den IMDS-IPv6-Endpunkt beim Instance-Start zu aktivieren
Das folgende New-EC2InstanceCmdlet-Beispiel startet eine c6i.large
Instanz, bei der der IPv6-Endpunkt für das IMDS aktiviert ist. Legen Sie zum Aktivieren des IPv6-Endpunkts MetadataOptions_HttpProtocolIpv6
auf enabled
fest. Wenn Sie einen Wert für MetadataOptions_HttpProtocolIpv6
angeben, müssen Sie auch MetadataOptions_HttpEndpoint
auf enabled
einstellen.
New-EC2Instance `
-ImageId ami-0abcdef1234567890
`
-InstanceType c6i.large
`
-MetadataOptions_HttpEndpoint enabled `
-MetadataOptions_HttpProtocolIpv6 enabled
Sie können den Zugriff auf die Instance-Metadaten deaktivieren, indem Sie den IMDS deaktivieren, wenn Sie eine Instance starten. Sie können den Zugriff später wieder aktivieren, indem Sie den IMDS erneut aktivieren. Weitere Informationen finden Sie unter Aktivieren des Zugriffs auf Instance-Metadaten.
Sie können wählen, ob Sie den IMDS beim Start oder nach dem Start deaktivieren möchten. Wenn Sie den IMDS beim Start deaktivieren, funktioniert Folgendes möglicherweise nicht:
-
Möglicherweise haben Sie keinen SSH-Zugriff auf Ihre Instance. Auf den public-keys/0/openssh-key
, den öffentlichen SSH-Schlüssel Ihrer Instance, kann nicht zugegriffen werden, da der Schlüssel normalerweise über die EC2-Instance-Metadaten bereitgestellt und abgerufen wird.
-
EC2-Benutzerdaten sind nicht verfügbar und werden beim Start der Instance nicht ausgeführt. EC2-Benutzerdaten werden auf dem IMDS gehostet. Wenn Sie den IMDS deaktivieren, deaktivieren Sie effektiv den Zugriff auf Benutzerdaten.
Sie können den IMDS nach dem Start wieder aktivieren, um auf diese Funktion zuzugreifen.
- New console
-
So deaktivieren Sie den Zugriff auf Instance-Metadaten beim Start
Weitere Informationen finden Sie unter Erweiterte Details.
- Old console
-
So deaktivieren Sie den Zugriff auf Instance-Metadaten beim Start
Weitere Informationen finden Sie unter Schritt 3: Konfigurieren der Instance-Details.
- AWS CLI
-
So deaktivieren Sie den Zugriff auf Instance-Metadaten beim Start
Starten Sie die Instance, wobei --metadata-options
auf HttpEndpoint=disabled
eingestellt ist.
aws ec2 run-instances \
--image-id ami-0abcdef1234567890
\
--instance-type c6i.large
\
...
--metadata-options "HttpEndpoint=disabled"
- PowerShell
-
So deaktivieren Sie den Zugriff auf Instance-Metadaten beim Start
Das folgende New-EC2InstanceCmdlet-Beispiel startet eine Instanz mit der Einstellung auf. MetadataOptions_HttpEndpoint
disabled
New-EC2Instance `
-ImageId ami-0abcdef1234567890
`
-InstanceType c6i.large
`
-MetadataOptions_HttpEndpoint disabled
- AWS CloudFormation
-
Informationen zum Angeben der Metadatenoptionen für eine Instanz, die Sie verwenden AWS CloudFormation, finden Sie in der AWS::EC2::LaunchTemplate MetadataOptionsentsprechenden Eigenschaft im AWS CloudFormation Benutzerhandbuch.