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.
Greifen Sie privat auf Container-Anwendungen bei Amazon zu, ECS indem Sie AWS PrivateLink einen Network Load Balancer verwenden
Erstellt von Kirankumar Chandrashekar () AWS
Übersicht
Dieses Muster beschreibt, wie Sie eine Docker-Container-Anwendung privat auf Amazon Elastic Container Service (AmazonECS) hinter einem Network Load Balancer hosten und mithilfe von AWS PrivateLink Sie können dann ein privates Netzwerk verwenden, um sicher auf Dienste in der Amazon Web Services (AWS) Cloud zuzugreifen. Amazon Relational Database Service (AmazonRDS) hostet die relationale Datenbank für die auf Amazon ausgeführte Anwendung ECS mit hoher Verfügbarkeit (HA). Amazon Elastic File System (AmazonEFS) wird verwendet, wenn die Anwendung persistenten Speicher benötigt.
Der ECS Amazon-Service, auf dem die Docker-Anwendungen ausgeführt werden, mit einem Network Load Balancer am Frontend, kann mit einem Virtual Private Cloud (VPC) -Endpunkt für den Zugriff verknüpft werden. AWS PrivateLink Dieser VPC Endpunktdienst kann dann über deren VPC Endgeräte mit anderen VPCs geteilt werden.
Sie können AWSFargate auch anstelle einer Amazon EC2 Auto Scaling Scaling-Gruppe verwenden. Weitere Informationen finden Sie unter Privaten Zugriff auf Containeranwendungen bei Amazon mithilfe ECS von AWS Fargate und einem Network Load Balancer. AWS PrivateLink
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives Konto AWS
AWSCommand Line Interface (AWSCLI) Version 2, installiert und konfiguriert unter Linux, macOS oder Windows
Docker
, installiert und konfiguriert unter Linux, MacOS oder Windows Eine Anwendung, die auf Docker läuft
Architektur

