Platform khusus Elastic Beanstalk - AWS Elastic Beanstalk

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

Platform khusus Elastic Beanstalk

catatan

Pada tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berdasarkan Amazon Linux AMI (AL1) untuk pensiun. Ini termasuk platform khusus. Elastic Beanstalk tidak mendukung platform khusus. Untuk informasi lebih lanjut tentang pensiun Elastic Beanstalk dari Amazon Linux AMI, lihat. FAQ Pensiun Platform

Topik ini tetap ada dalam dokumen ini sebagai referensi untuk setiap pelanggan yang menggunakan fitur platform khusus Elastic Beanstalk sebelum pensiun. Di masa lalu, platform kustom Elastic Beanstalk mendukung pembuatan AMI dari Amazon Linux AMI, RHEL 7, RHEL 6, atau AMI basis Ubuntu 16.04. Sistem operasi ini tidak lagi didukung oleh Elastic Beanstalk. Untuk membaca lebih lanjut tentang fitur platform khusus, yang tidak lagi didukung, perluas topik berikut.

Platform khusus adalah kustomisasi yang lebih maju daripada citra kustom dalam beberapa cara. Platform khusus memungkinkan Anda mengembangkan seluruh platform baru dari scratch, menyesuaikan sistem operasi, perangkat lunak tambahan, dan skrip yang dijalankan Elastic Beanstalk pada instans platform. Fleksibilitas ini memungkinkan Anda untuk membangun platform untuk aplikasi yang menggunakan bahasa atau perangkat lunak infrastruktur lainnya, yang Elastic Beanstalk tidak sediakan platform yang terkelola. Bandingkan dengan gambar kustom, di mana Anda memodifikasi Amazon Machine Image (AMI) untuk digunakan dengan platform Elastic Beanstalk yang ada, dan Elastic Beanstalk masih menyediakan skrip platform dan mengontrol tumpukan perangkat lunak platform. Selain itu, dengan platform kustom Anda menggunakan cara otomatis dan skrip untuk membuat dan memelihara kustomisasi Anda, sedangkan dengan gambar kustom Anda membuat perubahan secara manual melalui instans yang sedang berjalan.

Untuk membuat platform kustom, Anda membangun AMI dari salah satu sistem operasi yang didukung—Ubuntu, RHEL, atau Amazon Linux (lihat entri flavor di Format file Platform.yaml untuk nomor versi yang tepat)—dan tambahkan penyesuaian lebih lanjut. Anda membuat platform Elastic Beanstalk Anda sendiri menggunakan Packer, yang merupakan alat sumber terbuka untuk membuat gambar mesin untuk banyak platform, termasuk AMI untuk digunakan dengan Amazon Elastic Compute Cloud (Amazon EC2). Platform Elastic Beanstalk terdiri dari AMI dikonfigurasi untuk menjalankan satu set perangkat lunak yang mendukung aplikasi, dan metadata yang dapat mencakup opsi konfigurasi kustom dan pengaturan opsi konfigurasi default.

Elastic Beanstalk mengelola Packer sebagai platform built-in yang terpisah, dan Anda tidak perlu khawatir tentang konfigurasi dan versi Packer.

Anda membuat platform dengan menyediakan Elastic Beanstalk dengan templat Packer, serta skrip dan file yang diminta templat untuk membangun AMI. Komponen-komponen ini dikemas dengan file definisi platform, yang menentukan templat dan metadata, ke dalam arsip ZIP, yang dikenal sebagai arsip definisi platform.

Ketika Anda membuat platform kustom, Anda meluncurkan satu instans lingkungan tanpa Elastis IP yang menjalankan Packer. Packer kemudian meluncurkan instans lain untuk membangun sebuah gambar. Anda dapat menggunakan kembali lingkungan ini untuk beberapa platform dan beberapa versi dari setiap platform.

catatan

Platform khusus bersifat spesifik AWS Wilayah. Jika Anda menggunakan Elastic Beanstalk di beberapa Wilayah, Anda harus membuat platform Anda secara terpisah di setiap Wilayah.

Dalam keadaan tertentu, instans yang diluncurkan oleh Packer tidak dibersihkan dan harus dihentikan secara manual. Untuk mempelajari cara membersihkan instans secara manual, lihat Pembersihan instans Packer.

