Erstellen einer VPC für Ihren Amazon-EKS-Cluster - Amazon EKS

Erstellen einer VPC für Ihren Amazon-EKS-Cluster

Sie können Amazon Virtual Private Cloud (Amazon VPC) verwenden, um AWS-Ressourcen in einem virtuellen Netzwerk zu starten, das Sie definiert haben. Dieses virtuelle Netzwerk ist einem herkömmlichen Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben, sehr ähnlich. Es bietet jedoch die Vorzüge, die mit der Nutzung der skalierbaren Infrastruktur von Amazon Web Services einhergehen. Weitere Informationen finden Sie im Amazon VPC-Benutzerhandbuch.

Ein Amazon-EKS-Cluster, Knoten und Kubernetes-Ressourcen werden auf einer VPC bereitgestellt. Wenn Sie eine vorhandene VPC mit Amazon EKS verwenden möchten, muss diese VPC die unter Amazon EKS: VPC- und Subnetz-Anforderungen und -Überlegungen beschriebenen Voraussetzungen erfüllen. In diesem Thema wird beschrieben, wie Sie mit einer von Amazon EKS bereitgestellten AWS CloudFormation-Vorlage eine VPC erstellen, die die Voraussetzungen von Amazon EKS erfüllt.

Voraussetzung

Um eine VPC für Amazon EKS zu erstellen, benötigen Sie die erforderlichen IAM-Berechtigungen, um Amazon-VPC-Ressourcen zu erstellen. Diese Ressourcen sind VPCs, Subnetze, Sicherheitsgruppen, Routing-Tabellen und Routen sowie Internet- und NAT-Gateways. Weitere Informationen finden Sie unter Erstellen einer VPC mit einer öffentlichen Subnetz-Beispielrichtlinie im Amazon-VPC-Benutzerhandbuch und in der vollständigen Liste von Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2 in der Service-Authorization-Referenz.

Sie können eine VPC mit öffentlichen und privaten Subnetzen, nur öffentlichen Subnetzen oder nur privaten Subnetzen erstellen.

Public and private subnets

Diese VPC verfügt über zwei öffentliche und zwei private Subnetze. Eine Routing-Tabelle, die einem öffentlichen Subnetz zugeordnet ist, verfügt über eine Route zu einem Internet-Gateway. Die Routing-Tabelle eines privaten Subnetzes verfügt jedoch nicht über eine Route zu einem Internet-Gateway. Ein öffentliches und ein privates Subnetz werden in derselben Availability Zone bereitgestellt. Die anderen öffentlichen und privaten Subnetze werden in einer zweiten Availability Zone in derselben AWS-Region bereitgestellt. Diese Option wird für die meisten Bereitstellungen empfohlen.

Mit dieser Option können Sie Ihre Knoten in privaten Subnetzen bereitstellen. Mit dieser Option können Sie es Kubernetes ermöglichen, Load Balancer in den öffentlichen Subnetzen bereitzustellen, die das Load Balancing für den Datenverkehr auf pods, die auf Knoten in den privaten Subnetzen ausgeführt werden, durchführen können. Öffentliche IPv4-Adressen werden automatisch den Knoten zugewiesen, die in öffentlichen Subnetzen bereitgestellt werden, öffentliche IPv4-Adressen werden jedoch nicht Knoten zugewiesen, die in privaten Subnetzen bereitgestellt werden.

Sie können Knoten in öffentlichen und privaten Subnetzen auch IPv6-Adressen zuweisen. Die Knoten in privaten Subnetzen können mit dem Cluster und anderen AWS-Services-Services kommunizieren. Pods können über ein NAT-Gateway mit IPv4-Adressen oder ein Internet-Gateway für ausgehenden Traffic mit IPv6-Adressen, das in jeder Availability Zone bereitgestellt wird, mit dem Internet kommunizieren. Es wird eine Sicherheitsgruppe bereitgestellt, die über Regeln verfügt, die den gesamten eingehenden Datenverkehr von anderen Quellen als dem Cluster oder den Knoten ablehnen, jedoch den gesamten ausgehenden Datenverkehr zulassen. Die Subnetze sind getaggt, damit Kubernetes ihnen Load Balancer bereitstellen kann.

