Menyesuaikan perangkat lunak pada server Windows - AWS Elastic Beanstalk

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

Menyesuaikan perangkat lunak pada server Windows

Anda mungkin ingin menyesuaikan dan mengonfigurasi perangkat lunak yang diandalkan oleh aplikasi Anda. File ini dapat berupa dependensi yang dibutuhkan oleh aplikasi—misalnya, paket tambahan atau layanan yang perlu dijalankan. Untuk informasi umum tentang menyesuaikan dan mengonfigurasi lingkungan Elastic Beanstalk Anda, lihat Mengonfigurasi lingkungan Elastic Beanstalk.

catatan

YAML bergantung pada indentasi yang konsisten. Cocokkan tingkat indentasi saat mengganti konten dalam file konfigurasi contoh dan pastikan bahwa editor teks Anda menggunakan spasi, bukan karakter tab, untuk indentasi.

File konfigurasi mendukung kunci berikut yang mempengaruhi server Windows tempat aplikasi Anda berjalan.

Kunci diproses dalam urutan yang tercantum di sini.

catatan

Versi platform .NET yang lebih lama (tidak-berversi) tidak memproses file konfigurasi dalam urutan yang benar. Pelajari lebih lanjut di Migrasi di versi utama dari platform server Elastic Beanstalk Windows.

Perhatikan peristiwa lingkungan Anda saat mengembangkan dan menguji file konfigurasi. Elastic Beanstalk mengabaikan file konfigurasi yang berisi kesalahan validasi, seperti kunci yang tidak valid, dan tidak memproses kunci lain dalam file yang sama. Ketika ini terjadi, Elastic Beanstalk menambahkan peristiwa peringatan log peristiwa.

Paket

Gunakan kunci packages tersebut untuk mengunduh dan menginstal aplikasi dan komponen yang telah dikemas sebelumnya.

Di lingkungan Windows, Elastic Beanstalk mendukung pengunduhan dan penginstalan paket MSI. (Lingkungan Linux mendukung manajer paket tambahan. Untuk detailnya, lihat Paket pada halaman Menyesuaikan Perangkat Lunak pada Server Linux.)

Anda dapat mereferensikan lokasi eksternal, seperti objek Amazon Simple Storage Service (Amazon S3), selama URL dapat diakses publik.

Jika Anda menentukan beberapa paket msi:, instalasinya tidak dijamin.

Sintaksis

Tentukan nama pilihan Anda sebagai nama paket, dan URL ke lokasi file MSI sebagai nilai. Anda dapat menentukan beberapa paket di bawah kunci msi:.

packages: msi: package name: package url ...

Contoh

Contoh berikut menentukan URL untuk mengunduh mysql dari https://dev.mysql.com/.

packages: msi: mysql: https://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-8.0.11.msi

Contoh berikut menentukan objek Amazon S3 sebagai lokasi file MSI.

packages: msi: mymsi: https://mybucket.s3.amazonaws.com/myobject.msi

Sumber

Gunakan kunci sources tersebut untuk mengunduh file arsip dari URL publik dan membongkarnya di direktori target pada instans EC2.

Sintaksis

sources: target directory: location of archive file

Format yang didukung

Di lingkungan Windows, Elastic Beanstalk mendukung format .zip. (Lingkungan Linux mendukung format tambahan. Untuk detailnya, lihat Sumber pada halaman Menyesuaikan Perangkat Lunak di Server Linux.)

Anda dapat mereferensikan lokasi eksternal, seperti objek Amazon Simple Storage Service (Amazon S3), selama URL dapat diakses publik.

Contoh

Contoh berikut mengunduh file .zip publik dari bucket Amazon S3 dan membongkarnya ke dalam c:/myproject/myapp.

sources: "c:/myproject/myapp": https://mybucket.s3.amazonaws.com/myobject.zip

Berkas

Gunakan kunci files tersebut untuk membuat file di instans EC2. Konten dapat berupa inline dalam file konfigurasi, atau dari URL. File ditulis ke disk dalam urutan leksikografis. Untuk mengunduh file pribadi dari Amazon S3, berikan profil instans untuk autorisasi.

Sintaksis

files: "target file location on disk": source: URL authentication: authentication name: "target file location on disk": content: | this is my content encoding: encoding format

Opsi

content

(Opsional) String.

source

(Opsional) URL tempat file dimuat. Opsi ini tidak dapat ditentukan dengan kunci konten.

encoding

(Opsional) Format pengodean. Opsi ini hanya digunakan untuk nilai kunci konten yang disediakan. Nilai default-nya adalah plain.

Nilai yang valid: plain | base64

authentication

(Opsional) Nama metode autentikasi AWS CloudFormation yang akan digunakan. Anda dapat menambahkan metode autentikasi ke metadata grup Auto Scaling dengan kunci Sumber Daya.

Contoh

Contoh berikut menunjukkan dua cara untuk menyediakan konten file: dari URL, atau inline dalam file konfigurasi.

files: "c:\\targetdirectory\\targetfile.txt": source: http://foo.bar/myfile "c:/targetdirectory/targetfile.txt": content: | # this is my file # with content
catatan

Jika Anda menggunakan backslash (\) di jalur file Anda, Anda harus mendahuluinya dengan backslash lain (karakter escape) seperti yang ditunjukkan pada contoh sebelumnya.

Contoh berikut menggunakan kunci Sumber daya untuk menambahkan metode autentikasi bernama S3Auth dan menggunakannya untuk mengunduh file pribadi dari bucket Amazon S3:

files: "c:\\targetdirectory\\targetfile.zip": source: https://elasticbeanstalk-us-east-2-123456789012.s3.amazonaws.com/prefix/myfile.zip authentication: S3Auth Resources: AWSEBAutoScalingGroup: Metadata: AWS::CloudFormation::Authentication: S3Auth: type: "s3" buckets: ["elasticbeanstalk-us-east-2-123456789012"] roleName: "Fn::GetOptionSetting": Namespace: "aws:autoscaling:launchconfiguration" OptionName: "IamInstanceProfile" DefaultValue: "aws-elasticbeanstalk-ec2-role"

Perintah

Gunakan kunci commands untuk menjalankan perintah pada instans EC2. Perintah diproses dalam urutan abjad berdasarkan nama, dan mereka berjalan sebelum aplikasi dan server web diatur dan file versi aplikasi diekstrak.

Perintah yang ditentukan dijalankan sebagai pengguna Administrator.

Untuk memecahkan masalah dengan perintah Anda, Anda dapat menemukan outputnya di log instans.

Sintaksis

commands: command name: command: command to run

Opsi

command

Baik array atau string yang menentukan perintah yang akan dijalankan. Jika Anda menggunakan array, Anda tidak perlu menghindari karakter spasi atau melampirkan parameter perintah dalam tanda kutip.

cwd

(Opsional) Direktori kerja. Secara default, Elastic Beanstalk mencoba untuk menemukan lokasi direktori proyek Anda. Jika tidak ditemukan, Elastic Beanstalk menggunakan c:\Windows\System32 sebagai default.

env

(Opsional) Atur variabel lingkungan untuk perintah. Properti ini menimpa, bukan menambahkan, lingkungan yang ada.

ignoreErrors

(Opsional) Nilai Boolean yang menentukan apakah perintah lain harus dijalankan jika perintah yang terdapat dalam kunci command gagal (mengembalikan nilai bukan nol). Tetapkan nilai ini ke true jika Anda ingin terus menjalankan perintah meskipun perintah gagal. Atur nilai ke false jika Anda ingin berhenti menjalankan perintah jika perintah gagal. Nilai default-nya adalah false.

test

(Opsional) Perintah yang harus mengembalikan nilai true (kode keluar 0) agar Elastic Beanstalk memproses perintah yang terdapat dalam kunci command.

waitAfterCompletion

(Opsional) Menunggu beberapa detik setelah perintah selesai sebelum menjalankan perintah berikutnya. Jika sistem memerlukan reboot setelah perintah selesai, sistem reboot setelah jumlah waktu yang ditentukan berlalu. Jika sistem melakukan reboot sebagai hasil dari suatu perintah, Elastic Beanstalk akan pulih ke titik setelah perintah dalam file konfigurasi. Nilai default adalah 60 detik. Anda juga dapat menentukan forever, tetapi sistem harus melakukan reboot sebelum Anda dapat menjalankan perintah lain.

Contoh

Contoh berikut menyimpan output dari perintah set ke file yang ditentukan. Jika ada perintah berikutnya, Elastic Beanstalk menjalankan perintah itu segera setelah perintah ini selesai. Jika perintah ini membutuhkan reboot, Elastic Beanstalk melakukan reboot instans segera setelah perintah selesai.

commands: test: command: set > c:\\myapp\\set.txt waitAfterCompletion: 0

Layanan

Gunakan kunci services untuk menentukan layanan yang harus dimulai atau dihentikan ketika instans diluncurkan. Kunci services tersebut juga memungkinkan Anda untuk menentukan dependensi pada sumber, paket, dan file sehingga jika restart diperlukan akibat dari file yang diinstal, Elastic Beanstalk mengurus restart layanan.

Sintaksis

services: windows: name of service: files: - "file name" sources: - "directory" packages: name of package manager: "package name[: version]" commands: - "name of command"

Opsi

ensureRunning