Pengguna di akun Anda dapat menggunakan platform kustom Anda dengan menentukan platform ARN selama penciptaan lingkungan. ARN ini dikembalikan oleh perintah eb platform create yang Anda gunakan untuk membuat platform khusus.

Setiap kali Anda membangun platform khusus Anda, Elastic Beanstalk menciptakan versi platform baru. Pengguna dapat menentukan platform dengan nama untuk mendapatkan hanya versi terbaru dari platform, atau menyertakan nomor versi untuk mendapatkan versi tertentu.

Misalnya, untuk men-deploy versi terbaru dari platform khusus dengan ARN MyCustomPlatformARN, yang bisa berupa versi 3.0, baris perintah EB CLI Anda akan terlihat seperti ini:

eb create -p MyCustomPlatformARN

Untuk men-deploy versi 2.1 baris perintah EB CLI Anda akan terlihat seperti ini:

eb create -p MyCustomPlatformARN --version 2.1

Anda dapat menerapkan tag ke versi platform kustom saat Anda membuatnya, dan mengedit tag dari versi platform kustom yang ada. Untuk detail selengkapnya, lihat Menandai versi platform khusus.

Membuat platform khusus

Untuk membuat platform kustom, akar aplikasi Anda harus menyertakan file definisi platform, platform.yaml, yang mendefinisikan jenis pembangun yang digunakan untuk membuat platform kustom. Format file ini diterangkan dalam Format file Platform.yaml. Anda dapat membuat platform kustom Anda dari scratch, atau menggunakan salah satu platform khusus sampel sebagai titik awal.

Menggunakan platform khusus sampel

Salah satu alternatif untuk membuat platform kustom Anda sendiri adalah dengan menggunakan salah satu instans arsip definisi platform untuk bootstrap platform kustom Anda. Satu-satunya item yang Anda harus mengonfigurasi dalam sampel sebelum Anda dapat menggunakannya adalah sumber AMI dan Wilayah.

catatan

Jangan gunakan platform kustom sampel yang tidak dimodifikasi dalam produksi. Tujuan dari sampel adalah untuk menunjukkan beberapa fungsi yang tersedia untuk platform khusus, tetapi mereka belum dikeraskan untuk penggunaan produksi.

NodePlatform_Ubuntu.zip

Platform khusus ini didasarkan pada Ubuntu 16.04 dan mendukungNode.js 4.4.4. Kami menggunakan platform khusus ini untuk contoh di bagian ini.

NodePlatform_RHEL.zip

Platform khusus ini didasarkan pada RHEL 7.2 dan mendukung Node.js 4.4.4.

NodePlatform_ AmazonLinux .zip

Platform khusus ini didasarkan pada Amazon Linux 2016.09.1 dan mendukung Node.js 4.4.4.

TomcatPlatform_Ubuntu.zip

Platform khusus ini didasarkan pada Ubuntu 16.04 dan mendukung Tomcat 7/Java 8.

CustomPlatform_ NodeSampleApp .zip

Contoh Node.js yang menggunakan ekspres dan ejs untuk menampilkan halaman web statis.

CustomPlatform_ TomcatSampleApp .zip

Sampel Tomcat yang menampilkan halaman web statis saat di-deploy.

Unduh contoh platform definisi arsip: NodePlatform_Ubuntu.zip. File ini berisi file definisi platform, templat Packer, skrip yang dijalankan Packer selama pembuatan gambar, dan skrip dan file konfigurasi yang disalin Packer ke instans pembangun selama pembuatan platform.

contoh NodePlatform_Ubuntu.zip
|-- builder Contains files used by Packer to create the custom platform |-- custom_platform.json Packer template |-- platform.yaml Platform definition file |-- ReadMe.txt Briefly describes the sample

File definisi platform, platform.yaml, memberitahu Elastic Beanstalk nama templat Packer, custom_platform.json.

version: "1.0" provisioner: type: packer template: custom_platform.json flavor: ubuntu1604