Technologie-Stack
Amazon CloudWatch
Amazon Elastic Compute Cloud (AmazonEC2)
Amazon EC2 Auto Scaling
Amazon Elastic Container Registry (AmazonECR)
Amazon ECS
Amazon RDS
Amazon-Simple-Storage-Service (Amazon-S3)
AWS-Lambda
AWS PrivateLink
AWS Secrets Manager
Application Load Balancer
Network Load Balancer
VPC
Automatisierung und Skalierung
Sie können dieses Muster mithilfe von Infrastructure as Code erstellen. AWS CloudFormation
Tools
Amazon EC2 — Amazon Elastic Compute Cloud (AmazonEC2) bietet skalierbare Rechenkapazität in der AWS Cloud.
Amazon EC2 Auto Scaling — Amazon EC2 Auto Scaling hilft Ihnen sicherzustellen, dass Ihnen die richtige Anzahl von EC2 Amazon-Instances zur Verfügung steht, um die Last für Ihre Anwendung zu bewältigen.
Amazon ECS — Amazon Elastic Container Service (AmazonECS) ist ein hoch skalierbarer, schneller Container-Management-Service, der es einfach macht, Container in einem Cluster auszuführen, zu stoppen und zu verwalten.
Amazon ECR — Amazon Elastic Container Registry (AmazonECR) ist ein verwalteter AWS Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.
Amazon EFS — Amazon Elastic File System (AmazonEFS) bietet ein einfaches, skalierbares, vollständig verwaltetes elastisches NFS Dateisystem zur Verwendung mit AWS Cloud-Diensten und lokalen Ressourcen.
AWSLambda — Lambda ist ein Rechendienst zum Ausführen von Code ohne Bereitstellung oder Verwaltung von Servern.
Amazon RDS — Amazon Relational Database Service (AmazonRDS) ist ein Webservice, der die Einrichtung, den Betrieb und die Skalierung einer relationalen Datenbank in der AWS Cloud erleichtert.
Amazon S3 — Amazon Simple Storage Service (Amazon S3) ist ein Speicher für das Internet. Der Service ist darauf ausgelegt, Cloud Computing für Entwickler zu erleichtern.
AWSSecrets Manager — Secrets Manager hilft Ihnen dabei, hartcodierte Anmeldeinformationen in Ihrem Code, einschließlich Kennwörtern, zu ersetzen, indem Secrets Manager API aufgerufen wird, um das Geheimnis programmgesteuert abzurufen.
Amazon VPC — Amazon Virtual Private Cloud (AmazonVPC) hilft Ihnen dabei, AWS Ressourcen in einem von Ihnen definierten virtuellen Netzwerk bereitzustellen.
Elastic Load Balancing — Elastic Load Balancing verteilt eingehenden Anwendungs- oder Netzwerkverkehr auf mehrere Ziele, wie EC2 Amazon-Instances, Container und IP-Adressen, in mehreren Availability Zones.
Docker
— Docker hilft Entwicklern dabei, jede Anwendung als leichten, portablen und autarken Container zu packen, zu versenden und auszuführen.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen VPC. |
| Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen Network Load Balancer. |
| Cloud-Administrator |
Erstellen Sie einen Application Load Balancer. |
| Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie ein EFS Amazon-Dateisystem. |
| Cloud-Administrator |
Mounten Sie Ziele für die Subnetze. |
| Cloud-Administrator |
Stellen Sie sicher, dass die Subnetze als Ziele bereitgestellt sind. |
| Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen S3-Bucket. | Öffnen Sie die Amazon S3 S3-Konsole und erstellen Sie bei Bedarf einen S3-Bucket, um die statischen Ressourcen Ihrer Anwendung zu speichern. | Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen AWS KMS Schlüssel, um das Secrets Manager Manager-Geheimnis zu verschlüsseln. | Öffnen Sie die AWS Key Management Service (AWSKMS) -Konsole und erstellen Sie einen KMS Schlüssel. | Cloud-Administrator |
Erstellen Sie ein Secrets Manager Manager-Geheimnis, um das RDS Amazon-Passwort zu speichern. |
| Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine DB-Subnetzgruppe. |
| Cloud-Administrator |
Erstellen Sie eine RDS Amazon-Instance. | Erstellen und konfigurieren Sie eine RDS Amazon-Instance in den privaten Subnetzen. Stellen Sie sicher, dass Multi-AZ für HA aktiviert ist. | Cloud-Administrator |
Laden Sie Daten in die RDS Amazon-Instance. | Laden Sie die für Ihre Anwendung erforderlichen relationalen Daten in Ihre RDS Amazon-Instance. Dieser Vorgang hängt von den Anforderungen Ihrer Anwendung sowie davon ab, wie Ihr Datenbankschema definiert und gestaltet ist. | Cloud-Administrator, DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen eines ECS-Clusters. |
| Cloud-Administrator |
Erstellen Sie die Docker-Images. | Erstellen Sie die Docker-Images, indem Sie den Anweisungen im Abschnitt Verwandte Ressourcen folgen. | Cloud-Administrator |
Erstellen Sie ECR Amazon-Repositorys. |
| Cloud-Administrator, DevOps Ingenieur |
Authentifizieren Sie Ihren Docker-Client für das ECR Amazon-Repository. | Um Ihren Docker-Client für das ECR Amazon-Repository zu authentifizieren, führen Sie den | Cloud-Administrator |
Pushen Sie die Docker-Images in das ECR Amazon-Repository. |
| Cloud-Administrator |
Erstellen Sie eine ECS Amazon-Aufgabendefinition. | Für die Ausführung von Docker-Containern in Amazon ECS ist eine Aufgabendefinition erforderlich.
WichtigHilfe beim Einrichten Ihrer Aufgabendefinition finden Sie unter „Eine Aufgabendefinition erstellen“ im Abschnitt Verwandte Ressourcen. Stellen Sie sicher, dass Sie die Docker-Images bereitstellen, die Sie an Amazon ECR gesendet haben. | Cloud-Administrator |
Erstellen Sie einen ECS Amazon-Service. | Erstellen Sie einen ECS Amazon-Service, indem Sie den ECS Cluster verwenden, den Sie zuvor erstellt haben. Stellen Sie sicher, dass Sie Amazon EC2 als Starttyp und die im vorherigen Schritt erstellte Aufgabendefinition sowie die Zielgruppe des Application Load Balancer auswählen. | Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen einer Startkonfiguration | Öffnen Sie die EC2 Amazon-Konsole und erstellen Sie eine Startkonfiguration. Stellen Sie sicher, dass die Benutzerdaten den Code enthalten, der es den EC2 Instances ermöglicht, dem gewünschten ECS Cluster beizutreten. Ein Beispiel für den erforderlichen Code finden Sie im Abschnitt Verwandte Ressourcen. | Cloud-Administrator |
Erstellen Sie eine Amazon EC2 Auto Scaling Scaling-Gruppe. | Kehren Sie zur EC2 Amazon-Konsole zurück und wählen Sie unter Auto Scaling die Option Auto Scaling Scaling-Gruppen aus. Richten Sie eine Amazon EC2 Auto Scaling Scaling-Gruppe ein. Stellen Sie sicher, dass Sie die privaten Subnetze auswählen und die Konfiguration starten, die Sie zuvor erstellt haben. | Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Richten Sie den AWS PrivateLink Endpunkt ein. |
Weitere Informationen finden Sie im Abschnitt Verwandte Ressourcen. | Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen VPC-Endpunkt. | Erstellen Sie einen VPC Endpunkt für den AWS PrivateLink Endpunkt, den Sie zuvor erstellt haben. Der VPC Endpunkt Fully Qualified Domain Name (FQDN) zeigt auf den AWS PrivateLink EndpunktFQDN. Dadurch wird eine elastic network interface zum VPC Endpunktdienst geschaffen, auf die die DNS Endgeräte zugreifen können. | Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
So erstellen Sie die Lambda-Funktion: | Erstellen Sie auf der AWS Lambda-Konsole eine Lambda-Funktion, um die IP-Adressen des Application Load Balancer als Ziele für den Network Load Balancer zu aktualisieren. Weitere Informationen dazu finden Sie im Blogbeitrag Verwenden von AWS Lambda zur Aktivierung statischer IP-Adressen für Application Load Balancers | App-Developer |
Zugehörige Ressourcen
Erstellen Sie die Load Balancer:
Erstellen Sie ein EFS Amazon-Dateisystem:
Erstellen Sie einen S3-Bucket:
Erstellen Sie ein Secrets Manager Manager-Geheimnis:
Erstellen Sie eine RDS Amazon-Instanz:
Erstellen Sie die ECS Amazon-Komponenten:
Erstellen Sie eine Amazon EC2 Auto Scaling Scaling-Gruppe:
Richten Sie ein AWS PrivateLink:
Erstellen Sie einen VPC Endpunkt:
Erstellen Sie die Lambda-Funktion:
Andere Ressourcen: