

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai dengan Lambda Managed Instances
<a name="lambda-managed-instances-getting-started"></a>

## Membuat fungsi Instance Terkelola Lambda (konsol)
<a name="lambda-managed-instances-getting-started-console"></a>

Anda dapat menggunakan konsol Lambda untuk membuat fungsi Instans Terkelola yang berjalan pada instans Amazon EC2 yang dikelola oleh penyedia kapasitas.

**Penting: ** Sebelum membuat fungsi Instans Terkelola, Anda harus terlebih dahulu membuat penyedia kapasitas. Fungsi-fungsi ini memerlukan penyedia kapasitas untuk menentukan infrastruktur Amazon EC2 yang menjalankan fungsi Anda.

**Untuk membuat fungsi Instance Terkelola Lambda (konsol) **

1. Buka Konsol Lambda.

1. Pilih ** Penyedia kapasitas ** dari panel navigasi kiri.

1. Pilih ** Buat penyedia kapasitas**.

1. Di ** bagian ** Pengaturan penyedia kapasitas, masukkan nama untuk penyedia kapasitas Anda.

1. Pilih VPC dan izin untuk penyedia kapasitas Anda. Anda dapat menggunakan yang sudah ada atau membuat yang baru. Untuk informasi tentang membuat peran operator yang diperlukan, lihat Peran Operator [ Lambda untuk Instans Terkelola Lambda. ](lambda-managed-instances-operator-role.md)

1. Perluas **Pengaturan lanjutan**.

1. Tentukan persyaratan ** Instans Anda ** dengan memilih arsitektur prosesor dan jenis instans.

1. Di bawah ** Penskalaan otomatis**, tentukan jumlah maksimum EC2 vCPU untuk penyedia kapasitas Anda. Anda juga dapat memilih Mode penskalaan instans ** manual ** untuk mengatur nilai penskalaan Anda sendiri untuk kontrol yang tepat.

1. Pilih ** Buat penyedia kapasitas ** untuk membuat yang baru.

1. Selanjutnya, pilih ** Buat fungsi**.

1. Pilih ** Penulis dari awal**.

1. Di ** panel informasi ** dasar, berikan nama ** Fungsi**.

1. Untuk ** Runtime**, pilih salah satu Runtime yang didukung.

1. Pilih ** Arsitektur ** untuk fungsi Anda (sama dengan yang Anda pilih untuk penyedia kapasitas). Secara default, ** x86\_64**.

1. Di bawah ** Iz ** in, pastikan Anda memiliki izin untuk peran Eksek ** usi yang dipilih**. Jika tidak, Anda dapat membuat peran baru.

1. Di bawah Konfigur ** asi tambahan**, pilih tipe ** Komputasi ** sebagai Instans Terkelola ** Lambda. **

1. Penyedia kapasitas ARN dari penyedia kapasitas yang Anda buat pada langkah sebelumnya harus dipilih sebelumnya.

1. Pilih Ukuran ** memori ** dan memori lingkungan ** eksekusi (GiB) per rasio vCPU. **

1. Pilih **Buat fungsi**.

Fungsi Instans Terkelola Lambda Anda dibuat dan menyediakan kapasitas pada penyedia kapasitas yang Anda tentukan. Pembuatan fungsi biasanya memakan waktu beberapa menit. Setelah selesai, Anda dapat mengedit kode fungsi Anda dan menjalankan pengujian pertama Anda.

## Membuat fungsi Instance Terkelola Lambda (AWS CLI)
<a name="lambda-managed-instances-getting-started-cli"></a>

### Prasyarat
<a name="lambda-managed-instances-prerequisites"></a>

Sebelum Anda mulai, pastikan Anda memiliki yang berikut:
+ **AWS CLI ** — Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat Meng [ instal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+ **Izin IAM ** — Pengguna atau peran IAM Anda harus memiliki izin untuk membuat fungsi Lambda, penyedia kapasitas, dan meneruskan peran IAM. Perhatikan bahwa Anda juga perlu `iam:CreateServiceLinkedRole` jika ini pertama kalinya membuat penyedia kapasitas di akun atau jika Peran Tertaut Layanan (SLR) dihapus.

### Langkah 1: Buat peran IAM yang diperlukan
<a name="lambda-managed-instances-step1-iam"></a>

Instans Terkelola Lambda memerlukan dua peran IAM: peran eksekusi untuk fungsi Anda dan peran operator untuk penyedia kapasitas. Peran operator memungkinkan Lambda meluncurkan, menghentikan, dan memantau instans Amazon EC2 atas nama Anda. Peran eksekusi fungsi memberikan izin fungsi untuk mengakses AWS layanan dan sumber daya lain.

**Untuk membuat peran eksekusi Lambda **

1. Buat dokumen kebijakan kepercayaan yang memungkinkan Lambda untuk mengambil peran:

   ```
   cat > lambda-trust-policy.json << 'EOF'
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "lambda.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   EOF
   ```

1. Buat peran eksekusi:

   ```
   aws iam create-role \
     --role-name MyLambdaExecutionRole \
     --assume-role-policy-document file://lambda-trust-policy.json
   ```

1. Lampirkan kebijakan eksekusi dasar:

   ```
   aws iam attach-role-policy \
     --role-name MyLambdaExecutionRole \
     --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
   ```

**Untuk membuat peran operator penyedia kapasitas **

1. Buat dokumen kebijakan kepercayaan yang memungkinkan Lambda untuk mengambil peran operator:

   ```
   cat > operator-trust-policy.json << 'EOF'
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "lambda.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   EOF
   ```

1. Buat peran operator:

   ```
   aws iam create-role \
     --role-name MyCapacityProviderOperatorRole \
     --assume-role-policy-document file://operator-trust-policy.json
   ```

1. Lampirkan kebijakan izin EC2 yang diperlukan:

   ```
   aws iam attach-role-policy \
     --role-name MyCapacityProviderOperatorRole \
     --policy-arn arn:aws:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator
   ```

### Langkah 2: Siapkan sumber daya VPC
<a name="lambda-managed-instances-step2-vpc"></a>

Instans Terkelola Lambda berjalan di VPC Anda dan memerlukan subnet dan grup keamanan.

**Untuk membuat sumber daya VPC **

1. Membuat VPC:

   ```
   VPC_ID=$(aws ec2 create-vpc \
     --cidr-block 10.0.0.0/16 \
     --query 'Vpc.VpcId' \
     --output text)
   ```

1. Buat subnet:

   ```
   SUBNET_ID=$(aws ec2 create-subnet \
     --vpc-id $VPC_ID \
     --cidr-block 10.0.1.0/24 \
     --query 'Subnet.SubnetId' \
     --output text)
   ```

1. Buat grup keamanan:

   ```
   SECURITY_GROUP_ID=$(aws ec2 create-security-group \
     --group-name my-capacity-provider-sg \
     --description "Security group for Lambda Managed Instances" \
     --vpc-id $VPC_ID \
     --query 'GroupId' \
     --output text)
   ```

**Catatan: Fungsi Instans Terkelola Lambda ** Anda memerlukan konfigurasi VPC untuk mengakses sumber daya di luar VPC dan untuk mengirimkan data telemetri ke Log dan. CloudWatch X-Ray Untuk detail konfigurasi, lihat [ Jaringan untuk Inst ](lambda-managed-instances-networking.md) ans Terkelola Lambda.

### Langkah 3: Buat penyedia kapasitas
<a name="lambda-managed-instances-step3-capacity-provider"></a>

Penyedia kapasitas mengelola instans EC2 yang menjalankan fungsi Lambda Anda.

**Untuk membuat penyedia kapasitas **

```
ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)

aws lambda create-capacity-provider \
  --capacity-provider-name my-capacity-provider \
  --vpc-config SubnetIds=[$SUBNET_ID],SecurityGroupIds=[$SECURITY_GROUP_ID] \
  --permissions-config CapacityProviderOperatorRoleArn=arn:aws:iam::${ACCOUNT_ID}:role/MyCapacityProviderOperatorRole \
  --instance-requirements Architectures=[x86_64] \
  --capacity-provider-scaling-config MaxVCpuCount=30
```

Perintah ini membuat penyedia kapasitas dengan konfigurasi berikut:
+ **Konfigurasi VPC ** — Menentukan subnet dan grup keamanan untuk instans EC2
+ **Izin ** — Mendefinisikan peran IAM yang digunakan Lambda untuk mengelola instans EC2
+ **Persyaratan Instance ** — Menentukan arsitektur x86\_64
+ **Konfigurasi penskalaan ** — Menetapkan maksimum 30 vCPU untuk penyedia kapasitas

### Langkah 4: Buat fungsi Lambda dengan kode inline
<a name="lambda-managed-instances-step4-function"></a>

**Untuk membuat fungsi dengan kode sebaris **

1. Pertama, buat fungsi Python sederhana dan kemas sebaris:

   ```
   # Create a temporary directory for the function code
   mkdir -p /tmp/my-lambda-function
   cd /tmp/my-lambda-function
   
   # Create a simple Python handler
   cat > lambda_function.py << 'EOF'
   import json
   
   def lambda_handler(event, context):
       return {
           'statusCode': 200,
           'body': json.dumps({
               'message': 'Hello from Lambda Managed Instances!',
               'event': event
           })
       }
   EOF
   
   # Create a ZIP file
   zip function.zip lambda_function.py
   ```

1. Buat fungsi Lambda menggunakan file ZIP inline:

   ```
   ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
   REGION=$(aws configure get region)
   
   aws lambda create-function \
     --function-name my-managed-instance-function \
     --package-type Zip \
     --runtime python3.13 \
     --handler lambda_function.lambda_handler \
     --zip-file fileb:///tmp/my-lambda-function/function.zip \
     --role arn:aws:iam::${ACCOUNT_ID}:role/MyLambdaExecutionRole \
     --architectures x86_64 \
     --memory-size 2048 \
     --ephemeral-storage Size=512 \
     --capacity-provider-config LambdaManagedInstancesCapacityProviderConfig={CapacityProviderArn=arn:aws:lambda:${REGION}:${ACCOUNT_ID}:capacity-provider:my-capacity-provider}
   ```

   Fungsi ini dibuat dengan:
   + **Waktu pelaksan ** aan - Python 3.13
   + **Handler ** — `lambda_handler` Fungsi di `lambda_function.py`
   + **Mem ** ori - 2048 MB
   + **Penyimpanan sementara ** - 512 MB
   + **Penyedia kapasitas ** — Tautan ke penyedia kapasitas yang Anda buat

### Langkah 5: Publikasikan versi fungsi
<a name="lambda-managed-instances-step5-publish"></a>

Untuk menjalankan fungsi Anda di Instans Terkelola Lambda, Anda harus menerbitkan versi.

**Untuk menerbitkan versi fungsi **

```
aws lambda publish-version \
  --function-name my-managed-instance-function
```

Perintah ini menerbitkan versi 1 fungsi Anda dan menyebarkannya ke penyedia kapasitas.

### Langkah 6: Memanggil fungsi Anda
<a name="lambda-managed-instances-step6-invoke"></a>

Setelah menerbitkan, Anda dapat memanggil fungsi Anda.

**Untuk memanggil fungsi Anda **

```
aws lambda invoke \
  --function-name my-managed-instance-function:1 \
  --payload '{"name": "World"}' \
  response.json

# View the response
cat response.json
```

Fungsi ini berjalan pada instans EC2 yang dikelola oleh penyedia kapasitas Anda dan mengembalikan respons.

### Bersihkan
<a name="lambda-managed-instances-cleanup"></a>

Untuk menghindari dikenakan biaya, hapus sumber daya yang Anda buat:

1. Hapus fungsi:

   ```
   aws lambda delete-function --function-name my-managed-instance-function
   ```

1. Hapus penyedia kapasitas:

   ```
   aws lambda delete-capacity-provider --capacity-provider-name my-capacity-provider
   ```

1. Hapus sumber daya VPC:

   ```
   aws ec2 delete-security-group --group-id $SECURITY_GROUP_ID
   aws ec2 delete-subnet --subnet-id $SUBNET_ID
   aws ec2 delete-vpc --vpc-id $VPC_ID
   ```

1. Hapus peran IAM:

   ```
   aws iam detach-role-policy \
     --role-name MyLambdaExecutionRole \
     --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
   aws iam detach-role-policy \
     --role-name MyCapacityProviderOperatorRole \
     --policy-arn arn:aws:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator
   
   aws iam delete-role --role-name MyLambdaExecutionRole
   aws iam delete-role --role-name MyCapacityProviderOperatorRole
   ```