Templat Packer memberitahu Packer bagaimana membangun AMI untuk platform, menggunakan AMI Ubuntu sebagai dasar untuk gambar platform untuk jenis instans HVM. Bagian provisioners memberitahu Packer untuk menyalin semua file di folder builder dalam arsip untuk instans, dan untuk menjalankan skrip builder.sh pada instans. Setelah skrip selesai, Packer membuat gambar dari instans yang dimodifikasi.

Elastic Beanstalk menciptakan tiga variabel lingkungan yang dapat digunakan untuk menandai AMI di Packer:

AWS_EB_PLATFORM_ARN

ARN dari platform khusus.

AWS_EB_PLATFORM_NAME

Nama platform kustom.

AWS_EB_PLATFORM_VERSION

Versi platform kustom.

Sampel file custom_platform.json menggunakan variabel-variabel ini untuk menentukan nilai-nilai berikut yang digunakan dalam skrip:

  • platform_name, yang ditetapkan oleh platform.yaml

  • platform_version, yang ditetapkan oleh platform.yaml

  • platform_arn, yang diatur oleh skrip build utama, builder.sh, yang ditampilkan pada akhir sampel file custom_platform.json.

File custom_platform.json berisi dua properti yang Anda harus berikan nilai untuk: source_ami dan region. Untuk detail tentang memilih nilai AMI dan Region yang tepat, lihat Memperbarui template Packer di eb-custom-platforms-samples GitHub repositori.

contoh custom_platform.json
{ "variables": { "platform_name": "{{env `AWS_EB_PLATFORM_NAME`}}", "platform_version": "{{env `AWS_EB_PLATFORM_VERSION`}}", "platform_arn": "{{env `AWS_EB_PLATFORM_ARN`}}" }, "builders": [ { ... "region": "", "source_ami": "", ... } ], "provisioners": [ {...}, { "type": "shell", "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} sudo {{ .Path }}", "scripts": [ "builder/builder.sh" ] } ] }

Skrip dan file lain yang Anda sertakan dalam arsip definisi platform Anda akan sangat bervariasi tergantung pada modifikasi yang ingin Anda buat untuk instans. Instans platform mencakup skrip berikut:

  • 00-sync-apt.sh – Mengomentari: apt -y update. Kami mengomentari perintah karena meminta pengguna untuk input, yang merusak pembaruan paket otomatis. Ini mungkin masalah Ubuntu. Namun, menjalankan apt -y update masih direkomendasikan sebagai praktik terbaik. Untuk alasan ini, kami meninggalkan perintah dalam skrip contoh untuk referensi.

  • 01-install-nginx.sh – Memasang nginx.

  • 02-setup-platform.sh – Memasang wget, tree, dan git. Menyalin hook dan konfigurasi log untuk instans, dan membuat direktori berikut:

    • /etc/SampleNodePlatform – Di mana file konfigurasi kontainer diunggah selama deployment.

    • /opt/elasticbeanstalk/deploy/appsource/ – Di mana skrip 00-unzip.sh mengunggah kode sumber aplikasi selama deployment (lihat bagian Alat skrip platform untuk informasi tentang skrip ini).

    • /var/app/staging/ – Di mana kode sumber aplikasi diproses selama deployment.

    • /var/app/current/ – Dimana kode sumber aplikasi berjalan setelah pemrosesan.

    • /var/log/nginx/healthd/ – Di mana agen kondisi yang ditingkatkan menulis log.

    • /var/nodejs – Di mana file Node.js diunggah selama deployment.

Gunakan EB CLI untuk membuat platform khusus pertama Anda dengan arsip definsi contoh platform.

