

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

# Menambahkan Sumber Daya Pihak Ketiga ke AWS Config
<a name="customresources-adding"></a>

Ikuti langkah-langkah ini untuk menambahkan sumber daya pihak ketiga AWS Config.

**Topics**
+ [

## Langkah 1: Siapkan Lingkungan Pengembangan Anda
](#customresources-setupdevenvironment)
+ [

## Langkah 2: Modelkan Sumber Daya Anda
](#customresources-modelresource)
+ [

## Langkah 3: Hasilkan Artefak
](#generateartifactsforcfnsubmit)
+ [

## Langkah 4: Daftarkan Sumber Daya Anda
](#customresources-registerresource)
+ [

## Langkah 5: Publikasikan Konfigurasi Sumber Daya
](#customresources-publishresourceconfiguration)

## Langkah 1: Siapkan Lingkungan Pengembangan Anda
<a name="customresources-setupdevenvironment"></a>

Instal dan konfigurasikan CloudFormation AWS CLI. AWS CLI Ini memungkinkan Anda untuk memodelkan dan mendaftarkan sumber daya khusus Anda. Untuk informasi selengkapnya, lihat [Sumber Daya Kustom](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) dan [Apa itu Antarmuka Baris CloudFormation Perintah?](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html) .

## Langkah 2: Modelkan Sumber Daya Anda
<a name="customresources-modelresource"></a>

Buat skema penyedia sumber daya yang sesuai dengan dan memvalidasi konfigurasi jenis sumber daya.

1. Gunakan `init` perintah untuk membuat proyek penyedia sumber daya Anda dan menghasilkan file yang dibutuhkannya.

   ```
   $ cfn init
   Initializing new project
   ```

1. `init`Perintah meluncurkan wizard yang memandu Anda melalui pengaturan proyek, termasuk menentukan nama sumber daya. Untuk panduan ini, tentukan. `MyCustomNamespace::Testing::WordPress`

   ```
   Enter resource type identifier (Organization::Service::Resource): MyCustomNamespace::Testing::WordPress
   ```

1. Masukkan nama paket untuk sumber daya Anda.

   ```
   Enter a package name (empty for default 'com.custom.testing.wordpress'): com.custom.testing.wordpress 
   Initialized a new project in /workplace/user/custom-testing-wordpress
   ```
**catatan**  
Untuk menjamin bahwa setiap dependensi proyek diselesaikan dengan benar, Anda dapat mengimpor proyek yang dihasilkan ke IDE Anda dengan dukungan Maven.  
Misalnya, jika Anda menggunakan IntelliJ IDEA, Anda perlu melakukan hal berikut:  
Dari menu **File**, pilih **New**, lalu pilih **Project From Existing Sources**.
Arahkan ke direktori proyek
Dalam kotak dialog **Impor Proyek**, pilih **Impor proyek dari model eksternal** dan kemudian pilih **Maven**.
Pilih **Berikutnya** dan terima default apa pun untuk menyelesaikan pengimporan proyek.

1. Buka `mycustomnamespace-testing-wordpress.json` file yang berisi skema untuk sumber daya Anda. Salin dan tempel skema berikut ke dalam`mycustomnamespace-testing-wordpress.json`.

   ```
   {
     "typeName": "MyCustomNamespace::Testing::WordPress",
     "description": "An example resource that creates a website based on WordPress 5.2.2.",
     "properties": {
       "Name": {
         "description": "A name associated with the website.",
         "type": "string",
         "pattern": "^[a-zA-Z0-9]{1,219}\\Z",
         "minLength": 1, "maxLength": 219
       },
       "SubnetId": {
         "description": "A subnet in which to host the website.",
         "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z",
         "type": "string"
       },
       "InstanceId": {
         "description": "The ID of the instance that backs the WordPress site.",
         "type": "string"
       },
       "PublicIp": {
         "description": "The public IP for the WordPress site.",
         "type": "string"
       }
     },
     "required": [ "Name", "SubnetId" ],
     "primaryIdentifier": [ "/properties/PublicIp", "/properties/InstanceId" ],
     "readOnlyProperties": [ "/properties/PublicIp", "/properties/InstanceId" ],
     "additionalProperties": false
   }
   ```

1. Validasi skema.

   ```
   $ cfn validate
   ```

1. Perbarui file yang dibuat secara otomatis dalam paket penyedia sumber daya untuk melihat pembaruan skema penyedia sumber daya. Setelah memulai proyek penyedia sumber daya, AWS CLI menghasilkan file pendukung dan kode untuk penyedia sumber daya. Regenerasi kode untuk melihat skema yang diperbarui.

   ```
   $ cfn generate
   ```
**catatan**  
Saat menggunakan Maven, sebagai bagian dari proses build, `generate` perintah dijalankan secara otomatis sebelum kode dikompilasi. Jadi perubahan Anda tidak akan pernah keluar dari sinkron dengan kode yang dihasilkan.  
Sadarilah CloudFormation CLI harus dalam Maven/the sistem lokasi dapat menemukan. Untuk informasi selengkapnya, lihat [Menyiapkan lingkungan untuk mengembangkan ekstensi](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html#resource-type-setup).

Untuk informasi selengkapnya tentang keseluruhan proses, lihat [Pemodelan Penyedia Sumber Daya untuk Digunakan di CloudFormation](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html).

## Langkah 3: Hasilkan Artefak
<a name="generateartifactsforcfnsubmit"></a>

Jalankan perintah berikut untuk menghasilkan artefak untuk`cfn submit`.

```
$ mvn package
```

## Langkah 4: Daftarkan Sumber Daya Anda
<a name="customresources-registerresource"></a>

AWS Config tidak memerlukan penangan penyedia sumber daya untuk melakukan pelacakan konfigurasi untuk sumber daya Anda. Jalankan perintah berikut untuk mendaftarkan sumber daya Anda.

```
$ cfn submit
```

Untuk informasi selengkapnya, lihat [Mendaftarkan Penyedia Sumber Daya untuk Digunakan di CloudFormation Templat](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-register.html).

## Langkah 5: Publikasikan Konfigurasi Sumber Daya
<a name="customresources-publishresourceconfiguration"></a>

Tentukan konfigurasi untuk MyCustomNamespace: :Testing::WordPress.

```
{
  "Name": "MyWordPressSite",
  "SubnetId": "subnet-abcd0123",
  "InstanceId": "i-01234567",
  "PublicIp": "my-wordpress-site.com"
}
```

Tentukan id versi skema dari CloudFormation `DescribeType`. 

Di AWS Config, Anda dapat melihat apakah konfigurasi sumber daya ini diterima. Untuk mengevaluasi kepatuhan, Anda dapat menulis AWS Config aturan menggunakan sumber daya ini.

(Opsional) Untuk mengotomatiskan perekaman konfigurasi, terapkan kolektor konfigurasi periodik atau berbasis perubahan.