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
-
Buka konsol App Runner
, dan di daftar Wilayah, pilih konsol Anda Wilayah AWS. -
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.
-
-
Pergi ke variabel Lingkungan - opsional di bawah Pengaturan layanan.
-
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.
-
-
-
Pilih Tambahkan variabel lingkungan untuk referensi ke variabel lingkungan lain.
-
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
-
Buka konsol App Runner
, dan di daftar Wilayah, pilih konsol Anda Wilayah AWS. -
Buka tab Konfigurasi layanan yang ingin Anda perbarui.
-
Pergi ke variabel Lingkungan - opsional di bawah Pengaturan layanan.
-
Pilih Hapus di samping variabel lingkungan yang ingin Anda hapus. Anda menerima pesan untuk mengonfirmasi penghapusan.
-
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
-
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
-
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>" } ... }
-
apprunner.yaml
Model 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"