Eine Auto-Scaling-Gruppe unter Verwendung von Parametern einer bestehenden Instance erstellen - Amazon EC2 Auto Scaling

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.

Eine Auto-Scaling-Gruppe unter Verwendung von Parametern einer bestehenden Instance erstellen

Wichtig

Wir stellen Informationen zu Startkonfigurationen für Kunden bereit, die noch nicht von Startkonfigurationen zu Startvorlagen migriert sind. Informationen zum Migrieren Ihrer Auto-Scaling-Gruppen zu Startvorlagen finden Sie unter Migrieren Sie Ihre Auto Scaling Scaling-Gruppen, um Vorlagen zu starten.

Wenn Sie zum ersten Mal eine Auto-Scaling-Gruppe erstellen, empfehlen wir Ihnen, die Konsole zu verwenden, um eine Startvorlage aus einer bestehenden EC2-Instance zu erstellen. Verwenden Sie dann die Startvorlage, um eine neue Auto-Scaling-Gruppe zu erstellen. Informationen zu diesen Verfahren finden Sie unter Erstellen einer Auto-Scaling-Gruppe mithilfe des Amazon EC2-Startassistenten.

Das folgende Verfahren zeigt, wie Sie eine Auto-Scaling-Gruppe erstellen, indem Sie eine vorhandene Instance angeben, die als Basis zum Starten anderer Instances verwendet werden soll. Für die Erstellung einer EC2-Instance sind mehrere Parameter erforderlich, z. B. die Amazon Machine Image (AMI) ID, der Instanztyp, das Schlüsselpaar und die Sicherheitsgruppe. Alle diese Informationen werden auch von Amazon EC2 Auto Scaling benutzt, um Instances in Ihrem Namen zu starten, wenn eine Skalierung erforderlich ist. Diese Informationen werden entweder in einer Startvorlage oder in einer Startkonfiguration gespeichert.

Wenn Sie eine vorhandene Instance verwenden, erstellt Amazon EC2 Auto Scaling eine Auto-Scaling-Gruppe, die Instances auf der Grundlage einer gleichzeitig erstellten Startkonfiguration startet. Die neue Startkonfiguration hat denselben Namen wie die Auto-Scaling-Gruppe und enthält bestimmte Konfigurationsdetails der identifizierten Instance.

Die folgenden Konfigurationsdetails werden von der identifizierten Instance in die Startkonfiguration kopiert:

  • AMI-ID

  • Instance-Typ

  • Schlüsselpaar

  • Sicherheitsgruppen

  • Typ der IP-Adresse (öffentlich oder privat)

  • IAM-Instance-Profil, falls zutreffend

  • Überwachung (richtig oder falsch)

  • EBS optimiert (richtig oder falsch)

  • Tenancy-Einstellung beim Start in einer VPC (geteilt oder dediziert)

  • Kernel-ID und RAM-Datenträger-ID, falls zutreffend

  • Benutzerdaten, falls angegeben

  • Spotpreis (maximal)

Das VPC-Subnetz und die Availability Zone werden von der identifizierten Instance in die eigene Ressourcendefinition der Auto-Scaling-Gruppe kopiert.

Wenn sich die identifizierte Instance in einer Platzierungsgruppe befindet, startet die neue Auto-Scaling-Gruppe Instanzen in dieselbe Platzierungsgruppe wie die identifizierte Instance. Da die Startkonfigurationseinstellungen die Angabe einer Platzierungsgruppe nicht zulassen, wird die Platzierungsgruppe in das PlacementGroup-Attribut der neuen Auto-Scaling-Gruppe kopiert.

