Mengelola variabel lingkungan Anda - AWS App Runner

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

Mengelola variabel lingkungan Anda

Mengelola variabel lingkungan untuk layanan App Runner Anda dengan menggunakan salah satu metode berikut:

Konsol Pelari Aplikasi

Saat membuat layanan atau memperbarui layanan di konsol App Runner, Anda dapat menambahkan variabel lingkungan.

Menambahkan variabel lingkungan

Untuk menambahkan variabel lingkungan
  1. Buka konsol App Runner, dan di daftar Wilayah, pilih konsol Anda Wilayah AWS.

  2. Berdasarkan apakah Anda membuat atau memperbarui layanan, lakukan salah satu langkah berikut:

    • Jika Anda membuat layanan baru, pilih Buat layanan Pelari Aplikasi dan buka Konfigurasi Layanan.

    • Jika Anda memperbarui layanan yang ada, pilih layanan yang ingin Anda perbarui dan buka tab Konfigurasi layanan.

  3. Pergi ke variabel Lingkungan - opsional di bawah Pengaturan layanan.

  4. Pilih salah satu opsi berikut berdasarkan kebutuhan Anda:

    • Pilih Teks Biasa dari sumber variabel Lingkungan dan masukkan pasangan nilai kunci-nya di bawah nama variabel Lingkungan dan nilai variabel Lingkungan, masing-masing.

      catatan

      Pilih Teks Biasa jika Anda ingin mereferensikan data yang tidak sensitif. Data ini tidak dienkripsi dan dapat dilihat oleh orang lain dalam konfigurasi layanan App Runner dan log aplikasi.

    • Pilih Secrets Manager dari sumber variabel Lingkungan untuk mereferensikan rahasia yang disimpan AWS Secrets Manager sebagai variabel lingkungan dalam layanan Anda. Berikan nama variabel lingkungan dan Amazon Resource Name (ARN) dari rahasia yang Anda referensikan di bawah Environment variable name dan Environment variable value masing-masing.

    • Pilih Penyimpanan Parameter SSM dari sumber variabel Lingkungan untuk mereferensikan parameter yang disimpan di Penyimpanan Parameter SSM sebagai variabel lingkungan dalam layanan Anda. Berikan nama variabel lingkungan dan ARN dari parameter yang Anda referensikan di bawah nama variabel Lingkungan dan nilai variabel Lingkungan masing-masing.

      catatan
      • Anda tidak dapat menetapkan PORT sebagai nama untuk variabel lingkungan saat membuat atau memperbarui layanan App Runner Anda. Ini adalah variabel lingkungan yang dicadangkan untuk layanan App Runner.

      • Jika parameter Penyimpanan Parameter SSM Wilayah AWS sama dengan layanan yang ingin Anda luncurkan, Anda dapat menentukan Nama Sumber Daya Amazon (ARN) lengkap atau nama parameter. Jika parameter berada di wilayah yang berbeda, Anda perlu menentukan ARN lengkap.

      • Pastikan parameter yang Anda referensikan berada di akun yang sama dengan layanan yang Anda luncurkan atau perbarui. Saat ini, Anda tidak dapat mereferensikan parameter Penyimpanan Parameter SSM di seluruh akun.

  5. Pilih Tambahkan variabel lingkungan untuk referensi ke variabel lingkungan lain.

  6. Perluas templat kebijakan IAM untuk melihat dan menyalin templat kebijakan IAM yang disediakan untuk AWS Secrets Manager dan Penyimpanan Parameter SSM. Anda hanya perlu melakukan ini jika Anda belum memperbarui kebijakan IAM dari peran instans Anda dengan izin yang diperlukan. Untuk informasi selengkapnya, lihat Izin.

Menghapus variabel lingkungan

Sebelum Anda menghapus variabel lingkungan, pastikan kode aplikasi Anda diperbarui untuk mencerminkan hal yang sama. Jika kode aplikasi tidak diperbarui, layanan App Runner Anda mungkin gagal.

Untuk menghapus variabel lingkungan
  1. Buka konsol App Runner, dan di daftar Wilayah, pilih konsol Anda Wilayah AWS.

  2. Buka tab Konfigurasi layanan yang ingin Anda perbarui.

  3. Pergi ke variabel Lingkungan - opsional di bawah Pengaturan layanan.

  4. Pilih Hapus di samping variabel lingkungan yang ingin Anda hapus. Anda menerima pesan untuk mengonfirmasi penghapusan.

  5. Pilih Hapus.

API Pelari Aplikasi atau AWS CLI

Anda dapat mereferensikan data sensitif yang disimpan di Secrets Manager dan SSM Parameter Store dengan menambahkannya sebagai variabel lingkungan dalam layanan Anda.

catatan

Perbarui kebijakan IAM peran instans Anda agar App Runner dapat mengakses rahasia dan parameter yang disimpan di Secrets Manager dan SSM Parameter Store. Untuk informasi selengkapnya, lihat Izin.

