Att skapa en Amazon Elastic Compute Cloud (Amazon EC2)-instans med hjälp av en Lambda-funktion i AWS involverar automatisering av processen för att skapa instanser genom kod. Här är en steg-för-steg-guide som hjälper dig att uppnå detta:
Steg 1:Skapa en IAM-roll för Lambda-funktionen:
1. Gå till IAM-konsolen i ditt AWS-konto.
2. Klicka på "Roler" i den vänstra navigeringsrutan och klicka sedan på "Skapa roll".
3. Välj "AWS Lambda" som tjänsten som ska använda den här rollen.
4. Klicka på "Nästa:Behörigheter" och välj EC2FullAccess-policyn för att låta Lambda-funktionen hantera EC2-resurser.
5. Granska behörigheterna och klicka på "Nästa:Taggar."
6. (Valfritt) Lägg till önskade taggar och klicka på "Nästa:Granska."
7. Ange ett beskrivande namn för rollen, till exempel "EC2InstanceCreationRole", och klicka på "Skapa roll."
Steg 2:Skapa en Lambda-funktion:
1. Gå till Lambda-konsolen i ditt AWS-konto.
2. Klicka på "Skapa funktion" och välj "Författare från början."
3. Ange ett namn för Lambda-funktionen, till exempel "CreateEC2Instance."
4. Välj "Python" eller "JavaScript" som körtid och klicka på "Skapa funktion."
5. Ersätt standardkoden i funktionsredigeraren med följande kod:
``` python
importera boto3
def lambda_handler(händelse, sammanhang):
# Skapa en klient för att interagera med EC2 API
ec2 =boto3.client('ec2')
# Definiera instansdetaljer för skapande
instans_detaljer ={
'ImageId':'ami-123456', # Ersätt med önskat AMI-ID
'InstanceType':'t2.micro', # Ersätt med önskad instanstyp
'MinCount':1,
'MaxCount':1,
'KeyName':'ditt-nyckel-namn' # Ersätt med önskat nyckelnamn
}
# Skapa EC2-instansen
respons =ec2.run_instances(**instance_details)
# Returnera instans-ID för den nyskapade instansen
returnera {
'statuskod':200,
'body':response['Instanser'][0]['InstanceId']
}
```
För JavaScript ersätt rad 1 med:
```
const AWS =require('aws-sdk');
```
6. I avsnittet "Funktionsinställningar", expandera "Behörigheter" och klicka på "Lägg till behörighet".
7. Välj den IAM-roll som skapades tidigare (EC2InstanceCreationRole) och bifoga policyn "LambdaInvokeFullAccess".
Steg 3:Konfigurera lambdafunktionen:
1. I avsnittet "Funktionskod", se till att "Handler" är inställd på "lambda_handler.lambda_handler"
2. Klicka på "Publicera" för att spara och distribuera Lambda-funktionen.
Steg 4:Anropa Lambda-funktionen:
1. Gå till menyn "Åtgärder" och välj "Anropa".
2. Lämna fältet "Testhändelse" tomt och klicka på "Anropa".
3. Detta kommer att anropa Lambda-funktionen och skapa en ny EC2-instans baserat på de förkonfigurerade detaljerna.
Steg 5:Verifiera att instans skapades:
1. Gå till EC2-konsolen i ditt AWS-konto.
2. Välj "Instanser" i den vänstra navigeringsrutan.
3. Du kommer att se den nyskapade instansen i listan över körande instanser.
Genom att följa dessa steg har du framgångsrikt skapat en EC2-instans med en Lambda-funktion i AWS. Denna automatisering låter dig skapa och hantera EC2-resurser programmässigt baserat på dina krav och affärslogik.