Die folgenden Konfigurationsdetails werden nicht von Ihrer identifizierten Instance übernommen:

  • Speicher: Die Blockgeräte (EBS-Volumen und Instance-Speichervolumen) werden nicht von der identifizierten Instance kopiert. Stattdessen bestimmt die bei der Erstellung des AMI erstellte Blockgerät-Zuweisung, welche Geräte verwendet werden.

  • Anzahl der Netzwerkschnittstellen: Die Netzwerkschnittstellen werden nicht von Ihrer identifizierten Instance kopiert. Stattdessen verwendet Amazon EC2 Auto Scaling die Standardeinstellungen, um eine Netzwerkschnittstelle zu erstellen, nämlich die primäre Netzwerkschnittstelle (eth0).

  • Optionen für Instance-Metadaten: Die Einstellungen für die zugänglichen Metadaten, die Metadatenversion und das Sprunglimit für Token-Antworten werden nicht von der identifizierten Instance übernommen. Stattdessen verwendet Amazon EC2 Auto Scaling seine Standardeinstellungen. Weitere Informationen finden Sie unter Konfigurieren der Instance-Metadaten-Optionen.

  • Lastenverteilung: Ist die identifizierte Instance bei mindestens einem Load Balancer angemeldet, werden die Informationen über den Load Balancer nicht automatisch in den Load Balancer oder in das Zielgruppenattribut der neuen Auto-Scaling-Gruppe kopiert.

  • Tags: Verfügt die identifizierte Instance über Tags, werden diese nicht in das Attribut Tags der neuen Auto-Scaling-Gruppe kopiert.

Voraussetzungen

Die EC2-Instance muss die folgenden Kriterien erfüllen:

  • Die Instance gehört keiner anderen Auto-Scaling-Gruppe an.

  • Der Status der Instance lautet running.

  • Das AMI zum Starten der Instance muss noch vorhanden sein.

Erstellen einer Auto-Scaling-Gruppe aus einer EC2-Instance (Konsole)

So erstellen Sie eine Auto-Scaling-Gruppe aus einer EC2-Instance
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich unter Instances die Option Instances und dann eine Instance aus.

  3. Wählen Sie Actions, Instance Settings und Attach to Auto Scaling Group aus.

  4. Geben Sie auf der Seite Attach to Auto Scaling Group (An Auto-Scaling-Gruppe anhängen) für Auto Scaling group einen Namen für die Gruppe ein und wählen Sie anschließend Attach (Anhängen) aus.

    Nachdem die Instance angefügt wurde, wird sie als Teil der Auto-Scaling-Gruppe angesehen. Die neue Auto-Scaling-Gruppe wird mithilfe einer neuen Startkonfiguration mit demselben Namen erstellt, den Sie für die Auto-Scaling-Gruppe angegeben haben. Die Auto-Scaling-Gruppe hat eine gewünschte Kapazität und eine maximale Größe von 1.

  5. (Optional) Klicken Sie zum Bearbeiten der Einstellungen der Auto-Scaling Gruppe im Navigationsbereich unter Auto Scaling (automatische Skalierung) auf Auto Scaling Groups (Auto-Scaling-Gruppen). Aktivieren Sie das Kontrollkästchen neben der neuen Auto-Scaling-Gruppe, wählen Sie die Schaltfläche Bearbeiten, die sich über der Liste der Gruppen befindet, ändern Sie die Einstellungen nach Bedarf und wählen Sie dann Aktualisieren aus.

Erstellen einer Auto-Scaling-Gruppe aus einer EC2-Instance (AWS CLI)

Das folgende Verfahren demonstriert die Verwendung eines CLI-Befehls zum Erstellen einer Auto-Scaling-Gruppe aus einer EC2-Instance.

Bei diesem Verfahren wird die Instance nicht zur Auto-Scaling-Gruppe hinzugefügt. Damit die Instance angefügt werden kann, müssen Sie den Befehl attach-instances ausführen, nachdem die Auto-Scaling-Gruppe erstellt wurde.

Bevor Sie beginnen, suchen Sie die ID der EC2-Instance mithilfe der Amazon-EC2-Konsole oder dem Befehl describe-instances.

So verwenden Sie die aktuelle Instance als Vorlage
  • Verwenden Sie den folgenden create-auto-scaling-group Befehl, um eine Auto Scaling-Gruppe, my-asg-from-instance, aus der EC2-Instance zu erstelleni-0e69cc3f05f825f4f.

    aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg-from-instance \ --instance-id i-0e69cc3f05f825f4f --min-size 1 --max-size 2 --desired-capacity 2