Untuk membuat platform khusus
  1. Instal EB CLI.

  2. Buat direktori di mana Anda akan mengekstrak sampel kustom platform.

    ~$ mkdir ~/custom-platform
  3. Ekstrak NodePlatform_Ubuntu.zip ke direktori, dan kemudian mengubah ke direktori yang diekstrak.

    ~$ cd ~/custom-platform ~/custom-platform$ unzip ~/NodePlatform_Ubuntu.zip ~/custom-platform$ cd NodePlatform_Ubuntu
  4. Sunting file custom_platform.json, dan memberikan nilai untuk properti source_ami dan region. Untuk detailnya, lihat Memperbarui templat Packer.

  5. Jalankan eb platform init dan ikuti petunjuk untuk menginisialisasi repositori platform.

    Anda dapat mempersingkat eb platform ke ebp.

    catatan

    Windows PowerShell menggunakan ebp sebagai alias perintah. Jika Anda menjalankan EB CLI di PowerShell Windows, gunakan bentuk panjang dari perintah ini:. eb platform

    ~/custom-platform$ eb platform init

    Perintah ini juga membuat direktori .elasticbeanstalk dalam direktori saat ini dan menambahkan file konfigurasi config.yml ke direktori. Jangan mengubah atau menghapus file ini, karena Elastic Beanstalk bergantung padanya saat membuat platform khusus.

    Secara default, eb platform init menggunakan nama folder saat ini sebagai nama platform kustom, yang akan custom-platform dalam contoh ini.

  6. Jalankan eb platform create untuk meluncurkan lingkungan Packer dan mendapatkan ARN dari platform kustom. Anda akan memerlukan nilai ini nanti saat membuat lingkungan dari platform kustom.

    ~/custom-platform$ eb platform create ...

    Secara default, Elastic Beanstalk menciptakan profil instans aws-elasticbeanstalk-custom-platform-ec2-role untuk platform khusus. Jika Anda ingin menggunakan profil instans yang sudah ada, tambahkan opsi -ip INSTANCE_PROFILE ke perintah eb platform create.

    catatan

    Packer akan gagal untuk membuat platform kustom jika Anda menggunakan profil instans default Elastic Beanstalk aws-elasticbeanstalk-ec2-role.

    EB CLI menunjukkan output acara dari lingkungan Packer hingga bangunannya selesai. Anda dapat keluar dari tampilan acara dengan menekan Ctrl+C.

  7. Anda dapat memeriksa log untuk kesalahan menggunakan perintah eb platform logs.

    ~/custom-platform$ eb platform logs ...
  8. Anda dapat memeriksa prosesnya nanti dengan eb platform events.

    ~/custom-platform$ eb platform events ...
  9. Periksa status platform Anda dengan eb platform status.

    ~/custom-platform$ eb platform status ...

Ketika operasi selesai, Anda memiliki platform yang dapat Anda gunakan untuk meluncurkan lingkungan Elastic Beanstalk.

Anda dapat menggunakan platform khusus saat membuat lingkungan dari konsol. Lihat Wizard pembuatan lingkungan baru.

Untuk meluncurkann lingkungan pada platform khusus anda
  1. Buat direktori untuk aplikasi Anda.

    ~$ mkdir custom-platform-app ~$ cd ~/custom-platform-app
  2. Inisialisasi repositori aplikasi.

    ~/custom-platform-app$ eb init ...
  3. Unduh contoh aplikasi NodeSampleApp.zip.

  4. Ekstrak sampel aplikasi.

    ~/custom-platform-app$ unzip ~/NodeSampleApp.zip
  5. Jalankan eb create -p CUSTOM-PLATFORM-ARN, tempatCUSTOM-PLATFORM-ARN ARN dikembalikan oleh perintah eb platform create, untuk meluncurkan lingkungan yang menjalankan platform khusus Anda.

    ~/custom-platform-app$ eb create -p CUSTOM-PLATFORM-ARN ...

Konten arsip definisi platform

Arsip definisi platform adalah platform yang setara dengan paket sumber aplikasi. Arsip definisi platform adalah file ZIP yang berisi file definisi platform, templat Packer, dan skrip dan file yang digunakan oleh template Packer untuk membuat platform Anda.

catatan

Ketika Anda menggunakan EB CLI untuk membuat platform kustom, EB CLI membuat arsip definisi platform dari file dan folder dalam repositori platform Anda, sehingga Anda tidak perlu membuat arsip secara manual.

File definisi platform adalah file berformat YAML yang harus diberi nama platform.yaml dan berada di root arsip definisi platform Anda. Lihat Membuat platform khusus untuk daftar kunci yang diperlukan dan opsional yang didukung dalam file definisi platform.

Anda tidak perlu menamai templat Packer dengan cara tertentu, tetapi nama file harus sesuai dengan templat penyedia yang ditentukan dalam file definisi platform. Lihat dokumentasi Packer yang resmi untuk petunjuk tentang cara membuat templat Packer.