(Opsional) Atur ke true untuk memastikan layanan berjalan setelah Elastic Beanstalk selesai.

Atur ke false untuk memastikan layanan tidak berjalan setelah Elastic Beanstalk selesai.

Abaikan kunci ini untuk tidak membuat perubahan pada status layanan.

enabled

(Opsional) Atur ke true untuk memastikan layanan dimulai secara otomatis setelah boot.

Atur ke false untuk memastikan layanan tidak dimulai secara otomatis setelah boot.

Abaikan kunci ini untuk tidak membuat perubahan pada properti ini.

files

Daftar file. Jika Elastic Beanstalk mengubah file secara langsung melalui blok file, layanan dimulai ulang.

sources

Daftar direktori. Jika Elastic Beanstalk memperluas arsip ke salah satu direktori ini, layanan akan dimulai ulang.

packages

Peta manajer paket ke daftar nama paket. Jika Elastic Beanstalk menginstal atau memperbarui salah satu paket ini, layanan akan dimulai ulang.

commands

Daftar nama perintah. Jika Elastic Beanstalk menjalankan perintah yang ditentukan, layanan akan dimulai ulang.

Contoh

services: windows: myservice: enabled: true ensureRunning: true

Perintah kontainer

Gunakan kunci container_commands untuk menjalankan perintah yang mempengaruhi kode sumber aplikasi Anda. Perintah kontainer berjalan setelah aplikasi dan server web diatur dan arsip versi aplikasi telah diekstraksi, tetapi sebelum versi aplikasi di-deploy. Perintah non-kontainer dan operasi penyesuaian lainnya dilakukan sebelum kode sumber aplikasi diekstraksi.

Perintah kontainer dijalankan dari direktori pementasan, di mana kode sumber Anda diekstrak sebelum di-deploy ke server aplikasi. Setiap perubahan yang Anda buat untuk kode sumber Anda di direktori pementasan dengan perintah kontainer akan disertakan ketika sumber di-deploy ke lokasi akhir.

Untuk memecahkan masalah dengan perintah kontainer, Anda dapat menemukan output-nya di log instans.

Gunakan opsi leader_only hanya untuk menjalankan perintah pada satu instans, atau mengonfigurasi test hanya untuk menjalankan perintah ketika perintah pengujian dievaluasi true. Perintah kontainer khusus pemimpin hanya dijalankan selama pembuatan dan penerapan lingkungan, sedangkan perintah dan operasi penyesuaian server lain dilakukan setiap kali sebuah instans ditetapkan atau diperbarui. Perintah kontainer khusus pemimpin tidak dijalankan untuk memulai perubahan konfigurasi, seperti perubahan pada Id AMI atau jenis instans.

Sintaksis

container_commands: name of container_command: command: command to run

Opsi

command

Sebuah string atau array string yang akan dijalankan.

env

(Opsional) Atur variabel lingkungan sebelum menjalankan perintah, menimpa nilai yang ada.

cwd

(Opsional) Direktori kerja. Secara default, ini adalah direktori persiapan aplikasi unzip.

leader_only

(Opsional) Hanya jalankan perintah pada satu instans yang dipilih oleh Elastic Beanstalk. Perintah kontainer khusus pemimpin dijalankan sebelum perintah kontainer lainnya. Sebuah perintah bisa ditujukan khusus untuk pemimpin atau memiliki test, tetapi tidak keduanya (leader_only diutamakan).

test

(Opsional) Jalankan perintah pengujian yang harus mengembalikan true untuk menjalankan perintah kontainer. Sebuah perintah bisa ditujukan khusus untuk pemimpin atau memiliki test, tetapi tidak keduanya (leader_only diutamakan).

ignoreErrors

(Opsional) Jangan gagalkan penerapan jika perintah kontainer mengembalikan nilai selain 0 (sukses). Atur ke true untuk mengaktifkan.

waitAfterCompletion

(Opsional) Menunggu beberapa detik setelah perintah selesai sebelum menjalankan perintah berikutnya. Jika sistem memerlukan reboot setelah perintah selesai, sistem reboot setelah jumlah waktu yang ditentukan berlalu. Jika sistem melakukan reboot sebagai hasil dari suatu perintah, Elastic Beanstalk akan pulih ke titik setelah perintah dalam file konfigurasi. Nilai default adalah 60 detik. Anda juga dapat menentukan forever, tetapi sistem harus melakukan reboot sebelum Anda dapat menjalankan perintah lain.

Contoh

Contoh berikut menyimpan output dari perintah set ke file yang ditentukan. Elastic Beanstalk menjalankan perintah pada satu instans, dan melakukan reboot pada instans segera setelah perintah selesai.

container_commands: foo: command: set > c:\\myapp\\set.txt leader_only: true waitAfterCompletion: 0