Untuk mereferensikan rahasia dan konfigurasi sebagai variabel lingkungan
  1. Buat rahasia atau konfigurasi di Secrets Manager atau SSM Parameter Store.

    Contoh berikut menunjukkan cara membuat rahasia dan parameter menggunakan SSM Parameter Store.

    contoh Membuat rahasia - Permintaan

    Contoh berikut menunjukkan cara membuat rahasia yang mewakili kredensi database.

    aws secretsmanager create-secret \ —name DevRdsCredentials \ —description "Rds credentials for development account." \ —secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
    contoh Membuat rahasia - Respon
    arn:aws:secretsmanager:<region>:<aws_account_id>:secret:DevRdsCredentials
    contoh Membuat konfigurasi - Permintaan

    Contoh berikut menunjukkan cara membuat parameter yang mewakili string koneksi RDS.

    aws systemsmanager put-parameter \ —name DevRdsConnectionString \ —value "mysql2://dev-mysqlcluster-rds.com:3306/diegor" \ —type "String" \ —description "Rds connection string for development account."
    contoh Membuat konfigurasi - Respon
    arn:aws:ssm:<region>:<aws_account_id>:parameter/DevRdsConnectionString
  2. Referensikan rahasia dan konfigurasi yang disimpan di Secrets Manager dan SSM Parameter Store dengan menambahkannya sebagai variabel lingkungan. Anda dapat menambahkan variabel lingkungan saat membuat atau memperbarui layanan App Runner.

    Contoh berikut menunjukkan cara mereferensikan rahasia dan konfigurasi sebagai variabel lingkungan pada layanan App Runner berbasis kode dan berbasis gambar.

    contoh Masukan file.json untuk layanan App Runner berbasis gambar
    { "ServiceName": "example-secrets", "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "<image-identifier>", "ImageConfiguration": { "Port": "<port>", "RuntimeEnvironmentSecrets": { "Credential1":"arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX", "Credential2":"arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>" } }, "ImageRepositoryType": "ECR_PUBLIC" } }, "InstanceConfiguration": { "Cpu": "1 vCPU", "Memory": "3 GB", "InstanceRoleArn": "<instance-role-arn>" } }
    contoh Layanan App Runner berbasis gambar - Permintaan
    aws apprunner create-service \ --cli-input-json file://input.json
    contoh Layanan App Runner berbasis gambar - Respons
    { ... "ImageRepository": { "ImageIdentifier":"<image-identifier>", "ImageConfiguration":{ "Port": "<port>", "RuntimeEnvironmentSecrets":{ "Credential1": "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX", "Credential2": "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>" }, "ImageRepositoryType":"ECR" } }, "InstanceConfiguration": { "CPU": "1 vCPU", "Memory": "3 GB", "InstanceRoleArn: "<instance-role-arn>" } ... }
    contoh Masukan file.json untuk layanan App Runner berbasis kode
    { "ServiceName": "example-secrets", "SourceConfiguration": { "AuthenticationConfiguration": { "ConnectionArn": "arn:aws:apprunner:us-east-1:123456789012:connection/my-github-connection/XXXXXXXXXX" }, "AutoDeploymentsEnabled": false, "CodeRepository": { "RepositoryUrl": "<repository-url>", "SourceCodeVersion": { "Type": "BRANCH", "Value": "main" }, "CodeConfiguration": { "ConfigurationSource": "API", "CodeConfigurationValues": { "Runtime": "<runtime>", "BuildCommand": "<build-command>", "StartCommand": "<start-command>", "Port": "<port>", "RuntimeEnvironmentSecrets": { "Credential1":"arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX", "Credential2":"arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>" } } } } }, "InstanceConfiguration": { "Cpu": "1 vCPU", "Memory": "3 GB", "InstanceRoleArn": "<instance-role-arn>" } }
    contoh Layanan Pelari Aplikasi berbasis kode - Permintaan
    aws apprunner create-service \ --cli-input-json file://input.json
    contoh Layanan Pelari Aplikasi berbasis kode - Respons
    { ... "SourceConfiguration":{ "CodeRepository":{ "RepositoryUrl":"<repository-url>", "SourceCodeVersion":{ "Type":"Branch", "Value":"main" }, "CodeConfiguration":{ "ConfigurationSource":"API", "CodeConfigurationValues":{ "Runtime":"<runtime>", "BuildCommand":"<build-command>", "StartCommand":"<start-command>", "Port":"<port>", "RuntimeEnvironmentSecrets":{ "Credential1" : "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXX", "Credential2" : "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>" } } } }, "InstanceConfiguration": { "CPU": "1 vCPU", "Memory": "3 GB", "InstanceRoleArn: "<instance-role-arn>" } ... }
  3. apprunner.yamlModel diperbarui untuk mencerminkan rahasia yang ditambahkan.

    Berikut ini adalah contoh apprunner.yaml model yang diperbarui.

    contoh apprunner.yaml
    version: 1.0 runtime: python3 build: commands: build: - python -m pip install flask run: command: python app.py network: port: 8080 env: - name: MY_VAR_EXAMPLE value: "example" secrets: - name: my-secret value-from: "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX" - name: my-parameter value-from: "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>" - name: my-parameter-only-name value-from: "parameter-name"