File lain dalam arsip definisi platform Anda adalah skrip dan file yang digunakan oleh templat untuk menyesuaikan sebuah instans sebelum membuat AMI.

Hook platform khusus

Elastic Beanstalk menggunakan struktur direktori standar untuk hook pada platform khusus. Ini adalah skrip yang dijalankan selama peristiwa siklus hidup dan dalam menanggapi operasi manajemen: ketika instans di lingkungan Anda diluncurkan, atau ketika pengguna memulai deployment atau menggunakan fitur server aplikasi restart.

Letakkan skrip yang Anda inginkan hook untuk memicu di salah satu subfolder dari folder /opt/elasticbeanstalk/hooks/.

Awas

Menggunakan kait platform khusus pada platform terkelola tidak didukung. Hook platform khusus dirancang untuk platform khusus. Pada platform yang dikelola Elastic Beanstalk mereka mungkin bekerja secara berbeda atau memiliki beberapa masalah, dan perilaku mungkin berbeda di seluruh platform. Pada platform Amazon Linux AMI (sebelumnya Amazon Linux 2), mereka mungkin masih bekerja dengan cara yang berguna dalam beberapa kasus; gunakan dengan hati-hati.

Hook platform kustom adalah fitur warisan yang ada di platform Amazon Linux AMI. Pada platform Amazon Linux 2, hook platform khusus di folder /opt/elasticbeanstalk/hooks/ sepenuhnya dihentikan. Elastic Beanstalk tidak membaca atau mengeksekusi mereka. Platform Amazon Linux 2 mendukung jenis hook platform baru, yang dirancang khusus untuk memperluas platform yang dikelola Elastic Beanstalk. Anda dapat menambahkan skrip khusus dan program langsung ke direktori kait dalam paket sumber aplikasi Anda. Elastic Beanstalk menjalankannya selama berbagai tahap penyediaan instans. Untuk informasi lebih lanjut, perluas bagian Hook Platform dalam Memperluas platform Linux Elastic Beanstalk.

Hook diatur ke dalam folder berikut:

  • appdeploy — Skrip berjalan selama deployment aplikasi. Elastic Beanstalk melakukan deployment aplikasi ketika instans baru diluncurkan dan ketika klien memulai deployment versi baru.

  • configdeploy — Skrip dijalankan ketika klien melakukan pembaruan konfigurasi yang mempengaruhi konfigurasi perangkat lunak pada instans, misalnya, dengan menetapkan properti lingkungan atau mengaktifkan rotasi log ke Amazon S3.

  • restartappserver — Skrip dijalankan saat klien melakukan operasi server aplikasi restart.

  • preinit — Skrip berjalan selama instans bootstrapping.

  • postinit — Skrip dijalankan setelah instans bootstrapping.

appdeploy, configdeploy, dan restartappserver berisi folder pre, enact, dan subfolder post. Dalam setiap fase operasi, semua skrip di folder pre dijalankan dalam urutan abjad, kemudian mereka dalam folder enact, dan kemudian di folder post.

Ketika sebuah instans diluncurkan, Elastic Beanstalk berjalan preinit, appdeploy, dan postinit, dalam urutan ini. Pada deployment berikutnya untuk instans berjalan, Elastic Beanstalk menjalankan hook appdeploy. hook configdeploy dijalankan ketika pengguna memperbarui pengaturan konfigurasi perangkat lunak instans. hook restartappserver dijalankan hanya ketika pengguna memulai restart server aplikasi.

Ketika skrip Anda mengalami kesalahan, mereka dapat keluar dengan status bukan nol dan menulis ke stderr untuk menggagalkan operasi. Pesan yang Anda tulis di stderr akan muncul dalam acara yang output ketika operasi gagal. Elastic Beanstalk juga menangkap informasi ini dalam file log /var/log/eb-activity.log Jika Anda tidak ingin gagal operasi, kembalikan 0 (nol). Pesan yang Anda tulis ke stderr atau stdout muncul di log deployment, tetapi tidak akan muncul dalam aliran kejadian kecuali operasi gagal.

Pembersihan instans Packer