So prüfen Sie, dass Ihre Auto-Scaling-Gruppe eine neue Instance gestartet hat
  • Verwenden Sie den folgenden describe-auto-scaling-groups Befehl, um zu überprüfen, ob die Auto Scaling-Gruppe erfolgreich erstellt wurde.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg-from-instance

    Die folgende Beispielantwort zeigt, dass die gewünschte Kapazität der Gruppe 2 beträgt, die Gruppe über zwei laufende Instances verfügt und die Startkonfiguration den Namen my-asg-from-instance hat.

    { "AutoScalingGroups":[ { "AutoScalingGroupName":"my-asg-from-instance", "AutoScalingGroupARN":"arn", "LaunchConfigurationName":"my-asg-from-instance", "MinSize":1, "MaxSize":2, "DesiredCapacity":2, "DefaultCooldown":300, "AvailabilityZones":[ "us-west-2a" ], "LoadBalancerNames":[], "TargetGroupARNs":[], "HealthCheckType":"EC2", "HealthCheckGracePeriod":0, "Instances":[ { "InstanceId":"i-06905f55584de02da", "InstanceType":"t2.micro", "AvailabilityZone":"us-west-2a", "LifecycleState":"InService", "HealthStatus":"Healthy", "LaunchConfigurationName":"my-asg-from-instance", "ProtectedFromScaleIn":false }, { "InstanceId":"i-087b42219468eacde", "InstanceType":"t2.micro", "AvailabilityZone":"us-west-2a", "LifecycleState":"InService", "HealthStatus":"Healthy", "LaunchConfigurationName":"my-asg-from-instance", "ProtectedFromScaleIn":false } ], "CreatedTime":"2020-10-28T02:39:22.152Z", "SuspendedProcesses":[ ], "VPCZoneIdentifier":"subnet-6bea5f06", "EnabledMetrics":[ ], "Tags":[ ], "TerminationPolicies":[ "Default" ], "NewInstancesProtectedFromScaleIn":false, "ServiceLinkedRoleARN":"arn", "TrafficSources":[] } ] }
So zeigen Sie die Startkonfiguration an
  • Verwenden Sie den folgenden describe-launch-configurations Befehl, um die Details der Startkonfiguration anzuzeigen.

    aws autoscaling describe-launch-configurations --launch-configuration-names my-asg-from-instance

    Das Folgende ist Ausgabebeispiel:

    { "LaunchConfigurations":[ { "LaunchConfigurationName":"my-asg-from-instance", "LaunchConfigurationARN":"arn", "ImageId":"ami-0528a5175983e7f28", "KeyName":"my-key-pair-uswest2", "SecurityGroups":[ "sg-05eaec502fcdadc2e" ], "ClassicLinkVPCSecurityGroups":[ ], "UserData":"", "InstanceType":"t2.micro", "KernelId":"", "RamdiskId":"", "BlockDeviceMappings":[ ], "InstanceMonitoring":{ "Enabled":true }, "CreatedTime":"2020-10-28T02:39:22.321Z", "EbsOptimized":false, "AssociatePublicIpAddress":true } ] }
Beenden der Instances
  • Sie können die Instance beenden, wenn Sie sie nicht mehr benötigen. Der folgende terminate-instances-Befehl beendet die Instance i-0e69cc3f05f825f4f.

    aws ec2 terminate-instances --instance-ids i-0e69cc3f05f825f4f

    Wenn Sie eine Amazon EC2-Instance beenden, kann diese nicht neu gestartet werden. Nach dem Beenden sind die Daten nicht mehr vorhanden und das Volume kann nicht an eine Instance angefügt werden. Weitere Informationen zum Beenden von Instances finden Sie unter Beenden einer Instance im Amazon EC2-Benutzerhandbuch für Linux-Instances.