

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

# Variabel lingkungan dan pengaturan perangkat lunak lainnya
<a name="environments-cfg-softwaresettings"></a>

Halaman **konfigurasi konfigurasi pembaruan, pemantauan, dan pencatatan** memungkinkan Anda mengonfigurasi perangkat lunak pada instans Amazon Elastic Compute Cloud (Amazon EC2) yang menjalankan aplikasi Anda. Anda dapat mengonfigurasi variabel lingkungan, AWS X-Ray debugging, penyimpanan dan streaming log instance, dan pengaturan khusus platform.

**Topics**
+ [Mengonfigurasi pengaturan spesifik platform](#environments-cfg-softwaresettings-specific)
+ [Mengkonfigurasi properti lingkungan (variabel lingkungan)](#environments-cfg-softwaresettings-console)
+ [Namespace pengaturan perangkat lunak](#environments-cfg-softwaresettings-configfiles)
+ [Mengakses properti lingkungan](#environments-cfg-softwaresettings-accessing)
+ [Mengkonfigurasi debugging AWS X-Ray](environment-configuration-debugging.md)
+ [Melihat log lingkungan Elastic Beanstalk Anda](environments-cfg-logging.md)

## Mengonfigurasi pengaturan spesifik platform
<a name="environments-cfg-softwaresettings-specific"></a>

Selain serangkaian opsi standar yang tersedia untuk semua lingkungan, sebagian besar platform Elastic Beanstalk memungkinkan Anda menentukan pengaturan khusus bahasa atau kerangka kerja. Ini muncul di bagian **perangkat lunak Platform** pada halaman **Konfigurasi pembaruan, pemantauan, dan pencatatan**, dan dapat mengambil formulir berikut.
+ **Properti lingkungan yang telah ditetapkan** — platform Ruby menggunakan properti lingkungan untuk pengaturan kerangka kerja, seperti `RACK_ENV` dan `BUNDLE_WITHOUT`.
+ **Properti lingkungan placeholder** — platform Tomcat menetapkan properti lingkungan bernama `JDBC_CONNECTION_STRING` yang tidak diatur ke nilai apa pun. Jenis pengaturan ini lebih umum pada versi platform yang lebih lama.
+ **Opsi konfigurasi** — Sebagian besar platform menetapkan [opsi konfigurasi](command-options.md) di namespace spesifik platform atau bersama, seperti `aws:elasticbeanstalk:xray` atau `aws:elasticbeanstalk:container:python`.

**Untuk mengonfigurasi pengaturan spesifik platform di konsol Elastic Beanstalk**

1. **Buka konsol [Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk.** Wilayah AWS

1. Di panel navigasi, pilih **Lingkungan**, dan kemudian pilih nama lingkungan Anda dari daftar.

1. Pada panel navigasi, pilih **Konfigurasi**.

1. Dalam kategori konfigurasi **Pembaruan, pemantauan, dan pencatatan**, pilih **Edit**.

1. Di bawah **perangkat lunak Platform**, buat perubahan pengaturan opsi yang diperlukan.

1. Untuk menyimpan perubahan pilih **Terapkan** di bagian bawah halaman.

Untuk informasi tentang opsi spesifik platform, dan tentang mendapatkan nilai properti lingkungan pada kode Anda, lihat topik platform untuk bahasa atau kerangka kerja Anda:
+ Docker — [Mengkonfigurasi lingkungan Elastic Beanstalk Docker](create_deploy_docker.container.console.md)
+ Go — [Menggunakan platform Go Elastic Beanstalk](go-environment.md)
+ Java SE — [Menggunakan platform Java SE Elastic Beanstalk](java-se-platform.md)
+ Tomcat — [Menggunakan platform Elastic Beanstalk Tomcat](java-tomcat-platform.md)
+ .NET Core on Linux — [Menggunakan inti Elastic Beanstalk .NET pada platform Linux](dotnet-linux-platform.md)
+ .NET – [Menggunakan platform Elastic Beanstalk .NET Windows](create_deploy_NET.container.console.md)
+ Node.js – [Menggunakan platform Node.js Elastic Beanstalk](create_deploy_nodejs.container.md)
+ PHP — [Menggunakan platform PHP Elastic Beanstalk](create_deploy_PHP.container.md)
+ Python – [Menggunakan platform Python Elastic Beanstalk](create-deploy-python-container.md)
+ Ruby – [Menggunakan platform Ruby Elastic Beanstalk](create_deploy_Ruby.container.md)

## Mengkonfigurasi properti lingkungan (variabel lingkungan)
<a name="environments-cfg-softwaresettings-console"></a>

Anda dapat menggunakan **properti lingkungan**, (juga dikenal sebagai **variabel lingkungan**), untuk meneruskan titik akhir, pengaturan debug, dan informasi lainnya ke aplikasi Anda. Variabel lingkungan membantu Anda menjalankan aplikasi di beberapa lingkungan untuk tujuan yang berbeda, seperti pengembangan, pengujian, pementasan, dan produksi.

Selain itu, ketika Anda [menambahkan database ke lingkungan Anda](using-features.managing.db.md), Elastic Beanstalk menetapkan variabel lingkungan, `RDS_HOSTNAME` seperti, yang dapat Anda baca dalam kode aplikasi Anda untuk membangun objek koneksi atau string.

**Untuk mengonfigurasi variabel lingkungan di konsol Elastic Beanstalk**

1. **Buka konsol [Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk.** Wilayah AWS

1. Di panel navigasi, pilih **Lingkungan**, dan kemudian pilih nama lingkungan Anda dari daftar.

1. Pada panel navigasi, pilih **Konfigurasi**.

1. Dalam kategori konfigurasi **Pembaruan, pemantauan, dan pencatatan**, pilih **Edit**.

1. Gulir ke bawah ke **variabel lingkungan Runtime**.

1. Pilih **Tambahkan variabel lingkungan**.

1. Untuk **Sumber** pilih **Teks biasa**.
**catatan**  
Nilai **Secrets Manager** dan **SSM Parameter Store** di drop-down adalah untuk mengonfigurasi variabel lingkungan sebagai rahasia untuk menyimpan data sensitif, seperti kredensial dan kunci API. Untuk informasi selengkapnya, lihat [Menggunakan Elastic Beanstalk dengan dan AWS Secrets Manager Parameter Store AWS Systems Manager](AWSHowTo.secrets.md). 

1. Masukkan **nama variabel Lingkungan** **dan pasangan nilai variabel Lingkungan**.

1. Jika Anda perlu menambahkan lebih banyak variabel ulangi **Langkah 6 hingga** **Langkah 8**.

1. Untuk menyimpan perubahan pilih **Terapkan** di bagian bawah halaman.

**Batas properti lingkungan**
+ **Kunci** dapat berisi karakter alfanumerik dan simbol-simbol berikut: `_ . : / + \ - @`

  Simbol yang tercantum berlaku untuk kunci properti lingkungan, tetapi mungkin tidak valid untuk nama variabel lingkungan pada platform lingkungan Anda. Untuk kompatibilitas dengan semua platform, batasi properti lingkungan untuk pola berikut: `[A-Z_][A-Z0-9_]*`
+ **Nilai** dapat berisi karakter alfanumerik, spasi, dan simbol-simbol berikut: `_ . : / = + \ - @ ' "`
**catatan**  
Beberapa karakter dalam nilai properti lingkungan harus diloloskan. Gunakan karakter garis miring terbalik (`\`) untuk mewakili beberapa karakter khusus dan karakter kontrol. Daftar berikut mencakup contoh untuk mewakili beberapa karakter yang perlu diloloskan:  
backslash (`\`) - untuk mewakili penggunaan `\\`
kutipan tunggal (`'`) - untuk mewakili penggunaan `\'`
kutipan ganda (`"`) — untuk mewakili penggunaan `\"`
+ **Kunci** dan **nilai** peka huruf besar dan kecil.
+ Ukuran gabungan dari semua properti lingkungan tidak dapat melebihi 4.096 byte saat disimpan sebagai string dengan format =. {{key}} {{value}}

## Namespace pengaturan perangkat lunak
<a name="environments-cfg-softwaresettings-configfiles"></a>

Anda dapat menggunakan [file konfigurasi](ebextensions.md) untuk menetapkan opsi konfigurasi dan melakukan tugas konfigurasi instans lain selama penerapan. Opsi konfigurasi dapat berupa [platform khusus](command-options-specific.md) atau berlaku untuk [semua platform di layanan](command-options-general.md) Elastic Beanstalk secara keseluruhan. Opsi konfigurasi diatur ke dalam *ruang nama*.

Anda bisa menggunakan [file konfigurasi](ebextensions.md) Elastic Beanstalk untuk menetapkan properti lingkungan dan opsi konfigurasi dalam kode sumber Anda. Gunakan [`aws:elasticbeanstalk:application:environment` namespace](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment) untuk menentukan properti lingkungan.

**Example .ebextensions/options.config**  

```
option_settings:
  aws:elasticbeanstalk:application:environment:
    API_ENDPOINT: www.example.com/api
```

Jika Anda menggunakan file konfigurasi atau CloudFormation templat untuk membuat [sumber daya khusus](environment-resources.md), Anda dapat menggunakan CloudFormation fungsi untuk mendapatkan informasi tentang sumber daya dan menetapkannya ke properti lingkungan secara dinamis selama penerapan. Contoh berikut dari [elastic-beanstalk-samples](https://github.com/awsdocs/elastic-beanstalk-samples/) GitHub repositori menggunakan [fungsi Ref](ebextensions-functions.md) untuk mendapatkan ARN dari topik Amazon SNS yang dibuatnya, dan menetapkannya ke properti lingkungan bernama. `NOTIFICATION_TOPIC`

**Catatan**  
Jika Anda menggunakan CloudFormation fungsi untuk menentukan properti lingkungan, konsol Elastic Beanstalk menampilkan nilai properti sebelum fungsi dievaluasi. Anda dapat menggunakan [`get-config` skrip platform](custom-platforms-scripts.md) untuk mengonfirmasi nilai properti lingkungan yang tersedia untuk aplikasi Anda. 
Platform [Multicontainer Docker](create_deploy_docker_ecs.md) tidak digunakan CloudFormation untuk membuat sumber daya kontainer. Akibatnya, platform ini tidak mendukung mendefinisikan properti lingkungan menggunakan CloudFormation fungsi.

**Example .Ebextensions/[sns-topic.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/resource-configuration/sns-topic.config)**  

```
Resources:
  NotificationTopic:
    Type: AWS::SNS::Topic

option_settings:
  aws:elasticbeanstalk:application:environment:
    NOTIFICATION_TOPIC: '`{"Ref" : "NotificationTopic"}`'
```

Anda juga dapat menggunakan fitur ini untuk menyebarkan informasi dari [parameter pseudo CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html). Contoh ini mendapat wilayah saat ini dan menetapkannya ke properti bernama `AWS_REGION`.

**Example .Ebextensions/[idv-regionname.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/env-regionname.config)**  

```
option_settings:
  aws:elasticbeanstalk:application:environment:
    AWS_REGION: '`{"Ref" : "AWS::Region"}`'
```

Sebagian besar platform Elastic Beanstalk menentukan namespace tambahan dengan opsi untuk mengonfigurasi perangkat lunak yang berjalan pada instans, seperti proksi terbalik yang menyampaikan permintaan untuk aplikasi Anda. Untuk informasi selengkapnya tentang namespace yang tersedia untuk platform Anda, lihat berikut ini:
+ Pergi — [Namespace konfigurasi Go](go-environment.md#go-namespaces)
+ Java SE — [Namespace konfigurasi Java SE](java-se-platform.md#java-se-namespaces)
+ Tomcat — [Namespace konfigurasi Tomcat](java-tomcat-platform.md#java-tomcat-namespaces)
+ .NET Core on Linux — [.NET Core di namespace konfigurasi Linux](dotnet-linux-platform.md#dotnet-linux-namespace)
+ .NET – [Namespace aws:elasticbeanstalk:container:dotnet:apppool](create_deploy_NET.container.console.md#dotnet-namespaces)
+ Node.js – [Node.jskonfigurasi namespace](create_deploy_nodejs.container.md#nodejs-namespaces)
+ PHP — [Ruang nama untuk konfigurasi](create_deploy_PHP.container.md#php-namespaces)
+ Python – [Namespace konfigurasi Python](create-deploy-python-container.md#python-namespaces)
+ Ruby – [Namespace konfigurasi Ruby](create_deploy_Ruby.container.md#ruby-namespaces)

Elastic Beanstalk memberikan banyak opsi konfigurasi untuk menyesuaikan lingkungan Anda. Selain file konfigurasi, Anda juga dapat mengatur opsi konfigurasi menggunakan konsol tersebut, konfigurasi tersimpan, EB CLI, atau AWS CLI. Lihat [Opsi konfigurasi](command-options.md) untuk informasi selengkapnya.

## Mengakses properti lingkungan
<a name="environments-cfg-softwaresettings-accessing"></a>

Pada sebagian besar kasus, Anda mengakses properti lingkungan dalam kode aplikasi Anda seperti variabel lingkungan. Secara umum, bagaimanapun, properti lingkungan diteruskan hanya ke aplikasi dan tidak dapat dilihat dengan menghubungkan sebuah instans di lingkungan Anda dan menjalankan `env`.
+ [Go](go-environment.md#go-options-properties) — `os.Getenv`

  ```
  endpoint := os.Getenv("API_ENDPOINT")
  ```
+ [Java SE](java-se-platform.md#java-se-options-properties) — `System.getenv`

  ```
  String endpoint = System.getenv("API_ENDPOINT");
  ```
+ [Tomcat](java-tomcat-platform.md#java-tomcat-options-properties) — `System.getProperty` dan `System.getenv` 

  Versi platform Tomcat yang dirilis pada atau setelah [26 Maret 2025,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2025-03-26-windows.html) juga dapat digunakan `System.getenv` untuk mengakses variabel lingkungan teks biasa. Anda dapat terus menggunakan `System.getProperty` untuk mengakses variabel lingkungan plaintext. Namun, [variabel lingkungan yang disimpan sebagai rahasia](AWSHowTo.secrets.env-vars.md) hanya tersedia menggunakan`System.getenv`.

  ```
  String endpoint = System.getProperty("API_ENDPOINT");
  ```

  ```
  String endpoint = System.getenv("API_ENDPOINT");
  ```
**penting**  
Penambahan `System.getenv` akses untuk variabel lingkungan dalam versi platform Tomcat yang dirilis pada atau setelah [26 Maret 2025](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2025-03-26-windows.html) dapat menyebabkan perilaku tak terduga dalam aplikasi yang memberikan prioritas variabel lingkungan daripada properti sistem Java atau ketika secara eksplisit beralih dari ke. `System.getProperty` `System.getenv` Untuk informasi lebih lanjut dan tindakan yang disarankan, lihat [Menggunakan platform Elastic Beanstalk Tomcat](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html).
+ [.NET Core di Linux](dotnet-linux-platform.md#dotnet-linux-options-properties) — `Environment.GetEnvironmentVariable`

  ```
  string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");
  ```
+ [.NET](create_deploy_NET.container.console.md#dotnet-console-properties) – `appConfig`

  ```
  NameValueCollection appConfig = ConfigurationManager.AppSettings;
  string endpoint = appConfig["API_ENDPOINT"];
  ```
+ [Node.js](create_deploy_nodejs.container.md#nodejs-platform-console-envprops) – `process.env`

  ```
  var endpoint = process.env.API_ENDPOINT
  ```
+ [PHP](create_deploy_PHP.container.md#php-console-properties) — `$_SERVER`

  ```
  $endpoint = $_SERVER['API_ENDPOINT'];
  ```
+ [Python](create-deploy-python-container.md#create-deploy-python-custom-container-envprop) – `os.environ`

  ```
  import os
  endpoint = os.environ['API_ENDPOINT']
  ```
+ [Ruby](create_deploy_Ruby.container.md#create_deploy_Ruby.env.console.ruby.envprops) – `ENV`

  ```
  endpoint = ENV['API_ENDPOINT']
  ```

Di luar kode aplikasi, seperti dalam skrip yang berjalan selama deployment, Anda dapat mengakses properti lingkungan dengan [skrip platform `get-config`](custom-platforms-scripts.md). Lihat [elastic-beanstalk-samples](https://github.com/awsdocs/elastic-beanstalk-samples/search?utf8=%E2%9C%93&q=get-config) GitHub repositori misalnya konfigurasi yang menggunakan. `get-config`