

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

# Mengotomatiskan tugas manajemen Anda dengan AWS OpsHub
<a name="automate-task"></a>

Anda dapat menggunakannya AWS OpsHub untuk mengotomatiskan tugas operasional yang sering Anda lakukan di Snowball Edge Anda. Anda dapat membuat tugas untuk tindakan berulang yang mungkin ingin Anda lakukan pada sumber daya, seperti memulai ulang server virtual, menghentikan instans yang EC2 kompatibel dengan Amazon, dan sebagainya. Anda menyediakan dokumen otomatisasi yang melakukan tugas operasional dengan aman dan menjalankan operasi pada AWS sumber daya secara massal. Anda juga dapat menjadwalkan alur kerja IT umum. 

**catatan**  
Mengotomatisasi tugas tidak didukung pada klaster.  
Untuk menggunakan tugas, layanan Amazon EC2 Systems Manager harus dimulai terlebih dahulu. Untuk informasi selengkapnya, lihat [Mengaktifkan Manajemen Perangkat Tepi Snowball di Tepi Bola Salju](https://docs.aws.amazon.com/snowball/latest/developer-guide/aws-sdm.html#enable-sdm).

**Topics**
+ [Membuat dan memulai tugas dengan AWS OpsHub](#create-task)
+ [Melihat detail tugas di AWS OpsHub](#view-task)
+ [Menghapus tugas di AWS OpsHub](#delete-task)

## Membuat dan memulai tugas dengan AWS OpsHub
<a name="create-task"></a>

Saat Anda membuat tugas, Anda menentukan jenis sumber daya yang harus dijalankan pada tugas, dan kemudian memberikan dokumen tugas yang berisi petunjuk yang menjalankan tugas. Dokumen tugas dalam format YAML atau JSON. Anda kemudian memberikan parameter yang diperlukan untuk tugas dan memulai tugas.

**Untuk membuat tugas**

1. Di bagian dasbor **Luncurkan tugas**, pilih **Mulai** untuk membuka halaman **Tugas**. Jika Anda telah membuat tugas, tugas tersebut muncul di **Tugas**. 

1. Pilih **Buat tugas** dan berikan rincian untuk tugas.

1. Untuk **Nama**, masukkan nama unik untuk tugas.
**Tip**  
Nama harus berkisar antara 3 sampai 128 karakter. Karakter yang sah adalah `a-z`, `A-Z`, `0-9`, `.`, `_`, dan `-`.

1. Secara opsional, Anda dapat memilih jenis target dari daftar **Jenis target opsional**. Ini adalah jenis sumber daya yang Anda ingin tugas jalankan. 

   Misalnya, Anda dapat menentukan **/AWS::EC2::Instance** tugas yang akan dijalankan pada instance yang EC2 kompatibel dengan Amazon atau **/** untuk dijalankan di semua jenis sumber daya. 

1. Di bagian **Daftar isi**, pilih **YAML** atau **JSON**, dan sediakan skrip yang melakukan tugas. Anda memiliki dua pilihan, format YAML atau JSON. Sebagai contoh, lihat [Contoh tugas di AWS OpsHub](#task-examples).

1. Pilih **Buat**. Tugas yang Anda buat kemudian muncul di halaman **Tugas**.

**Untuk memulai tugas**

1. Di bagian dasbor **Luncurkan tugas**, pilih **Mulai** untuk membuka halaman **Tugas**. Tugas Anda muncul di **Tugas**.

1. Pilih tugas Anda untuk membuka halaman **Mulai tugas**.

1. Pilih **Eksekusi sederhana** untuk menjalankan pada target. 

   Pilih **Kontrol rate** untuk menjalankan dengan aman pada beberapa target dan tentukan batas konkurensi dan kesalahan. Untuk pilihan ini, Anda memberikan informasi tambahan batas target dan kesalahan dalam bagian **Kontrol rate**. 

1. Berikan parameter input yang diperlukan, dan pilih **Mulai tugas**. 

   Status tugas adalah **Tertunda**, dan berubah menjadi **Sukses** ketika tugas telah berhasil dijalankan.

### Contoh tugas di AWS OpsHub
<a name="task-examples"></a>

Contoh berikut memulai ulang instance yang EC2 kompatibel dengan Amazon. Hal ini membutuhkan dua parameter input: `endpoint` dan `instance ID`. 

*Contoh YAMAL*

```
description: Restart EC2 instance
schemaVersion: '0.3'
parameters:
  Endpoint:
    type: String
    description: (Required) EC2 Service Endpoint URL
  Id:
    type: String
    description: (Required) Instance Id
mainSteps:
  - name: restartInstance
    action: aws:executeScript
    description: Restart EC2 instance step
    inputs:
      Runtime: python3.7
      Handler: restart_instance
      InputPayload:
        Endpoint: "{{ Endpoint }}"
        Id: "{{ Id }}"
      TimeoutSeconds: 30
      Script: |-
        import boto3
        import time
        def restart_instance(payload, context):
            ec2_endpoint = payload['Endpoint']
            instance_id = payload['Id']
            ec2 = boto3.resource('ec2', endpoint_url=ec2_endpoint)
            instance = ec2.Instance(instance_id)
            if instance.state['Name'] != 'stopped':
                instance.stop()
                instance.wait_until_stopped()
            instance.start()
            instance.wait_until_running()
            return {'InstanceState': instance.state}
```

*Contoh JSON*

```
{
  "description" : "Restart EC2 instance",
  "schemaVersion" : "0.3",
  "parameters" : {
    "Endpoint" : {
      "type" : "String",
      "description" : "(Required) EC2 Service Endpoint URL"
    },
    "Id" : {
      "type" : "String",
      "description" : "(Required) Instance Id"
    }
  },
  "mainSteps" : [ {
    "name" : "restartInstance",
    "action" : "aws:executeScript",
    "description" : "Restart EC2 instance step",
    "inputs" : {
      "Runtime" : "python3.7",
      "Handler" : "restart_instance",
      "InputPayload" : {
        "Endpoint" : "{{ Endpoint }}",
        "Id" : "{{ Id }}"
      },
      "TimeoutSeconds" : 30,
      "Script" : "import boto3\nimport time\ndef restart_instance(payload, context):\n    
            ec2_endpoint = payload['Endpoint']\n    instance_id = payload['Id']\n    
            ec2 = boto3.resource('ec2', endpoint_url=ec2_endpoint)\n    
            instance = ec2.Instance(instance_id)\n    
            if instance.state['Name'] != 'stopped':\n        
            instance.stop()\n        
            instance.wait_until_stopped()\n    
            instance.start()\n    
            instance.wait_until_running()\n    
            return {'InstanceState': instance.state}"
    }
  } ]
}
```

## Melihat detail tugas di AWS OpsHub
<a name="view-task"></a>

Anda dapat melihat rincian tugas manajemen, seperti deskripsi dan parameter yang diperlukan untuk menjalankan tugas.

**Untuk melihat rincian tugas**

1. Di bagian dasbor **Luncurkan tugas**, pilih **Mulai** untuk membuka halaman **Tugas**. 

1. Pada halaman **Tugas**, temukan dan pilih tugas yang ingin Anda lihat rinciannya.

1. Pilih **Lihat detail**, dan pilih salah satu tab untuk melihat detailnya. Misalnya, tab **Parameter** menunjukkan parameter input dalam skrip.

## Menghapus tugas di AWS OpsHub
<a name="delete-task"></a>

Ikuti langkah-langkah ini untuk menghapus tugas manajemen.

**Untuk menghapus tugas**

1. Di bagian dasbor **Luncurkan tugas**, pilih** Mulai** untuk membuka halaman **Tugas**. 

1. Temukan tugas yang ingin Anda hapus. Pilih tugas, dan kemudian pilih **Hapus**.