Das Erstellen einer Amazon Elastic Compute Cloud (Amazon EC2)-Instanz mithilfe einer Lambda-Funktion in AWS erfordert die Automatisierung des Prozesses der Instanzerstellung durch Code. Hier ist eine Schritt-für-Schritt-Anleitung, die Ihnen dabei hilft, dies zu erreichen:
Schritt 1:Erstellen Sie eine IAM-Rolle für die Lambda-Funktion:
1. Gehen Sie in Ihrem AWS-Konto zur IAM-Konsole.
2. Klicken Sie im linken Navigationsbereich auf „Rollen“ und dann auf „Rolle erstellen“.
3. Wählen Sie „AWS Lambda“ als Dienst aus, der diese Rolle verwenden soll.
4. Klicken Sie auf „Weiter:Berechtigungen“ und wählen Sie die EC2FullAccess-Richtlinie aus, um der Lambda-Funktion die Verwaltung von EC2-Ressourcen zu ermöglichen.
5. Überprüfen Sie die Berechtigungen und klicken Sie auf „Weiter:Tags“.
6. (Optional) Fügen Sie alle gewünschten Tags hinzu und klicken Sie auf „Weiter:Überprüfen“.
7. Geben Sie einen aussagekräftigen Namen für die Rolle ein, z. B. „EC2InstanceCreationRole“, und klicken Sie auf „Rolle erstellen“.
Schritt 2:Erstellen Sie eine Lambda-Funktion:
1. Gehen Sie in Ihrem AWS-Konto zur Lambda-Konsole.
2. Klicken Sie auf „Funktion erstellen“ und wählen Sie „Von Grund auf neu erstellen“.
3. Geben Sie einen Namen für die Lambda-Funktion ein, z. B. „CreateEC2Instance“.
4. Wählen Sie als Laufzeit „Python“ oder „JavaScript“ und klicken Sie auf „Funktion erstellen“.
5. Ersetzen Sie den Standardcode im Funktionseditor durch den folgenden Code:
„Python
boto3 importieren
def lambda_handler(event, context):
# Erstellen Sie einen Client für die Interaktion mit der EC2-API
ec2 =boto3.client('ec2')
# Definieren Sie Instanzdetails für die Erstellung
Instanzdetails ={
'ImageId':'ami-123456', # Durch die gewünschte AMI-ID ersetzen
'InstanceType':'t2.micro', # Durch gewünschten Instanztyp ersetzen
'MinCount':1,
'MaxCount':1,
'KeyName':'your-key-name' # Durch den gewünschten Schlüsselnamen ersetzen
}
# Erstellen Sie die EC2-Instanz
Antwort =ec2.run_instances(**instance_details)
# Gibt die Instanz-ID der neu erstellten Instanz zurück
zurückkehren {
'statusCode':200,
'body':Antwort['Instances'][0]['InstanceId']
}
„
Ersetzen Sie für JavaScript Zeile 1 durch:
„
const AWS =require('aws-sdk');
„
6. Erweitern Sie im Abschnitt „Funktionseinstellungen“ die Option „Berechtigungen“ und klicken Sie auf „Berechtigung hinzufügen“.
7. Wählen Sie die zuvor erstellte IAM-Rolle (EC2InstanceCreationRole) und fügen Sie die Richtlinie „LambdaInvokeFullAccess“ hinzu.
Schritt 3:Konfigurieren Sie die Lambda-Funktion:
1. Stellen Sie im Abschnitt „Funktionscode“ sicher, dass der „Handler“ auf „lambda_handler.lambda_handler“ eingestellt ist.
2. Klicken Sie auf „Veröffentlichen“, um die Lambda-Funktion zu speichern und bereitzustellen.
Schritt 4:Rufen Sie die Lambda-Funktion auf:
1. Gehen Sie zum Menü „Aktionen“ und wählen Sie „Aufrufen“.
2. Lassen Sie das Feld „Testereignis“ leer und klicken Sie auf „Aufrufen“.
3. Dadurch wird die Lambda-Funktion aufgerufen und eine neue EC2-Instanz basierend auf den vorkonfigurierten Details erstellt.
Schritt 5:Instanzerstellung überprüfen:
1. Gehen Sie in Ihrem AWS-Konto zur EC2-Konsole.
2. Wählen Sie im linken Navigationsbereich „Instanzen“.
3. Sie sehen die neu erstellte Instanz in der Liste der laufenden Instanzen.
Durch Befolgen dieser Schritte haben Sie erfolgreich eine EC2-Instanz mithilfe einer Lambda-Funktion in AWS erstellt. Diese Automatisierung ermöglicht es Ihnen, EC2-Ressourcen basierend auf Ihren Anforderungen und Ihrer Geschäftslogik programmgesteuert zu erstellen und zu verwalten.