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.
Bewährte Methoden für Amazon ECS Express Mode-Dienste
Erfahren Sie mehr über bewährte Methoden und Empfehlungen für die effektive Nutzung des Express Mode-Dienstes in Produktionsumgebungen.
Bewährte Methoden für die Gewährleistung der Sicherheit
Verwaltung von Secrets
-
Secrets Manager für Geheimnisse verwenden — Speichern Sie vertrauliche Daten im Secrets Manager (z. B. private Repository- oder Datenbankanmeldeinformationen).
Weitere Informationen zu den bewährten Methoden von Secrets Manager finden Sie unter Best Practices für Secrets Manager im Secrets Manager-Benutzerhandbuch.
-
Verschlüsselung im Ruhezustand aktivieren — Stellen Sie sicher, dass Geheimnisse verschlüsselt werden, wenn sie in AWS Diensten gespeichert werden.
Mithilfe eines Dienstes wie Secrets Manager können Sie entweder mit einem AWS verwalteten oder einem vom Kunden bereitgestellten Schlüssel verschlüsseln.
-
Implementieren Sie die geheime Rotation — Verwenden Sie die automatische Rotation für Datenbankkennwörter und API-Schlüssel.
Mithilfe eines Dienstes wie Secrets Manager können Sie die geheime Rotation für Dienste wie Amazon Aurora und Amazon RDS verwalten
Beispiel für die Verwendung von Geheimnissen im Expressmodus-Dienst:
aws ecs update-express-gateway-service \ --primary-container \ ‘{“environment”=[{“name”=“DB_PASSWORD”,”value”=“arn:aws:secretsmanager:us-west-2:123456789012:secret:prod/db/password”}, \ {“name”=“API_KEY”,”value”=“arn:aws:ssm:us-west-2:123456789012:parameter/prod/api-key”}]}’ \
Netzwerksicherheit
-
Verwenden Sie private Subnetze für vertrauliche Anwendungen — Stellen Sie Anwendungen, die keinen direkten Internetzugang benötigen, in privaten Subnetzen bereit.
Weitere Informationen zu empfohlenen Architekturen finden Sie unter Amazon ECS-Anwendung mit dem Internet verbinden.
-
Konfigurieren Sie Sicherheitsgruppen so, dass sie nur minimal zulässig sind — Beschränken Sie den eingehenden und ausgehenden Datenverkehr auf nur die erforderlichen Ports und Quellen.
Um den ausgehenden Verkehr der Express Mode Service Security Group einzuschränken, können Sie ihn direkt in der Amazon EC2 Security Groups Console bearbeiten, indem Sie die Regeln für ausgehenden Datenverkehr ändern, oder verwenden Sie die folgenden Befehle:
aws ec2 authorize-security-group-egress --group-id sg-xxxxxxxx \ --protocol tcp \ --port 443 \ --cidr 0.0.0.0/0 aws ec2 revoke-security-group-egress --group-id sg-xxxxxxxx \ --protocol tcp \ --port 443 \ --cidr 0.0.0.0/0 -
Amazon VPC Flow Logs aktivieren — Überwachen Sie den Netzwerkverkehr zur Sicherheitsanalyse und Fehlerbehebung.
Sie können dies in jedem Subnetz, das von Ihren Express-Modus-Anwendungen verwendet wird, in der VPC-Subnetzkonsole aktivieren oder verwenden
aws ec2 create-flow-logs --resource-ids subnet-xxx -
AWS WAF Für Webanwendungen verwenden — Schützt vor gängigen Web-Exploits und Angriffen.
Sie können dies aktivieren, indem Sie eine Web-ACL erstellen und sie dann dem Application Load Balancer zuordnen, der von Ihrem Express Mode-Dienst verwendet wird. Erstellen Sie in der Konsole eine Web-ACL im WAF & Shield Service und ordnen Sie sie Ihrem Application Load Balancer zu. Oder verwenden
aws wafv2 create-web-aclSie und.aws wafv2 associate-web-acl --resource-arn <alb>
Leistungs- und Rechenoptimierung
Dimensionierung der Ressourcen
-
Right-size CPU und Arbeitsspeicher — Überwachen Sie die Anwendungsleistung und passen Sie die CPU- und Speicherzuweisungen an die tatsächlichen Nutzungsmuster an.
AWS Compute Optimizer generiert Empfehlungen für Amazon ECS-Aufgaben- und Containergrößen. Weitere Informationen finden Sie unter Was ist AWS Compute Optimizer? im AWS Compute Optimizer -Benutzerhandbuch.
-
Leistungstest Ihrer Anwendung — Führen Sie Auslastungstests durch, um sicherzustellen, dass Ihre Anwendung skalierbar und mit den angegebenen Skalierungsschwellenwerten und Ressourcenzuweisungen funktioniert.
Konfiguration für automatische Skalierung
-
Stellen Sie geeignete Skalierungsschwellenwerte ein — Konfigurieren Sie CPU- oder Speicher-Schwellenwerte, die eine Skalierung auslösen, bevor die Leistung abnimmt.
Sie können den Zielwert der Service-Metrik in Ihrer Express-Modus-Servicekonsole ändern.
Erwägen Sie, eine prädiktive Skalierungsrichtlinie hinzuzufügen, insbesondere wenn Ihr Traffic einem zeitbasierten Muster folgt. Weitere Informationen finden Sie unter Predictive Auto Scaling.
-
Verwenden Sie mehrere Skalierungsmetriken — Erwägen Sie, sowohl CPU- als auch Arbeitsspeicher und anforderungsbasierte Skalierung zu verwenden, um eine reaktionsschnellere Skalierung zu erzielen.
Sie können einem Dienst mehrere Richtlinien hinzufügen. Im Expressmodus wird standardmäßig eine hinzugefügt, Sie können Ihrem Dienst jedoch direkt weitere Richtlinien hinzufügen.
-
Konfigurieren Sie Mindest- und Höchstgrenzen für Aufgaben — Legen Sie angemessene Grenzen fest, um die Kosten zu kontrollieren und die Verfügbarkeit sicherzustellen.
Für Produktions-Workloads empfehlen wir, nach Abschluss der ersten Tests die Ausführung in drei Verfügbarkeitszonen durchzuführen, um den bewährten Methoden zur Verfügbarkeit zu folgen. Sie können die Mindestanzahl von Aufgaben in der Express Mode Console aktualisieren oder indem Sie
update-express-gateway-service --scaling-target '{“minTaskCount”=3}'.
Health checks (Zustandsprüfungen)
-
Implementieren Sie aussagekräftige Integritätsprüfungen — Erstellen Sie Integritätsprüfungs-Endpunkte, die kritische Anwendungsabhängigkeiten überprüfen.
Sie können den Integritätsprüfungspfad in der Express Mode Console aktualisieren. Oder indem Sie
update-express-gateway-service --health-check-path "/health".Weitere Informationen zur Erstellung von Integritätsprüfungen für Ihre Anwendung finden Sie unter Implementieren von Integritätsprüfungen
-
Halten Sie Systemdiagnosen auf ein Minimum — Vermeiden Sie teure Operationen an Endpunkten für Integritätsprüfungen.
Beispiele hierfür könnten externe API-Aufrufe, CPU- oder speicherintensive Operationen oder lang andauernde Operationen sein, bei denen es zu einem Timeout kommen kann.
-
Verwenden Sie geeignete Timeouts — Konfigurieren Sie Timeouts für Integritätsprüfungen, die normale Reaktionszeiten ermöglichen und gleichzeitig Fehler schnell erkennen.
Timeouts bei der Systemdiagnose für den Expressmodus sind für die Application Load Balancer-Zielgruppe konfigurierbar. Navigieren Sie in der Amazon EC2-Konsole zum Abschnitt Zielgruppen und wählen Sie Ihre Express Mode-Zielgruppe aus. Wählen Sie die Registerkarte Health Checks und klicken Sie auf Bearbeiten. Unter Erweiterte Einstellungen für Integritätsprüfungen können Sie das Timeout anpassen. Oder verwenden
aws elbv2 modify-target-group --target-group-arn <targetgroup> --health-check-timeoutSie. -
Geben Sie die richtigen HTTP-Statuscodes zurück — Verwenden Sie 200 für gesunde und 4xx/5xx für ungesunde Zustände.
Bewährte Verfahren für den Betrieb
Überwachung und Protokollierung
-
Enhanced Container Insights aktivieren — Verwenden CloudWatch Sie Enhanced Container Insights für eine umfassende Überwachung Ihrer Express Mode-Dienstanwendungen.
Weitere Informationen finden Sie unter Container Insights auf Amazon ECS einrichten.
-
Benutzerdefinierte Metriken einrichten — Veröffentlichen Sie anwendungsspezifische Metriken unter CloudWatch; für die Überwachung der Geschäftslogik.
Weitere Informationen finden Sie im CloudWatch Benutzerhandbuch unter Veröffentlichen benutzerdefinierter Metriken.
-
Konfiguration der Protokollaufbewahrung — Legen Sie angemessene Aufbewahrungsfristen fest, um Kosten und Compliance-Anforderungen in Einklang zu bringen.
CloudWatch Im Expressmodus erstellte Protokollgruppen sind so konfiguriert, dass sie niemals ablaufen und beibehalten werden, wenn der Expressmodus-Dienst gelöscht wird. Sie können diese Einstellung in der CloudWatch Protokollgruppe anpassen.
-
Dashboards und Benachrichtigungen erstellen — CloudWatch Richten Sie Dashboards und Alarme für eine proaktive Überwachung ein.
Bereitstellungsstrategien
-
Bereitstellungszeiten einrichten — Der Expressmodus implementiert eine kanarische Backzeit, um sicherzustellen, dass Bereitstellungen Zeit haben, sich zu stabilisieren, und gleichzeitig der Explosionsradius problematischer Bereitstellungen reduziert wird. Wenn Ihre Anwendung mehr Zeit zur Stabilisierung benötigt, können Sie dies in der Amazon ECS-Servicedefinition Ihres Express-Modus-Dienstes konfigurieren. Weitere Informationen finden Sie unter Erstellen einer Amazon ECS Canary-Bereitstellung.
-
Implementieren Sie Rollback-Verfahren — Planen Sie, bei Problemen schnell zu früheren Versionen zurückzukehren.
Sowohl aussagekräftige Zustandsprüfungen als auch alarmbasierte Rollbacks können beim Rollback helfen. Die durchgängige Bereitstellungsstrategie von Express Mode in Kombination mit alarmbasierten Rollbacks bei 4xx- und 5xx-Verkehr sorgt dafür, dass Ihre Bereitstellungen im Falle eines fehlerhaften Anwendungscodes oder einer fehlerhaften Konfiguration schnelle Rollbacks durchführen können.
Wann sollte eine benutzerdefinierte Aufgabendefinition verwendet werden
Erwägen Sie, Ihre eigene benutzerdefinierte Aufgabendefinition nur dann bereitzustellen, wenn:
-
Ihr Team verfügt über standardisierte Aufgabendefinitionen mit Sicherheitsagenten, Logging-Sidecars oder Compliance-Konfigurationen, die in allen Diensten vorhanden sein müssen.
-
Sie benötigen Einstellungen auf Aufgabenebene, die nicht direkt im Expressmodus konfiguriert werden können, wie z. B. Container-Integritätsprüfungen, benutzerdefinierte Log-Treiber (z. B. FireLens), Linux-Parameter (
initProcessEnabled,tmpfsMounts) oder zusätzliche Sidecar-Container. -
Sie verwenden Infrastruktur als Code und möchten Ihre Aufgabendefinition in Ihren Vorlagen definieren und an Ihren Expressmodus-Dienst übergeben.