So erstellen Sie Ihre VPC

  1. Öffnen Sie die AWS CloudFormation-Konsole unter https://console.aws.amazon.com/cloudformation.

  2. Wählen Sie in der Navigationsleiste eine AWS-Region aus, die Amazon EKS unterstützt.

  3. Klicken Sie auf Create stack (Stack erstellen), With new resources (standard) (Mit neuen Ressourcen (Standard)).

  4. Stellen Sie unter Vorraussetzung – Vorbereiten der Vorlage sicher, dass Vorlage ist bereit ausgewählt ist und wählen Sie dann unter Vorlage angeben Amazon-S3-URL aus.

  5. Sie können eine VPC erstellen, die nur IPv4 unterstützt, oder eine VPC, die IPv4 und IPv6 unterstützt. Fügen Sie eine der folgenden URLs in den Textbereich unter Amazon-S3-URL ein und wählen Sie Next (Weiter) aus:

    • IPv4

      https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
    • IPv4 und IPv6

      https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-ipv6-vpc-public-private-subnets.yaml
  6. Ändern Sie auf der Seite Specify stack details (Stack-Details angeben) alle Parameter und wählen Sie dann Next (Weiter) aus.

    • Stack name (Stack-Name): Wählen Sie einen Stack-Namen für Ihren AWS CloudFormation-Stack aus. Sie können ihn beispielsweise eks-vpc nennen. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und darf nicht mehr als 128 Zeichen umfassen.

    • VpcBlock: Wählen Sie einen IPv4-CIDR-Bereich für Ihre VPC aus. Jedem von Ihnen bereitgestellten Knoten, Pod und jedem Load Balancer wird eine IPv4-Adresse aus diesem Block zugewiesen. Die IPv4-Standardwerte bieten für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern. Weitere Informationen finden Sie unter Dimensionierung der VPC und der Subnetze im Amazon VPC Benutzerhandbuch. Sie können der VPC nach der Erstellung auch zusätzliche CIDR-Blöcke hinzufügen. Wenn Sie eine IPv6-VPC erstellen, werden Ihnen IPv6-CIDR-Bereiche automatisch aus dem globalen Unicast-Adressbereich von Amazon zugewiesen.

    • PublicSubnet01Block: Geben Sie einen IPv4-CIDR-Block für das öffentliche Subnetz 1 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern. Wenn Sie eine IPv6-VPC erstellen, wird dieser Block in der Vorlage für Sie angegeben.

    • PublicSubnet02Block: Geben Sie einen IPv4-CIDR-Block für das öffentliche Subnetz 2 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern. Wenn Sie eine IPv6-VPC erstellen, wird dieser Block in der Vorlage für Sie angegeben.

    • PrivateSubnet01Block: Geben Sie einen IPv4-CIDR-Block für das private Subnetz 1 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern. Wenn Sie eine IPv6-VPC erstellen, wird dieser Block in der Vorlage für Sie angegeben.

    • PrivateSubnet02Block: Geben Sie einen IPv4-CIDR-Block für das private Subnetz 2 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern. Wenn Sie eine IPv6-VPC erstellen, wird dieser Block in der Vorlage für Sie angegeben.

  7. (Optional) Auf der Seite Configure stack options (Stack-Optionen konfigurieren) können Sie Ihre Stack-Ressourcen markieren und dann Next (Weiter) auswählen.

  8. Wählen Sie auf der Seite Prüfen Stack erstellen aus.

  9. Wenn Ihr Stack erstellt wurde, wählen Sie ihn in der Konsole aus und klicken Sie auf Outputs (Ausgänge).

  10. Notieren Sie die VpcId für die VPC, die erstellt wurde. Dies benötigen Sie, wenn Sie Ihren Cluster und Ihre Knoten erstellen.

  11. Notieren Sie die SubnetIds für die erstellten Subnetze und geben Sie an, ob Sie sie als öffentliche oder private Subnetze erstellt haben. Sie benötigen mindestens zwei davon, wenn Sie Ihren Cluster und Ihre Knoten erstellen.

  12. Wenn Sie eine IPv4-VPC erstellt haben, überspringen Sie diesen Schritt. Wenn Sie eine IPv6-VPC erstellt haben, müssen Sie die Option zum automatischen Zuweisen von IPv6-Adressen für die öffentlichen Subnetze aktivieren, die von der Vorlage erstellt wurden. Diese Einstellung ist für die privaten Subnetze bereits aktiviert. Führen Sie die folgenden Schritte aus, um die Einstellung zu aktivieren:

    1. Öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

    2. Wählen Sie im linken Navigationsbereich die Option Subnets (Subnetze) aus.

    3. Wählen Sie eines Ihrer öffentlichen Subnetze (stack-name/subnetPublic01 oder stack-name/subnetPublic02 aus, das das Wort public) enthält, und wählen Sie Aktionen, Subnetzeinstellungen bearbeiten aus.

    4. Aktivieren Sie das Kontrollkästchen Enable auto-assign IPv6 address (Automatische Zuweisung der IPv6-Adresse aktivieren) und wählen Sie dann Save (Speichern) aus.

    5. Wiederholen Sie die vorherigen Schritte für Ihr anderes öffentliches Subnetz.

Only public subnets

Diese VPC verfügt über drei öffentliche Subnetze, die in verschiedenen Availability Zones in einer AWS-Region bereitgestellt werden. Allen Knoten werden automatisch öffentliche IPv4-Adressen zugewiesen und alle Worker-Knoten können Internetdatenverkehr über ein Internet-Gateway senden und empfangen. Es wird eine Sicherheitsgruppe bereitgestellt, die den gesamten eingehenden Datenverkehr ablehnt und den gesamten ausgehenden Datenverkehr zulässt. Die Subnetze sind getaggt, damit Kubernetes ihnen Load Balancer bereitstellen kann.

So erstellen Sie Ihre VPC

  1. Öffnen Sie die AWS CloudFormation-Konsole unter https://console.aws.amazon.com/cloudformation.

  2. Wählen Sie in der Navigationsleiste eine AWS-Region aus, die Amazon EKS unterstützt.

  3. Klicken Sie auf Create stack (Stack erstellen), With new resources (standard) (Mit neuen Ressourcen (Standard)).

  4. Stellen Sie unter Vorbereiten der Vorlage sicher, dass Vorlage ist bereit ausgewählt ist und wählen Sie dann unterVorlagenquelle Amazon-S3-URLaus.

  5. Fügen Sie die folgende URL in den Textbereich unter Amazon-S3-URL ein und wählen Sie Weiter aus:

    https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-sample.yaml
  6. Füllen Sie auf der Seite Specify Details (Details angeben) die Parameter entsprechend aus und klicken Sie dann auf Next (Weiter).

    • Stack name (Stack-Name): Wählen Sie einen Stack-Namen für Ihren AWS CloudFormation-Stack aus. Sie können ihn beispielsweise eks-vpc nennen. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und darf nicht mehr als 128 Zeichen umfassen.

    • VpcBlock: Wählen Sie einen CIDR-Block für Ihre VPC aus. Jedem von Ihnen bereitgestellten Knoten, Pod und jedem Load Balancer wird eine IPv4-Adresse aus diesem Block zugewiesen. Die IPv4-Standardwerte bieten für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern. Weitere Informationen finden Sie unter Dimensionierung der VPC und der Subnetze im Amazon VPC Benutzerhandbuch. Sie können der VPC nach der Erstellung auch zusätzliche CIDR-Blöcke hinzufügen.

    • Subnet01Block: Geben Sie einen CIDR-Block für das Subnetz 1 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern.

    • Subnet02Block: Geben Sie einen CIDR-Block für das Subnetz 2 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern.

    • Subnet03Block: Geben Sie einen CIDR-Block für das Subnetz 3 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern.

  7. (Optional) Markieren Sie auf der Seite Options (Optionen) Ihre Stack-Ressourcen. Wählen Sie Next (Weiter).

  8. Klicken Sie auf der Seite Review auf Create.

  9. Wenn Ihr Stack erstellt wurde, wählen Sie ihn in der Konsole aus und klicken Sie auf Outputs (Ausgänge).

  10. Notieren Sie die VpcId für die VPC, die erstellt wurde. Dies benötigen Sie, wenn Sie Ihren Cluster und Ihre Knoten erstellen.

  11. Notieren Sie die SubnetIds für die Subnetze, die erstellt wurden. Sie benötigen mindestens zwei davon, wenn Sie Ihren Cluster und Ihre Knoten erstellen.

  12. (Optional) Jeder Cluster, den Sie für diese VPC bereitstellen, kann Ihren pods und services private IPv4-Adressen zuweisen. Wenn Sie Cluster in dieser VPC bereitstellen möchten, um Ihren pods und services private IPv6-Adressen zuzuweisen, müssen Sie Aktualisierungen an Ihrer VPC, Ihrem Subnetz, Routing-Tabellen und Sicherheitsgruppen vornehmen. Weitere Informationen finden Sie unter Migrieren vorhandener VPCs von IPv4 zu IPv6 im Amazon-VPC-Benutzerhandbuch. Amazon EKS verlangt, dass bei Ihren Subnetzen die Option zum Auto-assign von IPv6-Adressen aktiviert ist. Dies ist standardmäßig deaktiviert.

Only private subnets