Dalam keadaan tertentu, seperti menghentikan proses pembangun Packer sebelum selesai, instans yang diluncurkan oleh Packer tidak dibersihkan. Contoh ini bukan bagian dari lingkungan Elastic Beanstalk dan dapat dilihat dan dihentikan hanya dengan menggunakan layanan Amazon EC2.

Untuk membersihkan instans ini secara manual
  1. Buka konsol Amazon EC2.

  2. Pastikan Anda berada di AWS Wilayah yang sama di mana Anda membuat instance dengan Packer.

  3. Di bawah Sumber Daya, pilih Ninstans berjalan, tempat N menunjukkan jumlah instans berjalan.

  4. Klik di kotak teks kueri.

  5. Pilih tag Nama.

  6. Masukkan packer.

    Kueri akan terlihat seperti: tag:Nama: packer

  7. Pilih setiap instans yang cocok dengan kueri.

  8. Jika Status Instans adalah berjalan, pilih Tindakan, Status Instans, Berhenti, dan kemudian Tindakan, Status Instans, Akhiri.

Format file Platform.yaml

File platform.yaml tersebut berisi format berikut.

version: "version-number" provisioner: type: provisioner-type template: provisioner-template flavor: provisioner-flavor metadata: maintainer: metadata-maintainer description: metadata-description operating_system_name: metadata-operating_system_name operating_system_version: metadata-operating_system_version programming_language_name: metadata-programming_language_name programming_language_version: metadata-programming_language_version framework_name: metadata-framework_name framework_version: metadata-framework_version option_definitions: - namespace: option-def-namespace option_name: option-def-option_name description: option-def-description default_value: option-def-default_value option_settings: - namespace: "option-setting-namespace" option_name: "option-setting-option_name" value: "option-setting-value"

Ganti placeholder dengan nilai-nilai ini:

versi-nomor

Diperlukan. Versi definisi YAML. Harus 1.0.

tipe penyedia

Diperlukan. Jenis pembangun yang digunakan untuk membuat platform khusus. Harus packer.

templat penyedia

Diperlukan. File JSON yang mengandungi pengaturan untuk provisioner-type.

penyedia-rasa

Opsional. Sistem operasi dasar yang digunakan untuk AMI. Salah satu dari yang berikut:

amazon (default)

Amazon Linux. Jika tidak ditentukan, versi terbaru Amazon Linux saat platform dibuat.

Amazon Linux 2 bukanlah varian sistem operasi yang didukung.

ubuntu1604

Ubuntu 16.04 LTS

rhel7

RHEL 7

rhel6

RHEL 6

pengelola metadata

Opsional. Informasi kontak untuk orang yang memiliki platform (100 karakter).

metadata-deskripsi

Opsional. Deskripsi platform (2.000 karakter).

metadata-operating_system_name

Opsional. Nama sistem operasi platform (50 karakter). Nilai ini tersedia saat memfilter output untuk ListPlatformVersionsAPI.

metadata-operating_system_version

Opsional. Versi sistem operasi platform (20 karakter).

metadata-programming_language_name

Opsional. Bahasa pemrograman didukung oleh platform (50 karakter)

metadata-programming_language_version

Opsional. Versi bahasa platform (20 karakter).

metadata-framework_name

Opsional. Nama kerangka web yang digunakan oleh platform (50 karakter).

metadata-framework_version

Opsional. Versi kerangka web platform (20 karakter).

option-def-namespace

Tidak wajib. Sebuah namespace dibawah aws:elasticbeanstalk:container:custom (100 karakter).

option-def-option_nama

Tidak wajib. Nama opsi ini (100 karakter). Anda dapat menentukan hingga 50 opsi konfigurasi khusus yang disediakan platform untuk pengguna.

option-def-description

Tidak wajib. Deskripsi opsi (1.024 karakter).

option-def-default_nilai

Tidak wajib. Nilai default yang digunakan ketika pengguna tidak menentukannya.

Contoh berikut membuat opsi NPM_START.

options_definitions: - namespace: "aws:elasticbeanstalk:container:custom:application" option_name: "NPM_START" description: "Default application startup command" default_value: "node application.js"
option-setting-namespace

Tidak wajib. Namespace dari pilihan.

option-setting-option_nama

