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.
Erstellen eines Classic Load Balancers mit einem HTTPS-Listener
Ein Load Balancer nimmt Anfragen von Clients entgegen und verteilt sie auf die EC2 Instances, die beim Load Balancer registriert sind.
Sie können einen Load Balancer erstellen, der die Ports HTTP (80) und HTTPS (443) überwacht. Wenn Sie angeben, dass der HTTPS-Listener Anforderungen an die Instances auf Port 80 sendet, beendet der Load Balancer die Anforderungen und die Kommunikation über den Load Balancer an die Instances ist nicht verschlüsselt. Wenn der HTTPS-Listener Anforderungen an die Instances auf Port 443 sendet, ist die Kommunikation über den Load Balancer an die Instances verschlüsselt.
Wenn Ihr Load Balancer eine verschlüsselte Verbindung verwendet, um mit den Instances zu kommunizieren, können Sie optional die Authentifizierung der Instances aktivieren. Auf diese Weise wird sichergestellt, dass der Load Balancer mit einer Instance nur dann kommuniziert, wenn der öffentliche Schlüssel mit dem angegebenen Schlüssel, den Sie zu diesem Zweck auf dem Load Balancer angegeben haben, übereinstimmt.
Weitere Informationen über das Hinzufügen von HTTPS-Listenern zu einem vorhandenen Load Balancer finden Sie unter Konfigurieren eines HTTPS-Listeners für Ihren Classic Load Balancer.
Inhalt
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
-
Führen Sie die Schritte unter Empfehlungen für Ihre VPC aus.
-
Starten Sie die EC2 Instances, die Sie bei Ihrem Load Balancer registrieren möchten. Die Sicherheitsgruppen für diese Instances müssen den Datenverkehr aus dem Load Balancer zulassen.
-
Die EC2 Instances müssen auf das Ziel der Zustandsprüfung mit dem HTTP-Statuscode 200 antworten. Weitere Informationen finden Sie unter Zustandsprüfungen für die Instances für Ihren Classic Load Balancer.
-
Wenn Sie die Keep-Alive-Option auf Ihren EC2 Instances aktivieren möchten, empfehlen wir Ihnen, die Keep-Alive-Einstellungen auf mindestens die Leerlauf-Timeout-Einstellungen Ihres Load Balancers festzulegen. Wenn Sie sicherstellen möchten, dass der Load Balancer für das Schließen von Verbindungen mit Ihrer Instance zuständig ist, stellen Sie die Keepalive-Zeit auf der Instance höher als das Load Balancer-Leerlaufzeitlimit ein. Weitere Informationen finden Sie unter Konfigurieren des Leerlaufverbindungszeitlimits für Ihren Classic Load Balancer.
-
Wenn Sie einen sicheren Listener erstellen, müssen Sie ein SSL-Zertifikat auf dem Load Balancer Server bereitstellen. Der Load Balancer verwendet das Zertifikat zum Beenden und entschlüsselt dann Anforderungen vor der Übermittlung an die Instances. Wenn Sie nicht über ein SSL-Zertifikat verfügen, können Sie eins erstellen. Weitere Informationen finden Sie unter SSL/TLS-Zertifikate für Classic Load Balancer.
Erstellen Sie mithilfe der Konsole einen HTTPS-Load Balancer
In diesem Beispiel konfigurieren Sie zwei Listener für Ihren Load Balancer. Der erste Listener akzeptiert HTTP-Anforderungen auf Port 80 und sendet diese über HTTP auf Port 80 an die Instances. Der zweite Listener akzeptiert HTTPS-Anforderungen auf Port 443 und sendet diese mittels HTTP auf Port 80 (oder unter Verwendung von HTTPS auf Port 443, wenn Sie Backend-Instance-Authentifizierung konfigurieren möchten) an die Instances.
Ein Listener ist ein Prozess, der Verbindungsanfragen überprüft. Er wird mit einem Protokoll und einem Port für Frontend-Verbindungen (Client zu Load Balancer) sowie einem Protokoll und einem Port für Backend-Verbindungen (Load Balancer zu Instance) konfiguriert. Informationen zu den von ELB unterstützten Ports, Protokollen und Listener-Konfigurationen finden Sie unter. Listener für Ihren Classic Load Balancer
So erstellen Sie Ihren sicheren Classic Load Balancer mithilfe der Konsole
Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/
. -
Wählen Sie in der Navigationsleiste eine Region für Ihren Load Balancer aus. Achten Sie darauf, dieselbe Region auszuwählen, die Sie für Ihre EC2 Instances ausgewählt haben.
-
Wählen Sie im Navigationsbereich unter LOAD BALANCING die Option Load Balancers aus.
-
Wählen Sie Load Balancer erstellen aus.
-
Erweitern Sie den Abschnitt Classic Load Balancer und wählen Sie dann Create (Erstellen) aus.
-
Basiskonfiguration
-
Geben Sie im Feld Load balancer name (Name des Load Balancers) einen Namen für Ihren Load Balancer ein.
Der Name des Classic Load Balancers muss innerhalb Ihrer Gruppe mit Classic Load Balancern für die Region eindeutig sein, darf maximal 32 Zeichen lang sein, darf nur alphanumerische Zeichen sowie Bindestriche enthalten und darf nicht mit einem Bindestrich beginnen oder enden.
-
Wählen Sie für Scheme (Schema) die Option Internet-facing (Internet verbunden) aus.
-
-
Netzwerkzuordnung
-
Wählen Sie im Feld VPC die VPC aus, die Sie für Ihre Instances verwendet haben.
-
Wählen Sie für Mappings (Zuordnungen) zunächst eine Availability Zone und dann ein öffentliches Subnetz aus den verfügbaren Subnetzen aus. Sie können nur ein Subnetz pro Availability Zone auswählen. Zur Verbesserung der Verfügbarkeit Ihrer Load Balancer wählen Sie mehr als eine Availability Zone und ein Subnetz aus.
-
-
Sicherheitsgruppen
-
Wählen Sie für Security groups (Sicherheitsgruppen) eine vorhandene Sicherheitsgruppe aus, die so konfiguriert ist, dass sie den erforderlichen HTTP-Verkehr auf Port 80 und HTTPS-Verkehr auf Port 443 zulässt.
Wenn keine vorhanden ist, können Sie eine neue Sicherheitsgruppe mit den erforderlichen Regeln erstellen.
-
-
Listener und Routing
-
Behalten Sie die Standardeinstellungen für den Standard-Listener bei und wählen Sie Add listener (Listener hinzufügen) aus.
-
Wählen Sie für Listener auf dem neuen Listener
HTTPSals Protokoll aus, und der Port wird auf443aktualisiert. Standardmäßig verwendet Instance dasHTTP-Protokoll auf dem Port80. -
Wenn eine Backend-Authentifizierung erforderlich ist, ändern Sie das Instance-Protokoll auf
HTTPS. Auf diese Weise wird auch der Instance-Port auf443aktualisiert
-
-
Secure listener settings (Sichere Listener-Einstellungen)
Wenn Sie HTTPS oder SSL für Ihre Frontend-Listener verwenden, müssen Sie ein SSL-Zertifikat auf dem Load Balancer bereitstellen. Der Load Balancer verwendet das Zertifikat, um die Verbindung zu beenden und dann Anfragen von Clients zu entschlüsseln, bevor er sie an die Instances sendet. Sie müssen auch eine Sicherheitsrichtlinie angeben. Elastic Load Balancing bietet Sicherheitsrichtlinien mit vordefinierten SSL-Aushandlungskonfigurationen, oder Sie können Ihre eigenen benutzerdefinierten Sicherheitsrichtlinien erstellen. Wenn Sie die Back-End-Verbindung konfiguriert HTTPS/SSL haben, können Sie die Authentifizierung Ihrer Instances aktivieren.
-
Für Sicherheitsrichtlinien empfehlen wir, immer die neueste vordefinierte Sicherheitsrichtlinie zu verwenden oder eine benutzerdefinierte Richtlinie zu erstellen. Siehe Aktualisieren der SSL-Aushandlungskonfiguration.
-
Für das SSL/TLS Standardzertifikat sind die folgenden Optionen verfügbar:
-
Wenn Sie ein Zertifikat mit erstellt oder importiert haben AWS Certificate Manager, wählen Sie Aus ACM und dann das Zertifikat unter Zertifikat auswählen aus.
-
Wenn Sie ein Zertifikat mit IAM importiert haben, wählen Sie Von ACM aus und wählen Sie dann das Zertifikat unter Zertifikat auswählen aus.
-
Wenn Sie ein Zertifikat importieren, aber ACM in Ihrer Region nicht verfügbar ist, wählen Sie Importieren und dann An IAM aus. Geben Sie im Feld Zertifikatname den Namen des Zertifikats ein. Kopieren Sie den Inhalt der privaten Schlüsseldatei (PEM-kodiert) und fügen Sie ihn in das Feld Privater Zertifikatsschlüssel ein. Kopieren Sie den Inhalt der öffentlichen Schlüsselzertifikatdatei (PEM-kodiert) und fügen Sie ihn in das Feld Zertifikatstext ein. Kopieren Sie den Inhalt der Zertifikatskettendatei (PEM-kodiert) und fügen Sie ihn in das Feld Certificate Chain (Zertifikats-Kette) ein, es sei denn, Sie verwenden ein selbst signiertes Zertifikat und es ist nicht wichtig, dass Browser das Zertifikat implizit akzeptieren.
-
-
(Optional) Wenn Sie den HTTPS-Listener für die Kommunikation mit den Instances über eine verschlüsselte Verbindung eingerichtet haben, können Sie optional die Authentifizierung der Instances unter Backend authentication certificate (Backend-Authentifizierungszertifikat) einrichten.
Anmerkung
Wenn Sie den Abschnitt Backend authentication certificate (Backend-Authentifizierungszertifikat) nicht sehen, kehren Sie zu Listeners and routing (Listeners und Routing) zurück und wählen Sie
HTTPSals Protokoll für Instance aus.-
Geben Sie für Certificate name den Namen des öffentlichen Schlüsselzertifikats ein.
-
Kopieren Sie für Certificate Body (PEM encoded) (Zertifizierungsstelle (PEM-codiert)) den Inhalt des Zertifikats und fügen Sie ihn ein. Der Load Balancer kommuniziert mit einer Instanz nur dann, wenn der öffentliche Schlüssel diesem Schlüssel entspricht.
-
Um ein weiteres Zertifikat hinzuzufügen, wählen Sie Add new backend certificate (Neues Backend-Zertifikat hinzufügen). Das Limit liegt bei fünf.
-
-
-
Health checks (Zustandsprüfungen)
-
Wählen Sie im Abschnitt Ping target (Ping-Ziel) ein Ping Protocol (Ping-Protokoll) und einen Ping Port (Ping-Port) aus. Ihre EC2 Instances müssen Datenverkehr über den angegebenen Ping-Port akzeptieren.
-
Stellen Sie für Ping Port sicher, dass der Port
80ist. -
Ersetzen Sie den Standardwert für Ping Path (Ping-Pfad) durch einen Schrägstrich (
/). Dadurch wird ELB angewiesen, Anfragen zur Integritätsprüfung an die Standardstartseite Ihres Webservers zu senden, z.index.htmlB. -
Verwenden Sie für die Advanced health check settings (Einstellungen für erweiterte Zustandsprüfungen) die Standardwerte.
-
-
Instances
-
Wählen Sie Add instances (Instances hinzufügen) aus, um den Bildschirm zur Instance-Auswahl aufzurufen.
-
Unter Available instances (Verfügbare Instances) können Sie basierend auf den zuvor gewählten Netzwerkeinstellungen aus den aktuellen Instances auswählen, die für den Load Balancer verfügbar sind.
-
Wenn Sie mit Ihrer Auswahl zufrieden sind, wählen Sie Confirm (Bestätigen) aus, um die zu registrierenden Instances zum Load Balancer hinzuzufügen.
-
-
Attribute
-
Behalten Sie für Enable cross-zone load balancing (Zonenübergreifendes Load Balancing aktivieren), Enable connection draining (Connection Draining aktivieren) und Timeout (draining interval) (Timeout (Draining-Intervall)) die Standardwerte bei.
-
-
Load balancer tags (optional) (Load-Balancer-Tags (optional))
-
Das Feld Key (Schlüssel) ist ein Pflichtfeld.
-
Das Feld Value (Wert) ist optional.
-
Um ein weiteres Tag hinzuzufügen, wählen Sie Add new tag (Neues Tag hinzufügen) aus und geben Sie dann Ihre Werte in das Feld Key (Schlüssel) und optional in das Feld Value (Wert) ein.
-
Um ein vorhandenes Tag zu entfernen, wählen Sie neben dem zu entfernenden Tag die Option Remove (Entfernen).
-
-
Summary and creation (Zusammenfassung und Erstellung)
-
Wenn Sie Einstellungen ändern müssen, wählen Sie neben der Einstellung, die geändert werden muss, Edit (Bearbeiten) aus.
-
Wenn Sie mit allen in der Zusammenfassung angezeigten Einstellungen zufrieden sind, wählen Sie Create load balancer (Load Balancer erstellen) aus, um mit der Erstellung Ihres Load Balancers zu beginnen.
-
Wählen Sie auf der letzten Erstellungsseite Load Balancer anzeigen aus, um Ihren Load Balancer in der EC2 Amazon-Konsole anzuzeigen.
-
-
Verify
-
Wählen Sie den neuen Load Balancer aus.
-
Überprüfen Sie auf der Registerkarte Target instances (Ziel-Instances) die Spalte Health status (Zustandsstatus). Sobald mindestens eine Ihrer EC2 Instances in Betrieb ist, können Sie Ihren Load Balancer testen.
-
Kopieren Sie im Abschnitt Details den DNS name (DNS-Namen) des Load Balancers, der etwa wie
my-load-balancer-1234567890---us-east-1---elb.amazonaws.com.rproxy.govskope.caaussehen würde. -
Fügen Sie den DNS name (DNS-Namen) Ihres Load Balancers in das Adressfeld eines öffentlichen Webbrowsers mit Internetanschluss ein. Wenn Ihr Load Balancer korrekt funktioniert, sehen Sie die Standardseite Ihres Servers.
-
-
Delete (optional) (Löschen (optional))
-
Wenn Sie einen CNAME-Eintrag für Ihre Domain haben, der auf Ihren Load Balancer verweist, verweisen Sie ihn an den neuen Standort und warten Sie, bis die DNS-Änderungen wirksam werden, bevor Sie den Load Balancer löschen.
Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/
. -
Wählen Sie den Load Balancer aus.
-
Wählen Sie den Load Balancer aus und klicken Sie auf Actions (Aktionen) und dann auf Delete load balancer (Load Balancer löschen).
-
Wenn Sie zur Bestätigung aufgefordert werden, geben Sie
confirmein und wählen Sie dann Delete (Löschen) aus. -
Nachdem Sie einen Load Balancer gelöscht haben, werden die EC2 Instances, die beim Load Balancer registriert wurden, weiter ausgeführt. Ihnen wird jede teilweise oder ganze Stunde in Rechnung gestellt, in der sie weiterlaufen. Wenn Sie eine EC2 Instance nicht mehr benötigen, können Sie sie beenden oder beenden, um zusätzliche Kosten zu vermeiden.
-
Erstellen Sie einen HTTPS-Load Balancer mit dem AWS CLI
Verwenden Sie die folgenden Anweisungen, um einen HTTPS/SSL Load Balancer mit dem zu erstellen. AWS CLI
Schritt 1: Konfigurieren von Listenern
Ein Listener ist ein Prozess, der Verbindungsanfragen überprüft. Er wird mit einem Protokoll und einem Port für Frontend-Verbindungen (Client zu Load Balancer) sowie einem Protokoll und einem Port für Backend-Verbindungen (Load Balancer zu Instance) konfiguriert. Informationen zu den von ELB unterstützten Ports, Protokollen und Listener-Konfigurationen finden Sie unter. Listener für Ihren Classic Load Balancer
In diesem Beispiel konfigurieren Sie zwei Listener für Ihren Load Balancer, indem Sie die Ports und Protokolle für die Frontend- und Backend-Verbindungen angeben. Der erste Listener akzeptiert HTTP-Anforderungen auf Port 80 und sendet die Anforderungen über HTTP auf Port 80 an die Instances. Der zweite Listener akzeptiert HTTPS-Anforderungen auf Port 443 und sendet Anforderungen über HTTP auf Port 80 an Instances.
Da der zweite Listener HTTPS für die Frontend-Verbindung verwendet, müssen ein SSL-Serverzertifikat auf dem Load Balancer bereitstellen. Der Load Balancer verwendet das Zertifikat zum Beenden und entschlüsselt dann Anforderungen vor der Übermittlung an die Instances.
So konfigurieren Sie Listener für Ihren Load Balancer
-
Rufen Sie den Amazon-Ressourcennamen (ARN) des SSL-Zertifikats ab. Beispiel:
ACM
arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012IAM
arn:aws:iam::123456789012:server-certificate/my-server-certificate -
Verwenden Sie den folgenden create-load-balancerBefehl, um den Load Balancer mit den beiden Listenern zu konfigurieren:
aws elb create-load-balancer --load-balancer-namemy-load-balancer--listeners "Protocol=http,LoadBalancerPort=80,InstanceProtocol=http,InstancePort=80" "Protocol=https,LoadBalancerPort=443,InstanceProtocol=http,InstancePort=80,SSLCertificateId="ARN" --availability-zonesus-west-2aNachfolgend finden Sie eine Beispielantwort:
{ "DNSName": "my-loadbalancer-012345678.us-west-2.elb.amazonaws.com" } -
(Optional) Verwenden Sie den folgenden describe-load-balancersBefehl, um die Details Ihres Load Balancers anzuzeigen:
aws elb describe-load-balancers --load-balancer-namemy-load-balancer
Schritt 2: Konfigurieren der SSL-Sicherheitsrichtlinie
Sie können eine der vordefinierten Sicherheitsrichtlinien auswählen oder Ihre eigene benutzerdefinierte Sicherheitsrichtlinie erstellen. Andernfalls konfiguriert ELB Ihren Load Balancer mit der vordefinierten Standardsicherheitsrichtlinie. ELBSecurityPolicy-2016-08 Weitere Informationen finden Sie unter SSL-Aushandlungskonfigurationen für Classic Load Balancer.
So stellen Sie sicher, dass der Load Balancer der Standardsicherheitsrichtlinie zugeordnet ist
Verwenden Sie den folgenden describe-load-balancers-Befehl:
aws elb describe-load-balancers --load-balancer-namemy-loadbalancer
Nachfolgend finden Sie eine Beispielantwort. Beachten Sie, dass ELBSecurityPolicy-2016-08 dem Load Balancer auf Port 443 zugeordnet ist.
{
"LoadBalancerDescriptions": [
{
...
"ListenerDescriptions": [
{
"Listener": {
"InstancePort": 80,
"SSLCertificateId": "ARN",
"LoadBalancerPort": 443,
"Protocol": "HTTPS",
"InstanceProtocol": "HTTP"
},
"PolicyNames": [
"ELBSecurityPolicy-2016-08"
]
},
{
"Listener": {
"InstancePort": 80,
"LoadBalancerPort": 80,
"Protocol": "HTTP",
"InstanceProtocol": "HTTP"
},
"PolicyNames": []
}
],
...
}
]
}
Wenn Sie möchten, können Sie die SSL-Sicherheitsrichtlinie für Ihren Load Balancer anstelle der Standardsicherheitsrichtlinie verwenden.
(Optional) Verwendung einer vordefinierten SSL-Sicherheitsrichtlinie
-
Verwenden Sie den folgenden describe-load-balancer-policiesBefehl, um die Namen der vordefinierten Sicherheitsrichtlinien aufzulisten:
aws elb describe-load-balancer-policiesInformationen über die Konfiguration mit vordefinierten Sicherheitsrichtlinien finden Sie unter Vordefinierte SSL-Sicherheitsrichtlinien für Classic Load Balancer.
-
Verwenden Sie den folgenden create-load-balancer-policyBefehl, um eine SSL-Verhandlungsrichtlinie mithilfe einer der vordefinierten Sicherheitsrichtlinien zu erstellen, die Sie im vorherigen Schritt beschrieben haben:
aws elb create-load-balancer-policy --load-balancer-namemy-loadbalancer--policy-namemy-SSLNegotiation-policy--policy-type-name SSLNegotiationPolicyType --policy-attributes AttributeName=Reference-Security-Policy,AttributeValue=predefined-policy -
(Optional) Verwenden Sie den folgenden describe-load-balancer-policiesBefehl, um zu überprüfen, ob die Richtlinie erstellt wurde:
aws elb describe-load-balancer-policies --load-balancer-namemy-loadbalancer--policy-namemy-SSLNegotiation-policyDie Antwort enthält die Beschreibung der Richtlinie.
-
Verwenden Sie den folgenden Befehl set-load-balancer-policies-of-listener, um die Richtlinie auf dem Load Balancer-Port 443 zu aktivieren:
aws elb set-load-balancer-policies-of-listener --load-balancer-namemy-loadbalancer--load-balancer-port 443 --policy-namesmy-SSLNegotiation-policyAnmerkung
Der Befehl
set-load-balancer-policies-of-listenerersetzt die aktuellen Richtlinien für den angegebenen Load Balancer-Port durch die angegebenen Richtlinien. Die Liste--policy-namesmuss alle zu aktivierenden Richtlinien enthalten. Wenn Sie eine Richtlinie auslassen, die derzeit aktiviert ist, wird sie deaktiviert. -
(Optional) Verwenden Sie den folgenden describe-load-balancersBefehl, um zu überprüfen, ob die Richtlinie aktiviert ist:
aws elb describe-load-balancers --load-balancer-namemy-loadbalancerEs folgt ein Beispiel für eine Antwort, die zeigt, dass die Richtlinie auf Port 443 aktiviert ist.
{ "LoadBalancerDescriptions": [ { .... "ListenerDescriptions": [ { "Listener": { "InstancePort": 80, "SSLCertificateId": "ARN", "LoadBalancerPort": 443, "Protocol": "HTTPS", "InstanceProtocol": "HTTP" }, "PolicyNames": [ "my-SSLNegotiation-policy" ] }, { "Listener": { "InstancePort": 80, "LoadBalancerPort": 80, "Protocol": "HTTP", "InstanceProtocol": "HTTP" }, "PolicyNames": [] } ], ... } ] }
Wenn Sie eine benutzerdefinierte Sicherheitsrichtlinie erstellen, müssen Sie mindestens ein Protokoll und eine Verschlüsselung aktivieren. Die DSA- und RSA-Verschlüsselungen gelten speziell für den Signaturalgorithmus zum Erstellen von SSL-Zertifikaten. Wenn Sie bereits über ein SSL-Zertifikat verfügen, müssen Sie die Verschlüsselung aktivieren, mit der das Zertifikat erstellt wurde. Der Name der benutzerdefinierten Richtlinie darf nicht mit ELBSecurityPolicy- oder ELBSample- beginnen, da diese Präfixe für die Namen der vordefinierten Sicherheitsrichtlinien definiert sind.
(Optional) Verwendung einer benutzerdefinierten SSL-Sicherheitsrichtlinie
-
Verwenden Sie den create-load-balancer-policyBefehl, um eine SSL-Verhandlungsrichtlinie mithilfe einer benutzerdefinierten Sicherheitsrichtlinie zu erstellen. Beispiel:
aws elb create-load-balancer-policy --load-balancer-namemy-loadbalancer--policy-namemy-SSLNegotiation-policy--policy-type-name SSLNegotiationPolicyType --policy-attributes AttributeName=Protocol-TLSv1.2,AttributeValue=true AttributeName=Protocol-TLSv1.1,AttributeValue=true AttributeName=DHE-RSA-AES256-SHA256,AttributeValue=true AttributeName=Server-Defined-Cipher-Order,AttributeValue=true -
(Optional) Verwenden Sie den folgenden describe-load-balancer-policiesBefehl, um zu überprüfen, ob die Richtlinie erstellt wurde:
aws elb describe-load-balancer-policies --load-balancer-namemy-loadbalancer--policy-namemy-SSLNegotiation-policyDie Antwort enthält die Beschreibung der Richtlinie.
-
Verwenden Sie den folgenden Befehl set-load-balancer-policies-of-listener, um die Richtlinie auf dem Load Balancer-Port 443 zu aktivieren:
aws elb set-load-balancer-policies-of-listener --load-balancer-namemy-loadbalancer--load-balancer-port 443 --policy-namesmy-SSLNegotiation-policyAnmerkung
Der Befehl
set-load-balancer-policies-of-listenerersetzt die aktuellen Richtlinien für den angegebenen Load Balancer-Port durch die angegebenen Richtlinien. Die Liste--policy-namesmuss alle zu aktivierenden Richtlinien enthalten. Wenn Sie eine Richtlinie auslassen, die derzeit aktiviert ist, wird sie deaktiviert. -
(Optional) Verwenden Sie den folgenden describe-load-balancersBefehl, um zu überprüfen, ob die Richtlinie aktiviert ist:
aws elb describe-load-balancers --load-balancer-namemy-loadbalancerEs folgt ein Beispiel für eine Antwort, die zeigt, dass die Richtlinie auf Port 443 aktiviert ist.
{ "LoadBalancerDescriptions": [ { .... "ListenerDescriptions": [ { "Listener": { "InstancePort": 80, "SSLCertificateId": "ARN", "LoadBalancerPort": 443, "Protocol": "HTTPS", "InstanceProtocol": "HTTP" }, "PolicyNames": [ "my-SSLNegotiation-policy" ] }, { "Listener": { "InstancePort": 80, "LoadBalancerPort": 80, "Protocol": "HTTP", "InstanceProtocol": "HTTP" }, "PolicyNames": [] } ], ... } ] }
Schritt 3: Konfigurieren der Backend-Instance-Authentifizierung (optional)
Wenn Sie die Back-End-Verbindung einrichten HTTPS/SSL , können Sie optional die Authentifizierung Ihrer Instances einrichten.
Wenn Sie Backend-Instance-Authentifizierung eingerichtet haben, erstellen Sie eine Richtlinie mit öffentlichem Schlüssel. Anschließend verwenden Sie diese Richtlinie mit öffentlichem Schlüssel zum Erstellen einer Backend-Instance-Authentifizierungsrichtlinie. Abschließend legen Sie den Instance-Port für das HTTPS-Protokoll der Backend-Instance-Authentifizierungsrichtlinie fest.
Der Load Balancer kommuniziert mit einer Instance nur dann, wenn der öffentliche Schlüssel, den die Instance dem Load Balancer bietet, einem öffentlichen Schlüssel in der Authentifizierungsrichtlinie für Ihren Load Balancer entspricht.
So konfigurieren Sie Backend-Instance-Authentifizierung
-
Verwenden Sie den folgenden Befehl, um den öffentlichen Schlüssel abzurufen:
openssl x509 -inyour X509 certificate PublicKey-pubkey -noout -
Verwenden Sie den folgenden create-load-balancer-policyBefehl, um eine Richtlinie für öffentliche Schlüssel zu erstellen:
aws elb create-load-balancer-policy --load-balancer-namemy-loadbalancer--policy-namemy-PublicKey-policy\ --policy-type-name PublicKeyPolicyType --policy-attributes AttributeName=PublicKey,AttributeValue=MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEXAMPLE=Anmerkung
Wenn Sie einen öffentlichen Schlüssel für
--policy-attributesangeben, entfernen Sie die ersten und letzten Zeilen des öffentlichen Schlüssels (die Zeilen mit "-----BEGIN PUBLIC KEY-----" und "-----END PUBLIC KEY-----"). Der AWS CLI akzeptiert keine Leerzeichen in--policy-attributes. -
Verwenden Sie den folgenden create-load-balancer-policyBefehl, um eine Authentifizierungsrichtlinie für Back-End-Instanzen mithilfe von
my-PublicKey-policyzu erstellen.aws elb create-load-balancer-policy --load-balancer-namemy-loadbalancer--policy-namemy-authentication-policy--policy-type-name BackendServerAuthenticationPolicyType --policy-attributes AttributeName=PublicKeyPolicyName,AttributeValue=my-PublicKey-policySie haben auch die Möglichkeit, verschiedene Richtlinien mit öffentlichem Schlüssel zu verwenden. Der Load Balancer versucht nacheinander alle Schlüssel. Wenn der von einer Instance angebotene öffentliche Schlüssel mit einem dieser öffentlichen Schlüssel übereinstimmt, ist die Instance authentifiziert.
-
Verwenden Sie den folgenden for-backend-server Befehl set-load-balancer-policies-,
my-authentication-policyum den Instanzport für HTTPS festzulegen. In diesem Beispiel ist der Instance-Port 443.aws elb set-load-balancer-policies-for-backend-server --load-balancer-namemy-loadbalancer--instance-port 443 --policy-namesmy-authentication-policy -
(Optional) Verwenden Sie den folgenden describe-load-balancer-policiesBefehl, um alle Richtlinien für Ihren Load Balancer aufzulisten:
aws elb describe-load-balancer-policies --load-balancer-namemy-loadbalancer -
(Optional) Verwenden Sie den folgenden describe-load-balancer-policiesBefehl, um Details der Richtlinie anzuzeigen:
aws elb describe-load-balancer-policies --load-balancer-namemy-loadbalancer--policy-namesmy-authentication-policy
Schritt 4: Konfigurieren von Zustandsprüfungen (optional)
ELB überprüft regelmäßig den Zustand jeder registrierten EC2 Instanz auf der Grundlage der von Ihnen konfigurierten Integritätsprüfungen. Wenn ELB eine fehlerhafte Instance findet, sendet es keinen Traffic mehr an die Instance und leitet den Traffic an die intakten Instances weiter. Weitere Informationen finden Sie unter Zustandsprüfungen für die Instances für Ihren Classic Load Balancer.
Wenn Sie Ihren Load Balancer erstellen, verwendet ELB Standardeinstellungen für die Integritätsprüfungen. Wenn Sie möchten, können Sie die Zustandsprüfungskonfiguration für Ihren Load Balancer ändern, anstatt die Standardeinstellungen zu verwenden.
So konfigurieren Sie die Zustandsprüfungen für Ihre Instances
Verwenden Sie den folgenden configure-health-check-Befehl:
aws elb configure-health-check --load-balancer-namemy-loadbalancer--health-check Target=HTTP:80/ping,Interval=30,UnhealthyThreshold=2,HealthyThreshold=2,Timeout=3
Nachfolgend finden Sie eine Beispielantwort:
{
"HealthCheck": {
"HealthyThreshold": 2,
"Interval": 30,
"Target": "HTTP:80/ping",
"Timeout": 3,
"UnhealthyThreshold": 2
}
}
Schritt 5: Instanzen registrieren EC2
Nachdem Sie Ihren Load Balancer erstellt haben, müssen Sie Ihre EC2 Instances beim Load Balancer registrieren. Sie können EC2 Instances aus einer einzelnen Availability Zone oder mehreren Availability Zones innerhalb derselben Region wie der Load Balancer auswählen. Weitere Informationen finden Sie unter Registrierte Instances pro Classic Load Balancer.
Verwenden Sie den Befehl register-instances-with-load-balancer wie folgt:
aws elb register-instances-with-load-balancer --load-balancer-namemy-loadbalancer--instancesi-4f8cf126 i-0bb7ca62
Nachfolgend finden Sie eine Beispielantwort:
{
"Instances": [
{
"InstanceId": "i-4f8cf126"
},
{
"InstanceId": "i-0bb7ca62"
}
]
}
Schritt 6: Überprüfen der Instances
Ihr Load Balancer kann verwendet werden, sobald sich eine der registrierten Instances im Status InService befindet.
Verwenden Sie den folgenden Befehl, um den Status Ihrer neu registrierten EC2 Instances zu überprüfen: describe-instance-health
aws elb describe-instance-health --load-balancer-namemy-loadbalancer--instancesi-4f8cf126 i-0bb7ca62
Nachfolgend finden Sie eine Beispielantwort:
{
"InstanceStates": [
{
"InstanceId": "i-4f8cf126",
"ReasonCode": "N/A",
"State": "InService",
"Description": "N/A"
},
{
"InstanceId": "i-0bb7ca62",
"ReasonCode": "Instance",
"State": "OutOfService",
"Description": "Instance registration is still in progress"
}
]
}
Wenn das Feld State für eine Instanz OutOfService ist, werden Ihre Instances immer noch registriert. Weitere Informationen finden Sie unter Fehlerbehebung beim Classic Load Balancer: Instance-Registrierung.
Nachdem der Status von mindestens einer Ihrer Instances InService ist, können Sie Ihren Load Balancer testen. Zum Testen des Load Balancers kopieren Sie den DNS-Namen des Load Balancers und fügen ihn in das Adressfeld eines mit dem Internet verbundenen Webbrowsers ein. Wenn Ihr Load Balancer verfügbar ist, sehen Sie die Standardseite Ihres HTTP-Servers.
Schritt 7: Löschen des Load Balancers (optional)
Wenn Sie den Load Balancer löschen, wird die Registrierung der zugehörigen EC2 Instances automatisch aufgehoben. Sobald der Load Balancer gelöscht ist, fallen keine weiteren Kosten für diesen Load Balancer mehr an. Die EC2 Instances werden jedoch weiterhin ausgeführt und es fallen weiterhin Gebühren für Sie an.
Verwenden Sie den folgenden delete-load-balancerBefehl, um Ihren Load Balancer zu löschen:
aws elb delete-load-balancer --load-balancer-namemy-loadbalancer
Verwenden Sie den Befehl EC2 stop-instances, um Ihre Instances zu stoppen. Verwenden Sie den Befehl EC2 terminate-instances, um Ihre Instances zu beenden.