

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

# Menggunakan Infrastructure Composer dengan Amazon Relational Database Service (Amazon RDS)
<a name="using-composer-services-rds"></a>

AWS Infrastructure Composer fitur integrasi dengan Amazon Relational Database Service (Amazon RDS). Menggunakan kartu komponen yang disempurnakan **RDS Database (Eksternal)** di Infrastructure Composer, Anda dapat menghubungkan aplikasi Anda ke DB cluster, instance, dan proxy Amazon RDS yang ditentukan pada template lain atau (). CloudFormation AWS Serverless Application Model AWS SAM

Kartu komponen yang disempurnakan **RDS Database (Eksternal)** mewakili sumber daya Amazon RDS yang ditentukan pada template lain. Hal ini mencakup:
+ Amazon RDS DB cluster atau instance yang didefinisikan pada template lain
+ Proksi Amazon RDS DB

Kartu komponen yang disempurnakan **RDS Database (Eksternal)** tersedia dari palet **Resources**.

![Kartu komponen yang ditingkatkan basis data Amazon RDS (eksternal).](http://docs.aws.amazon.com/id_id/infrastructure-composer/latest/dg/images/aac_use_rds_01.png)


Untuk menggunakan kartu ini, seret ke kanvas Infrastructure Composer, konfigurasikan, dan hubungkan ke sumber daya lain.

Anda dapat menghubungkan aplikasi Anda ke DB cluster Amazon RDS eksternal atau instance melalui fungsi Lambda.

## Persyaratan
<a name="using-composer-services-rds-requirements"></a>

Untuk menggunakan fitur ini, Anda harus memenuhi persyaratan berikut:

1. DBKluster, instans, atau proxy Amazon RDS eksternal Anda harus digunakan AWS Secrets Manager untuk mengelola kata sandi pengguna. Untuk mempelajari selengkapnya, lihat [Manajemen kata sandi dengan Amazon RDS dan AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) di *Panduan Pengguna Amazon RDS*.

1. Aplikasi Anda di Infrastructure Composer harus merupakan proyek baru atau harus awalnya dibuat di Infrastructure Composer.

## Prosedur
<a name="using-composer-services-rds-connect"></a>

### Langkah 1: Konfigurasikan kartu RDS Database eksternal
<a name="using-composer-services-rds-connect-step1"></a>

Dari palet **Resources**, seret kartu komponen yang disempurnakan **RDS Database (eksternal)** ke kanvas. 

Pilih kartu dan pilih **Detail** atau klik dua kali pada kartu untuk membuka panel **Resource properties**. Panel properti sumber daya kartu akan muncul:

![Panel properti sumber daya dari kartu komponen yang ditingkatkan RDS Database (eksternal).](http://docs.aws.amazon.com/id_id/infrastructure-composer/latest/dg/images/aac_use_rds_03.png)


Anda dapat mengonfigurasi yang berikut ini di sini:
+ **Logical ID** — Nama unik untuk DB klaster, instans, atau proxy Amazon RDS eksternal Anda. ID ini tidak harus cocok dengan nilai ID logis DB sumber daya Amazon RDS eksternal Anda.
+ **Rahasia basis data** — Pengidentifikasi AWS Secrets Manager rahasia yang terkait dengan DB cluster, instans, atau proxy Amazon RDS Anda. Bidang ini menerima nilai-nilai berikut:
  + **Nilai statis** — Pengidentifikasi unik dari rahasia database, seperti ARN rahasia. Berikut ini adalah contohnya:`arn:aws:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c`. Untuk informasi selengkapnya, lihat [AWS Secrets Manager konsep](https://docs.aws.amazon.com/secretsmanager/latest/userguide/getting-started.html) di *Panduan AWS Secrets Manager Pengguna*.
  + **Nilai keluaran** — Ketika rahasia Secrets Manager dikerahkan ke AWS CloudFormation, nilai output dibuat. Anda dapat menentukan nilai output di sini menggunakan fungsi `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)` intrinsik. Misalnya, `!ImportValue MySecret`.
  + **Nilai dari Penyimpanan Parameter SSM** — Anda dapat menyimpan rahasia Anda di Penyimpanan Parameter SSM dan menentukan nilainya menggunakan referensi dinamis. Misalnya, `{{resolve:ssm:MySecret}}`. Untuk informasi selengkapnya, lihat [parameter SSM](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-ssm) di *Panduan AWS CloudFormation Pengguna*.
+ **Nama host database — Nama** host yang dapat digunakan untuk terhubung ke DB cluster, instance, atau proxy Amazon RDS Anda. Nilai ini ditentukan dalam template eksternal yang mendefinisikan sumber daya Amazon RDS Anda. Nilai-nilai berikut diterima:
  + **Nilai statis** — Pengidentifikasi unik dari nama host database, seperti alamat titik akhir. Berikut ini adalah contohnya:`mystack-mydb-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com`.
  + **Nilai keluaran — Nilai** keluaran DB kluster, instans, atau proxy Amazon RDS yang digunakan. Anda dapat menentukan nilai output menggunakan fungsi `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)` intrinsik. Misalnya, `!ImportValue myStack-myDatabase-abcd1234`.
  + **Nilai dari Penyimpanan Parameter SSM** - Anda dapat menyimpan nama host database di Penyimpanan Parameter SSM dan menentukan nilainya menggunakan referensi dinamis. Misalnya, `{{resolve:ssm:MyDatabase}}`.
+ **Port database** — Nomor port yang dapat digunakan untuk terhubung ke DB cluster, instans, atau proxy Amazon RDS Anda. Nilai ini ditentukan dalam template eksternal yang mendefinisikan sumber daya Amazon RDS Anda. Nilai-nilai berikut diterima:
  + **Nilai statis** — Port database. Misalnya, `3306`.
  + **Nilai keluaran — Nilai** keluaran DB kluster, instans, atau proxy Amazon RDS yang digunakan. Misalnya, `!ImportValue myStack-MyRDSInstancePort`.
  + **Nilai dari Penyimpanan Parameter SSM** - Anda dapat menyimpan nama host database di Penyimpanan Parameter SSM dan menentukan nilainya menggunakan referensi dinamis. Misalnya, `{{resolve:ssm:MyRDSInstancePort}}`.

**catatan**  
Hanya nilai ID logis yang harus dikonfigurasi di sini. Anda dapat mengonfigurasi properti lain pada waktu penerapan jika Anda mau.

### Langkah 2: Hubungkan kartu Fungsi Lambda
<a name="using-composer-services-rds-connect-step2"></a>

Dari palet **Resources**, seret kartu komponen yang disempurnakan **Fungsi Lambda** ke kanvas.

Hubungkan port kiri kartu **Fungsi Lambda** ke port kanan kartu **RDS Database (eksternal)**.

![Kartu Fungsi Lambda yang terhubung ke kartu komponen yang ditingkatkan RDS Database (eksternal).](http://docs.aws.amazon.com/id_id/infrastructure-composer/latest/dg/images/aac_use_rds_02.png)


Infrastructure Composer akan menyediakan template Anda untuk memfasilitasi koneksi ini.

## Apa yang dilakukan Infrastructure Composer untuk membuat koneksi Anda
<a name="using-composer-services-rds-ref-how"></a>

Ketika Anda menyelesaikan prosedur yang tercantum di atas, Infrastructure Composer melakukan tindakan spesifik untuk menghubungkan fungsi Lambda Anda ke database Anda.

### Saat menentukan DB cluster, instance, atau proxy Amazon RDS eksternal
<a name="using-composer-services-rds-ref-how-specify"></a>

Saat Anda menyeret kartu **RDS Database (eksternal)** ke kanvas, Infrastructure Composer memperbarui `Metadata` dan `Parameters` bagian template Anda sesuai kebutuhan. Berikut ini adalah contohnya:

```
Metadata:
  AWS::Composer::ExternalResources:
    ExternalRDS:
      Type: externalRDS
      Settings:
        Port: !Ref ExternalRDSPort
        Hostname: !Ref ExternalRDSHostname
        SecretArn: !Ref ExternalRDSSecretArn
Parameters:
  ExternalRDSPort:
    Type: Number
  ExternalRDSHostname:
    Type: String
  ExternalRDSSecretArn:
    Type: String
```

[Metadata](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html) adalah bagian CloudFormation template yang digunakan untuk menyimpan detail tentang template Anda. Metadata yang khusus untuk Infrastructure Composer disimpan di bawah kunci metadata. `AWS::Composer::ExternalResources` Di sini, Infrastructure Composer menyimpan nilai yang Anda tentukan untuk DB klaster, instance, atau proxy Amazon RDS Anda.

Bagian [Parameter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) CloudFormation template digunakan untuk menyimpan nilai kustom yang dapat disisipkan di seluruh template Anda saat penerapan. Bergantung pada jenis nilai yang Anda berikan, Infrastructure Composer dapat menyimpan nilai di sini untuk DB klaster, instance, atau proxy Amazon RDS Anda dan menentukannya di seluruh template Anda.

Nilai string di `Parameters` bagian `Metadata` dan menggunakan nilai ID logis yang Anda tentukan pada kartu **RDS Database (eksternal)** Anda. Jika Anda memperbarui ID logis, nilai string akan berubah.

### Saat menghubungkan fungsi Lambda ke database Anda
<a name="using-composer-services-rds-ref-how-connecting"></a>

Saat Anda menghubungkan kartu **Fungsi Lambda** ke kartu **RDS Database (eksternal)**, Infrastructure Composer menyediakan variabel lingkungan dan kebijakan AWS Identity and Access Management (IAM). Berikut ini adalah contohnya:

```
Resources:
  Function:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Environment:
        Variables:
          EXTERNALRDS_PORT: !Ref ExternalRDSPort
          EXTERNALRDS_HOSTNAME: !Ref ExternalRDSHostname
          EXTERNALRDS_SECRETARN: !Ref ExternalRDSSecretArn
      Policies:
        - AWSSecretsManagerGetSecretValuePolicy:
            SecretArn: !Ref ExternalRDSSecretArn
```

Variabel [lingkungan](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-environment) adalah variabel yang dapat digunakan oleh fungsi Anda saat runtime. Untuk mempelajari selengkapnya, lihat [Menggunakan variabel lingkungan Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) di Panduan *AWS Lambda Pengembang*.

[Kebijakan](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-policies) menyediakan izin untuk fungsi Anda. Di sini, Infrastructure Composer membuat kebijakan untuk mengizinkan akses baca dari fungsi Anda ke Secrets Manager untuk mendapatkan kata sandi Anda untuk akses ke DB klaster, instans, atau proxy Amazon RDS.