Diese VPC verfügt über drei private Subnetze, die in verschiedenen Availability Zones in der AWS-Region bereitgestellt werden. Ressourcen, die in den Subnetzen bereitgestellt werden, können weder auf das Internet zugreifen, noch kann das Internet auf Ressourcen in den Subnetzen zugreifen. Die Vorlage erstellt VPC-Endpunkte mittels AWS PrivateLink für mehrere AWS-Services, auf die Knoten üblicherweise zugreifen müssen. Wenn Ihre Knoten einen ausgehenden Internetzugang benötigen, können Sie ein öffentliches NAT-Gatewayi n der Availability Zone jedes Subnetzes hinzufügen, nachdem die VPC erstellt wurde. Eine Sicherheitsgruppe wird erstellt, der den gesamten eingehenden Datenverkehr verweigert, mit Ausnahme von Ressourcen, die in den Subnetzen bereitgestellt werden. Eine Sicherheitsgruppe lässt auch den gesamten ausgehenden Datenverkehr zu. Die Subnetze sind getaggt, damit Kubernetes ihnen interne Load Balancer bereitstellen kann. Wenn Sie eine VPC mit dieser Konfiguration erstellen, siehe Anforderungen an private Cluster für weitere Informationen und Gesichtspunkte.

So erstellen Sie Ihre VPC

  1. Öffnen Sie die AWS CloudFormation-Konsole unter https://console.aws.amazon.com/cloudformation.

  2. Wählen Sie in der Navigationsleiste eine AWS-Region aus, die Amazon EKS unterstützt.

  3. Klicken Sie auf Create stack (Stack erstellen), With new resources (standard) (Mit neuen Ressourcen (Standard)).

  4. Stellen Sie unter Vorbereiten der Vorlage sicher, dass Vorlage ist bereit ausgewählt ist und wählen Sie dann unterVorlagenquelle Amazon-S3-URLaus.

  5. Fügen Sie die folgende URL in den Textbereich unter Amazon-S3-URL ein und wählen Sie Weiter aus:

    https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-fully-private-vpc.yaml
  6. Füllen Sie auf der Seite Specify Details (Details angeben) die Parameter entsprechend aus und klicken Sie dann auf Next (Weiter).

    • Stack name (Stack-Name): Wählen Sie einen Stack-Namen für Ihren AWS CloudFormation-Stack aus. Sie können ihn beispielsweise eks-vpc nennen. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und darf nicht mehr als 128 Zeichen umfassen.

    • VpcBlock: Wählen Sie einen CIDR-Block für Ihre VPC aus. Jedem von Ihnen bereitgestellten Knoten, Pod und jedem Load Balancer wird eine IPv4-Adresse aus diesem Block zugewiesen. Die IPv4-Standardwerte bieten für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern. Weitere Informationen finden Sie unter Dimensionierung der VPC und der Subnetze im Amazon VPC Benutzerhandbuch. Sie können der VPC nach der Erstellung auch zusätzliche CIDR-Blöcke hinzufügen.

    • PrivateSubnet01Block: Geben Sie einen CIDR-Block für das Subnetz 1 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern.

    • PrivateSubnet02Block: Geben Sie einen CIDR-Block für das Subnetz 2 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern.

    • PrivateSubnet03Block: Geben Sie einen CIDR-Block für das Subnetz 3 an. Der Standardwert bietet für die meisten Implementierungen genügend IP-Adressen, aber wenn dies nicht der Fall ist, können Sie ihn ändern.

  7. (Optional) Markieren Sie auf der Seite Options (Optionen) Ihre Stack-Ressourcen. Wählen Sie Next (Weiter).

  8. Klicken Sie auf der Seite Review auf Create.

  9. Wenn Ihr Stack erstellt wurde, wählen Sie ihn in der Konsole aus und klicken Sie auf Outputs (Ausgänge).

  10. Notieren Sie die VpcId für die VPC, die erstellt wurde. Dies benötigen Sie, wenn Sie Ihren Cluster und Ihre Knoten erstellen.

  11. Notieren Sie die SubnetIds für die Subnetze, die erstellt wurden. Sie benötigen mindestens zwei davon, wenn Sie Ihren Cluster und Ihre Knoten erstellen.

  12. (Optional) Jeder Cluster, den Sie für diese VPC bereitstellen, kann Ihren pods und services private IPv4-Adressen zuweisen. Wenn Sie Cluster in dieser VPC bereitstellen möchten, um Ihren pods und services private IPv6-Adressen zuzuweisen, müssen Sie Aktualisierungen an Ihrer VPC, Ihrem Subnetz, Routing-Tabellen und Sicherheitsgruppen vornehmen. Weitere Informationen finden Sie unter Migrieren vorhandener VPCs von IPv4 zu IPv6 im Amazon-VPC-Benutzerhandbuch. Amazon EKS verlangt, dass bei Ihren Subnetzen die Option zum Auto-assign von IPv6-Adressen aktiviert ist (sie ist standardmäßig deaktiviert).