Tidak wajib. Nama opsi. Anda dapat menentukan hingga 50 pilihan yang disediakan oleh Elastic Beanstalk.

option-setting-value

Tidak wajib. Nilai yang digunakan ketika pengguna tidak menentukannya.

Contoh berikut membuat opsi TEST.

option_settings: - namespace: "aws:elasticbeanstalk:application:environment" option_name: "TEST" value: "This is a test"

Menandai versi platform khusus

Anda dapat menerapkan tag ke versi platform AWS Elastic Beanstalk khusus Anda. Tag adalah pasangan nilai kunci yang terkait dengan AWS sumber daya. Untuk informasi tentang penandaan sumber daya Elastic Beanstalk, penggunaan kasus, kunci tag dan batasan nilai, dan jenis sumber daya yang didukung, lihat Pelabelan sumber daya aplikasi Elastic Beanstalk.

Anda dapat menentukan tag saat membuat versi platform khusus. Dalam versi platform khusus yang ada, Anda dapat menambahkan atau menghapus tag, dan memperbarui nilai tag yang ada. Anda dapat menambahkan hingga 50 tag ke setiap versi platform khusus.

Menambahkan tag selama pembuatan versi platform khusus

Jika Anda menggunakan EB CLI untuk membuat versi platform khusus Anda, gunakan pilihan --tags dengan eb platform create untuk menambahkan tag.

~/workspace/my-app$ eb platform create --tags mytag1=value1,mytag2=value2

Dengan AWS CLI atau klien berbasis API lainnya, tambahkan tag dengan menggunakan --tags parameter pada perintah. create-platform-version

$ aws elasticbeanstalk create-platform-version \ --tags Key=mytag1,Value=value1 Key=mytag2,Value=value2 \ --platform-name my-platform --platform-version 1.0.0 --platform-definition-bundle S3Bucket=DOC-EXAMPLE-BUCKET,S3Key=sample.zip

Mengelola tag dari versi platform khusus yang ada

Anda dapat menambahkan, memperbarui, dan menghapus tag dalam versi platform khusus Elastic Beanstalk yang ada.

Jika Anda menggunakan EB CLI untuk memperbarui versi platform kustom Anda, gunakan eb tags untuk menambahkan, memperbarui, menghapus, atau mendaftar tag.

Misalnya, perintah berikut mencantumkan tag dalam versi platform khusus.

~/workspace/my-app$ eb tags --list --resource "arn:aws:elasticbeanstalk:us-east-2:my-account-id:platform/my-platform/1.0.0"

Perintah berikut update tag mytag1 dan menghapus tag mytag2.

~/workspace/my-app$ eb tags --update mytag1=newvalue --delete mytag2 \ --resource "arn:aws:elasticbeanstalk:us-east-2:my-account-id:platform/my-platform/1.0.0"

Untuk daftar lengkap opsi dan contoh lainnya, lihat eb tags.

Dengan AWS CLI atau klien berbasis API lainnya, gunakan list-tags-for-resource perintah untuk membuat daftar tag versi platform khusus.

$ aws elasticbeanstalk list-tags-for-resource --resource-arn "arn:aws:elasticbeanstalk:us-east-2:my-account-id:platform/my-platform/1.0.0"

Gunakan perintah update-tags-for-resource untuk menambahkan, memperbarui, atau menghapus tag dalam versi platform khusus.

$ aws elasticbeanstalk update-tags-for-resource \ --tags-to-add Key=mytag1,Value=newvalue --tags-to-remove mytag2 \ --resource-arn "arn:aws:elasticbeanstalk:us-east-2:my-account-id:platform/my-platform/1.0.0"

Tentukan kedua tag untuk menambahkan dan tag untuk memperbarui dalam parameter --tags-to-add dari update-tags-for-resource. Tag yang tidak ada ditambahkan, dan nilai tag yang ada diperbarui.

catatan

Untuk menggunakan beberapa CLI EB AWS CLI dan perintah dengan versi platform khusus Elastic Beanstalk, Anda memerlukan ARN versi platform khusus. Anda dapat mengambil ARN dengan menggunakan perintah berikut.

$ aws elasticbeanstalk list-platform-versions

Gunakan opsi --filters untuk memfilter output ke nama platform khusus Anda.