Ich habe eine EC2-Startkonfiguration, die das ECS-optimierte AMI erstellt. Ich habe eine automatische Skalierungsgruppe, die sicherstellt, dass ich immer mindestens zwei Instanzen zur Verfügung habe. Endlich habe ich einen Load Balancer.Warum kann mein ECS-Dienst keine EC2-Instanzen mit meinem ELB registrieren?
Ich versuche, einen ECS-Dienst zu erstellen, der meine Aufgaben auf die Instanzen im Lastenausgleich verteilt.
Nach dem Lesen der Dokumentation für ECS Load Balancing, ist es mein Verständnis, dass meine ASG meine EC2-Instanzen nicht automatisch mit dem ELB registrieren sollte, weil ECS das erledigt. Also, meine ASG spezifiziert keine ELB. Ebenso hat mein ELB keine registrierten EC2-Instanzen.
Wenn ich meinen ECS-Dienst erstelle, wähle ich den ELB und wähle auch die ecsServiceRole. Nach dem Erstellen des Dienstes werden auf der Registerkarte "ECS-Instanzen" keine Instanzen angezeigt. Der Dienst kann auch keine Tasks starten, mit einem sehr allgemeinen Fehler von ...
Dienst konnte eine Aufgabe nicht platzieren, da die Ressourcen nicht gefunden werden konnten.
Ich bin seit etwa zwei Tagen hier und kann nicht herausfinden, welche Konfigurationseinstellungen nicht richtig konfiguriert sind. Hat jemand irgendwelche Ideen, was dazu führen könnte, dass dies nicht funktioniert?
aktualisieren @ 2015.06.25:
Ich denke, das könnte etwas mit der ECS_CLUSTER
Benutzerdaten Einstellung zu tun.
In meiner EC2 Auto Skalierung Startkonfiguration, wenn ich die Benutzer Dateneingabe vollständig leer lassen, werden die Instanzen mit einem ECS_CLUSTER
Wert von "default" erstellt. Wenn dies geschieht, sehe ich einen automatisch erstellten Cluster namens "default". In diesem Standardcluster sehe ich die Instanzen und kann Aufgaben wie erwartet mit dem ELB registrieren. Mein ELB-Gesundheitscheck (HTTP) wird bestanden, sobald die Aufgaben bei der ELB registriert sind und alles in der Welt gut ist.
Aber wenn ich diese Einstellung ECS_CLUSTER
zu etwas Brauch ändern, sehe ich nie einen Cluster mit diesem Namen erstellt. Wenn ich manuell einen Cluster mit diesem Namen erstelle, werden die Instanzen niemals im Cluster sichtbar. Ich kann in diesem Szenario niemals Aufgaben mit dem ELB registrieren.
Irgendwelche Ideen?
Nur einige zufällige Ideen zu überprüfen: AZ/Subnetze von ELB und Skalierungsgruppe? (Sind sie identisch? Können sie aufeinander zugreifen? Wie funktioniert der Healthcheck im ELB? Sehen Sie eine angehängte Instanz auf der ELB - Detailseite? Haben Sie Protokolle über den Prozess auf der ECS - Instanz, der die Instanz registriert? ELB? –
Ja, alles verwendet die gleiche VPC und Subnet. Die ELB-Health-Check ist HTTP, die, wenn ECS Container mit meinen Instanzen korrekt registriert, funktionieren. Ich befolge die ECS Load Balancing-Dokumentation, die das Registrieren von Instanzen zu überspringen mit dem ELB, weil ECS das erledigt Ich denke, das Problem ist mit der 'ECS_CLUSTER' Benutzerdaten Einstellung.Wenn ich es als Standard verlassen, sehe ich einen automatisch erstellten "Standard" Cluster, in dem ich die Instanzen und sehen kann kann Aufgaben registrieren Wenn ich es zu etwas benutzerdefiniertem ändern, sehe ich nicht, dass ein Cluster erstellt wird, und kann keine Aufgaben registrieren – Ryan