

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

# Tindakan untuk AWS FIS
<a name="action-sequence"></a>

Untuk membuat template eksperimen, Anda harus menentukan satu atau beberapa tindakan. Untuk daftar tindakan yang telah ditentukan sebelumnya yang disediakan oleh AWS FIS, lihat. [Referensi tindakan](fis-actions-reference.md)

Anda dapat menjalankan tindakan hanya sekali selama percobaan. Untuk menjalankan tindakan AWS FIS yang sama lebih dari sekali dalam percobaan yang sama, tambahkan ke template beberapa kali menggunakan nama yang berbeda.

**Topics**
+ [Sintaks tindakan](#action-syntax)
+ [Pengidentifikasi tindakan](#action-identifiers)
+ [Parameter tindakan](#action-parameters)
+ [Target aksi](#action-targets)
+ [Durasi tindakan](#action-duration)
+ [Contoh tindakan](#example-actions)

## Sintaks tindakan
<a name="action-syntax"></a>

Berikut ini adalah sintaks untuk tindakan.

```
{
    "actions": {
        "action_name": {
            "actionId": "aws:service:action-type",
            "description": "string",
            "parameters": {
                "name": "value"
             },
            "startAfter": ["action_name", ...],
            "targets": {
                "ResourceType": "target_name"
            }
        }
    }
}
```

Saat Anda mendefinisikan suatu tindakan, Anda memberikan yang berikut:

***action\$1name***  
Sebuah nama untuk tindakan.

**actionId**  
[Pengidentifikasi tindakan](#action-identifiers).

**description**  
Deskripsi opsional.

**parameters**  
[Parameter tindakan](#action-parameters) apa pun.

**startAfter**  
Tindakan apa pun yang harus diselesaikan sebelum tindakan ini dapat dimulai. Jika tidak, tindakan berjalan pada awal percobaan.

**targets**  
[Target tindakan](#action-targets) apa pun.

Sebagai contoh, lihat [Contoh tindakan](#example-actions).

## Pengidentifikasi tindakan
<a name="action-identifiers"></a>

Setiap tindakan AWS FIS memiliki pengenal dengan format berikut:

```
aws:service-name:action-type
```

Misalnya, tindakan berikut menghentikan instans Amazon EC2 target:

```
aws:ec2:stop-instances
```

Untuk daftar lengkap tindakan, lihat[AWS FIS Referensi tindakan](fis-actions-reference.md).

## Parameter tindakan
<a name="action-parameters"></a>

Beberapa tindakan AWS FIS memiliki parameter tambahan yang spesifik untuk tindakan tersebut. Parameter ini digunakan untuk meneruskan informasi ke AWS FIS ketika tindakan dijalankan. 

AWS FIS mendukung jenis kesalahan khusus menggunakan `aws:ssm:send-command` tindakan, yang menggunakan Agen SSM dan dokumen perintah SSM untuk membuat kondisi kesalahan pada instance yang ditargetkan. `aws:ssm:send-command`Tindakan tersebut mencakup `documentArn` parameter yang mengambil Amazon Resource Name (ARN) dari dokumen SSM sebagai nilai. Anda menentukan nilai untuk parameter saat menambahkan tindakan ke templat eksperimen.

Untuk informasi selengkapnya tentang menentukan parameter untuk `aws:ssm:send-command` tindakan, lihat[Gunakan aws:ssm:send-command tindakan](actions-ssm-agent.md#specifying-ssm-actions).

Jika memungkinkan, Anda dapat memasukkan konfigurasi rollback (juga disebut sebagai *tindakan posting*) dalam parameter tindakan. Post action mengembalikan target ke keadaan sebelum tindakan dijalankan. Tindakan posting berjalan setelah waktu yang ditentukan dalam durasi tindakan. Tidak semua tindakan dapat mendukung tindakan posting. Misalnya, jika tindakan menghentikan instans Amazon EC2, Anda tidak dapat memulihkan instance setelah dihentikan.

## Target aksi
<a name="action-targets"></a>

Tindakan berjalan pada sumber daya target yang Anda tentukan. Setelah Anda menentukan target, Anda dapat menentukan namanya ketika Anda menentukan tindakan.

```
"targets": {
    "ResourceType": "resource_name"
}
```

AWS Tindakan FIS mendukung jenis sumber daya berikut untuk target tindakan:
+ **AutoScalingGroups**- Grup Penskalaan Otomatis Amazon EC2
+ **Ember - Ember** Amazon S3
+ **Cluster — Cluster** Amazon EKS
+ **Cluster** — Amazon ECS, Aurora DSQL, atau Amazon Aurora DB cluster
+ **DBInstances**- Instans Amazon RDS DB
+ **Fungsi** - AWS Lambda fungsi
+ **Instans** - Instans Amazon EC2
+ **KinesisStreams**— Aliran data Kinesis
+ **ManagedResources**- Cluster Amazon EKS, Aplikasi Amazon EC2 dan Penyeimbang Beban Jaringan, dan grup Penskalaan Otomatis Amazon EC2 yang diaktifkan untuk pergeseran zona ARC.
+ **MultiRegionClusters**— Amazon MemoryDB klaster Multi-wilayah
+ **Nodegroups - Grup** simpul Amazon EKS
+ **Pod — Pod** Kubernetes di Amazon EKS
+ **ReplicationGroups**— Grup ElastiCache Replikasi
+ **Peran - peran** IAM
+ **SpotInstances**- Instans Spot Amazon EC2
+ **Subnet - Subnet** VPC
+ **Tabel** - Amazon DynamoDB Multi-wilayah tabel global yang kuat dan akhirnya konsisten
+ **Tugas - Tugas** Amazon ECS
+ **TransitGateways**— Gerbang transit
+ **VirtualInterfaces**— Antarmuka Direct Connect Virtual
+ **Volume - Volume** Amazon EBS
+ **VPCEndpoints**— Titik akhir Amazon VPC

Sebagai contoh, lihat [Contoh tindakan](#example-actions).

## Durasi tindakan
<a name="action-duration"></a>

Jika suatu tindakan menyertakan parameter yang dapat Anda gunakan untuk menentukan durasi tindakan, secara default, tindakan dianggap selesai hanya setelah durasi yang ditentukan telah berlalu. Jika Anda telah menetapkan opsi `emptyTargetResolutionMode` eksperimen`skip`, maka tindakan akan segera selesai dengan status 'dilewati' ketika tidak ada target yang diselesaikan. Misalnya, jika Anda menentukan durasi 5 menit, AWS FIS menganggap tindakan selesai setelah 5 menit. Kemudian memulai tindakan berikutnya, sampai semua tindakan selesai.

Durasi dapat berupa lamanya waktu kondisi tindakan dipertahankan atau lamanya waktu metrik dipantau. Misalnya, latensi disuntikkan selama durasi waktu yang ditentukan. Untuk jenis tindakan yang hampir seketika, seperti menghentikan instance, kondisi berhenti dipantau selama durasi waktu yang ditentukan.

Jika tindakan menyertakan tindakan posting dalam parameter tindakan, tindakan posting berjalan setelah tindakan selesai. Waktu yang diperlukan untuk menyelesaikan tindakan pasca dapat menyebabkan penundaan antara durasi tindakan yang ditentukan dan awal tindakan berikutnya (atau akhir percobaan, jika semua tindakan lain selesai).

## Contoh tindakan
<a name="example-actions"></a>

Berikut ini adalah contoh tindakan.

**Contoh**
+ [Hentikan instans EC2](#example-action-stop-instances)
+ [Interupsi Instans Spot](#example-action-send-spot-instance-interupptions)
+ [Mengganggu lalu lintas jaringan](#example-action-disrupt-connectivity)
+ [Menghentikan pekerja EKS](#example-action-terminate-nodegroup-instances)
+ [Mulai pergeseran otomatis zona ARC](#example-start-arc-zonal-autoshift)<a name="example-action-stop-instances"></a>

**Contoh: Hentikan instans EC2**  
Tindakan berikut menghentikan instans EC2 yang diidentifikasi menggunakan target bernama. *targetInstances* Setelah dua menit, itu memulai ulang instance target.

```
"actions": {
    "stopInstances": {
        "actionId": "aws:ec2:stop-instances",
        "parameters": {
            "startInstancesAfterDuration": "PT2M"
        },
        "targets": {
            "Instances": "targetInstances"
        }
    }
}
```<a name="example-action-send-spot-instance-interupptions"></a>

**Contoh: Interupsi Instance Spot**  
Tindakan berikut menghentikan Instans Spot yang diidentifikasi menggunakan target bernama*targetSpotInstances*. Itu menunggu dua menit sebelum mengganggu Instance Spot.

```
"actions": {
    "interruptSpotInstances": {
        "actionId": "aws:ec2:send-spot-instance-interruptions",
        "parameters": {
            "durationBeforeInterruption": "PT2M"
        },
        "targets": {
            "SpotInstances": "targetSpotInstances"
        }
    }
}
```<a name="example-action-disrupt-connectivity"></a>

**Contoh: Mengganggu lalu lintas jaringan**  
Tindakan berikut menyangkal lalu lintas antara subnet target dan subnet di Availability Zone lainnya.

```
"actions": {
    "disruptAZConnectivity": {
        "actionId": "aws:network:disrupt-connectivity",
        "parameters": {
            "scope": "availability-zone",
            "duration": "PT5M"
        },
        "targets": {
            "Subnets": "targetSubnets"
        }
    }
}
```<a name="example-action-terminate-nodegroup-instances"></a>

**Contoh: Menghentikan pekerja EKS**  
Tindakan berikut mengakhiri 50% instans EC2 di cluster EKS yang diidentifikasi menggunakan target bernama. *targetNodeGroups*

```
"actions": {
    "terminateWorkers": {
        "actionId": "aws:eks:terminate-nodegroup-instances",
        "parameters": {
            "instanceTerminationPercentage": "50"
        },
        "targets": {
            "Nodegroups": "targetNodeGroups"
        }
    }
}
```<a name="example-start-arc-zonal-autoshift"></a>

**Contoh: Mulai pergeseran otomatis zona ARC**  
Tindakan berikut memulai autoshift ARC Zonal yang menggeser sumber daya terkelola dari for. *az-in-parameters* *duration-in-parameteres* Jenis sumber daya `ManagedResources` digunakan sebagai kunci untuk nama target dalam templat eksperimen AWS FIS.

```
{
    "description": "aaa",
    "targets": {
        "ManagedResources-Target-1": {
            "resourceType": "aws:arc:zonal-shift-managed-resource",
            "resourceArns": [
                "arn:aws:elasticloadbalancing:us-east-1:0124567890:loadbalancer/app/application/11223312312516",
            ],
            "selectionMode": "ALL"
        }
    },
    "actions": {
        "arc": {
            "actionId": "aws:arc:start-zonal-autoshift",
            "parameters": {
                "availabilityZoneIdentifier": "us-east-1a",
                "duration": "PT1M"
            },
            "targets": {
               "ManagedResources": "ManagedResources-Target-1"
            }
        }
    },
    "stopConditions": [
        {
            "source": "none"
        }
    ],
    "roleArn": "arn:aws:iam::718579638765:role/fis",
    "tags": {},
    "experimentOptions": {
        "accountTargeting": "single-account",
        "emptyTargetResolutionMode": "fail"
    }
}
```