Properti lingkungan dan pengaturan perangkat lunak lainnya - AWS Elastic Beanstalk

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

Properti lingkungan dan pengaturan perangkat lunak lainnya

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

Mengonfigurasi pengaturan spesifik platform

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 Konfigurasikan pembaruan, pemantauan, dan pencatatan log, 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 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 dalam daftar Regions, pilih Anda. Wilayah AWS

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

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Di panel navigasi, pilih Konfigurasi.

  4. Dalam kategori Pembaruan, pemantauan, dan konfigurasi logging, pilih Edit.

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

  6. 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:

Mengkonfigurasi properti lingkungan (variabel lingkungan)

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

Selain itu, ketika Anda menambahkan basis data ke lingkungan Anda, Elastic Beanstalk menetapkan properti lingkungan, seperti RDS_HOSTNAME, yang bisa Anda membaca pada kode aplikasi Anda untuk membangun objek koneksi atau string.

Variabel lingkungan

Pada sebagian besar kasus, properti lingkungan diteruskan ke aplikasi Anda sebagai variabel lingkungan, tetapi perilakunya tergantung platform. Misalnya, platform Java SE menetapkan variabel lingkungan yang Anda ambil System.getenv, sementara platform Tomcat menetapkan properti sistem Java yang Anda ambil dengan System.getProperty. Secara umum, properti tidak terlihat jika Anda terhubung ke instans dan menjalankan env.

Untuk mengonfigurasi properti lingkungan di konsol Elastic Beanstalk
  1. Buka konsol Elastic Beanstalk, dan dalam daftar Regions, pilih Anda. Wilayah AWS

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

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Di panel navigasi, pilih Konfigurasi.

  4. Dalam kategori Pembaruan, pemantauan, dan konfigurasi logging, pilih Edit.

  5. Gulir ke bawah ke properti Lingkungan.

  6. Pilih Tambahkan properti lingkungan.

  7. Masukkan properti Nama dan Nilai pasangan.

  8. Jika Anda perlu menambahkan lebih banyak variabel ulangi Langkah 6 dan Langkah 7.

  9. 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 lolos. Gunakan karakter backslash (\) untuk mewakili beberapa karakter khusus dan karakter kontrol. Daftar berikut ini 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 boleh melebihi 4,096 byte ketika disimpan sebagai string dengan format kunci=nilai.

Namespace pengaturan perangkat lunak

Anda dapat menggunakan file konfigurasi untuk menetapkan opsi konfigurasi dan melakukan tugas konfigurasi instans lain selama penerapan. Opsi konfigurasi dapat ditentukan oleh layanan Elastic Beanstalk atau platform yang Anda gunakan dan diatur dalam namespace.

Anda bisa menggunakan file konfigurasi Elastic Beanstalk untuk menetapkan properti lingkungan dan opsi konfigurasi dalam kode sumber Anda. Gunakan aws:elasticbeanstalk:application:environment namespace untuk menentukan properti lingkungan.

contoh .ebextensions/options.config
option_settings: aws:elasticbeanstalk:application:environment: API_ENDPOINT: www.example.com/api

Jika Anda menggunakan file konfigurasi atau templat AWS CloudFormation untuk membuat sumber daya khusus, Anda dapat menggunakan fungsi AWS CloudFormation untuk mendapatkan informasi tentang sumber daya dan menetapkannya ke properti lingkungan dinamis selama deployment. Contoh berikut dari elastic-beanstalk-samplesGitHubrepositori menggunakan fungsi Ref untuk mendapatkan ARN dari topik Amazon SNS yang dibuatnya, dan menetapkannya ke properti lingkungan bernama. NOTIFICATION_TOPIC

Catatan
  • Jika Anda menggunakan fungsi AWS CloudFormation untuk menentukan properti lingkungan, konsol Elastic Beanstalk menampilkan nilai properti sebelum fungsi dievaluasi. Anda dapat menggunakan get-config skrip platform untuk mengonfirmasi nilai properti lingkungan yang tersedia untuk aplikasi Anda.

  • Platform Docker Multikontainer tidak menggunakan AWS CloudFormation untuk membuat sumber daya kontainer. Akibatnya, platform ini tidak mendukung penentuan properti lingkungan menggunakan fungsi AWS CloudFormation.

contoh .Ebextensions/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 AWS CloudFormation. Contoh ini mendapat wilayah saat ini dan menetapkannya ke properti bernama AWS_REGION.

contoh .Ebextensions/idv-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:

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 untuk informasi selengkapnya.

Mengakses properti lingkungan

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.

  • Goos.Getenv

    endpoint := os.Getenv("API_ENDPOINT")
  • Java SESystem.getenv

    String endpoint = System.getenv("API_ENDPOINT");
  • TomcatSystem.getProperty

    String endpoint = System.getProperty("API_ENDPOINT");
  • .NET Core di LinuxEnvironment.GetEnvironmentVariable

    string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");
  • .NETappConfig

    NameValueCollection appConfig = ConfigurationManager.AppSettings; string endpoint = appConfig["API_ENDPOINT"];
  • Node.jsprocess.env

    var endpoint = process.env.API_ENDPOINT
  • PHP$_SERVER

    $endpoint = $_SERVER['API_ENDPOINT'];
  • Pythonos.environ

    import os endpoint = os.environ['API_ENDPOINT']
  • RubyENV

    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. Lihat elastic-beanstalk-samplesGitHubrepositori misalnya konfigurasi yang digunakan. get-config