Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Referensi skema manifes penerapan
Manifes penyebaran adalah file JSON yang mendefinisikan bagaimana Elastic Beanstalk harus menyebarkan dan mengkonfigurasi aplikasi Windows Anda. Bagian ini menyediakan referensi komprehensif untuk semua properti yang didukung dan opsi konfigurasi dalam skema manifes.
Struktur manifes
Manifes penerapan mengikuti skema JSON tertentu dengan struktur tingkat atas berikut:
contoh Struktur manifes dasar
{
"manifestVersion": 1,
"skipIISReset": false,
"iisConfig": {
"websites": [...],
"appPools": [...]
},
"deployments": {
"msDeploy": [...],
"aspNetCoreWeb": [...],
"custom": [...]
}
}
Properti tingkat atas
manifestVersion
(Diperlukan)-
Jenis: Angka
Default: 1
Nilai yang valid: 1
Menentukan versi skema manifes. Saat ini, hanya versi 1 yang didukung.
skipIISReset
(opsional)-
Jenis: Boolean
Default: false
Mengontrol apakah IIS disetel ulang selama penerapan aplikasi. Bendera ini memengaruhi keduanya
msDeploy
dan jenisaspNetCoreWeb
penerapan.Perilaku:
-
Tidak ditentukan atau
false
(default): Reset IIS dilakukan selama operasi penginstalan, uninstall, dan pembaruan. Ini adalah perilaku tradisional. -
true
: Reset IIS dilewati selama operasi penerapan.
Manfaat:
-
Mengurangi waktu henti - Aplikasi mengalami interupsi layanan yang lebih pendek selama penerapan.
-
Penerapan yang lebih cepat — Menghilangkan waktu yang diperlukan IIS untuk memulai ulang dan menginisialisasi ulang sepenuhnya.
catatan
Saat menggunakan
skipIISReset
, RestartAppServeroperasi melakukan reset IIS terlepas dari pengaturan bendera ini.Contoh:
{ "manifestVersion": 1, "skipIISReset": true, "deployments": { "aspNetCoreWeb": [ { "name": "my-dotnet-core-app", "parameters": { "archive": "dotnet-core-app.zip", "iisPath": "/" } } ] } }
-
deployments
(Diperlukan)-
Jenis: Objek
Berisi konfigurasi penerapan untuk aplikasi Anda. Objek ini dapat mencakup
msDeploy
,aspNetCoreWeb
, dan jeniscustom
penyebaran. iisConfig
(opsional)-
Jenis: Objek
Mendefinisikan pengaturan konfigurasi IIS untuk diterapkan sebelum menerapkan aplikasi. Mendukung konfigurasi situs web dan kumpulan aplikasi.
Konfigurasi IIS
iisConfig
Bagian ini memungkinkan Anda untuk mengkonfigurasi pengaturan IIS sebelum menerapkan aplikasi Anda. Ini termasuk menyiapkan kumpulan aplikasi dengan konfigurasi khusus dan mengonfigurasi situs web IIS dengan binding khusus.
Situs web IIS
Situs web IIS memungkinkan Anda mengonfigurasi pengaturan situs web khusus termasuk jalur fisik dan binding jaringan sebelum menerapkan aplikasi Anda.
Pertimbangan penting untuk membuat situs web IIS yang berbeda
-
Urutan penyiapan situs web: Situs web dikonfigurasi secara berurutan sesuai urutan kemunculannya dalam array.
websites
Platform memproses setiap konfigurasi situs web secara berurutan, jadi pastikan pemesanan yang tepat jika Anda memiliki ketergantungan antar situs web. -
Firewall dan akses port: Hanya port 80 yang secara otomatis diekspos melalui konfigurasi firewall Elastic Beanstalk Windows default. Jika Anda mengonfigurasi situs web untuk menggunakan port non-standar, Anda harus menentukan aturan firewall khusus melalui ebextensions atau skrip penerapan khusus untuk memungkinkan akses eksternal ke port ini.
contoh Konfigurasi situs web
{
"iisConfig": {
"websites": [
{
"name": "MyCustomSite",
"physicalPath": "C:\inetpub\wwwroot\mysite",
"bindings": [
{
"protocol": "http",
"port": 8080,
"hostName": "mysite.local"
},
{
"protocol": "https",
"port": 8443
}
]
}
]
}
}
Properti situs web
name
(Diperlukan)-
Tipe: String
Nama situs web IIS. Nama ini digunakan untuk mengidentifikasi situs web di Manajer IIS dan harus unik dalam konfigurasi IIS.
physicalPath
(Diperlukan)-
Tipe: String
Jalur fisik di server tempat file situs web disimpan. Jalur ini harus dapat diakses oleh proses pekerja IIS.
bindings
(Diperlukan)-
Tipe: Array
Item minimum: 1
Array konfigurasi pengikatan yang menentukan bagaimana situs web merespons permintaan jaringan. Setiap pengikatan menentukan protokol, port, dan nama host opsional.
Binding situs web
Binding situs web menentukan titik akhir jaringan tempat situs web IIS Anda akan mendengarkan permintaan yang masuk.
protocol
(Diperlukan)-
Tipe: String
Nilai yang valid: “http”, “https”
Protokol yang digunakan untuk mengikat.
port
(Diperlukan)-
Tipe: Integer
Rentang yang valid: 1-65535
Nomor port tempat situs web akan mendengarkan permintaan.
hostName
(opsional)-
Tipe: String
Nama host (nama domain) untuk pengikatan.
Kolam aplikasi
Kumpulan aplikasi menyediakan isolasi antar aplikasi dan memungkinkan Anda mengonfigurasi pengaturan runtime untuk grup aplikasi.
contoh Konfigurasi kolam aplikasi
{
"iisConfig": {
"appPools": [
{
"name": "MyAppPool",
"enable32Bit": false,
"managedPipelineMode": "Integrated",
"managedRuntimeVersion": "v4.0",
"queueLength": 1000,
"cpu": {
"limitPercentage": 80,
"limitAction": "Throttle",
"limitMonitoringInterval": 5
},
"recycling": {
"regularTimeInterval": 1440,
"requestLimit": 10000,
"memory": 1048576,
"privateMemory": 524288
}
}
]
}
}
Properti kolam aplikasi
name
(Diperlukan)-
Tipe: String
Nama kolam aplikasi. Nama ini digunakan untuk mereferensikan kumpulan dalam konfigurasi penerapan.
enable32Bit
(opsional)-
Jenis: Boolean
Memungkinkan aplikasi 32-bit untuk berjalan pada versi 64-bit Windows. Setel ke aplikasi
true
lama yang membutuhkan kompatibilitas 32-bit. managedPipelineMode
(opsional)-
Tipe: String
Nilai yang valid: “Terintegrasi”, “Klasik”
Menentukan modus permintaan-pemrosesan untuk kumpulan aplikasi.
managedRuntimeVersion
(opsional)-
Tipe: String
Nilai yang valid: “Tidak Ada Kode Terkelola”, “v2.0", “v4.0"
Menentukan versi.NET Framework untuk kolam aplikasi.
queueLength
(opsional)-
Tipe: Integer
Jumlah maksimum permintaan yang HTTP.sys antrian untuk kumpulan aplikasi sebelum menolak permintaan tambahan.
Konfigurasi CPU
cpu
Objek mengonfigurasi batas penggunaan CPU dan pemantauan untuk kumpulan aplikasi.
limitPercentage
(opsional)-
Jenis: Angka
Persentase maksimum waktu CPU yang dapat dikonsumsi oleh proses pekerja di kumpulan aplikasi.
limitAction
(opsional)-
Tipe: String
Nilai yang valid: "NoAction“, “KillW3wp”, “Throttle”, "” ThrottleUnderLoad
Tindakan yang harus diambil ketika batas CPU tercapai.
limitMonitoringInterval
(opsional)-
Jenis: Angka
Atur ulang periode (dalam menit) untuk pemantauan CPU dan batas pelambatan.
Konfigurasi daur ulang
recycling
Objek mengonfigurasi kapan dan bagaimana proses pekerja kumpulan aplikasi didaur ulang.
regularTimeInterval
(opsional)-
Tipe: Integer
Interval waktu (dalam menit) setelah itu kolam aplikasi didaur ulang. Setel ke 0 untuk menonaktifkan daur ulang berbasis waktu.
requestLimit
(opsional)-
Tipe: Integer
Jumlah maksimum permintaan yang diproses kumpulan aplikasi sebelum didaur ulang.
memory
(opsional)-
Tipe: Integer
Jumlah memori virtual (dalam kilobyte) yang memicu daur ulang proses pekerja.
privateMemory
(opsional)-
Tipe: Integer
Jumlah memori pribadi (dalam kilobyte) yang memicu daur ulang proses pekerja.
Jenis deployment
deployments
Objek berisi array konfigurasi penerapan untuk berbagai jenis aplikasi. Setiap jenis penerapan memiliki properti dan kasus penggunaan tertentu.
MSDeploy penyebaran
MSDeploy deployment digunakan untuk aplikasi.NET Framework tradisional yang dapat digunakan menggunakan Web Deploy (). MSDeploy
contoh MSDeploy konfigurasi penerapan
{
"deployments": {
"msDeploy": [
{
"name": "WebApp",
"description": "Main web application",
"parameters": {
"appBundle": "webapp.zip",
"iisPath": "/",
"appPool": "DefaultAppPool"
}
}
]
}
}
MSDeploy properti penyebaran
name
(Diperlukan)-
Tipe: String
Nama unik untuk penyebaran. Nama ini harus unik di semua penerapan dalam manifes.
description
(opsional)-
Tipe: String
Deskripsi penyebaran yang dapat dibaca manusia.
parameters
(Diperlukan)-
Jenis: Objek
Parameter konfigurasi untuk MSDeploy operasi.
scripts
(opsional)-
Jenis: Objek
PowerShell skrip untuk dijalankan pada berbagai tahap siklus hidup penerapan.
MSDeploy parameter
appBundle
(Diperlukan)-
Tipe: String
Path ke bundel aplikasi (file ZIP) relatif terhadap file manifes. Bundel ini berisi file aplikasi untuk menyebarkan.
iisWebSite
(opsional)-
Tipe: String
Default: “Situs Web Default”
Situs web IIS untuk menyebarkan aplikasi ke. Secara default, aplikasi dikerahkan ke “Situs Web Default”. Secara opsional, Anda dapat menentukan nama situs web yang berbeda, seperti yang dikonfigurasi di
iisConfig.websites
bagian. iisPath
(opsional)-
Tipe: String
Default: “/”
Jalur direktori virtual di IIS tempat aplikasi akan digunakan. Gunakan “/” untuk jalur root atau “/api” untuk subdirektori.
appPool
(opsional)-
Tipe: String
Nama kumpulan aplikasi untuk menjalankan aplikasi ini.
Penerapan ASP.NET Core
Penerapan ASP.NET Core dirancang khusus untuk aplikasi.NET Core dan .NET 5+.
contoh Konfigurasi penerapan ASP.NET Core
{
"deployments": {
"aspNetCoreWeb": [
{
"name": "CoreAPI",
"description": "ASP.NET Core Web API",
"parameters": {
"appBundle": "coreapi.zip",
"iisPath": "/api",
"appPool": "CoreAppPool"
}
}
]
}
}
Penerapan ASP.NET Core menggunakan struktur properti yang sama dengan MSDeploy penerapan, dengan perbedaan utamanya adalah lingkungan runtime dan model hosting yang digunakan untuk aplikasi.
Parameter penyebaran ASP.NET Core
appBundle
(Diperlukan)-
Tipe: String
Path ke bundel aplikasi relatif terhadap file manifes. Ini bisa berupa arsip ZIP atau jalur direktori yang berisi aplikasi ASP.NET Core yang diterbitkan.
iisWebSite
(opsional)-
Tipe: String
Default: “Situs Web Default”
Situs web IIS untuk menyebarkan aplikasi ASP.NET Core ke. Secara default, aplikasi dikerahkan ke “Situs Web Default”. Secara opsional, Anda dapat menentukan nama situs web yang berbeda, seperti yang dikonfigurasi di
iisConfig.websites
bagian. iisPath
(opsional)-
Tipe: String
Default: “/”
Jalur direktori virtual di IIS untuk aplikasi ASP.NET Core.
appPool
(opsional)-
Tipe: String
Kumpulan aplikasi untuk aplikasi ASP.NET Core. Pool akan dikonfigurasi dengan tepat untuk hosting ASP.NET Core.
Penerapan kustom
Penerapan khusus memberikan kontrol penuh atas proses penyebaran melalui skrip. PowerShell Jenis penerapan ini berguna untuk skenario kompleks yang memerlukan instalasi, konfigurasi, atau logika penerapan khusus.
contoh Konfigurasi penerapan kustom
{
"deployments": {
"custom": [
{
"name": "CustomService",
"description": "Custom Windows service deployment",
"architecture": 32,
"scripts": {
"install": {
"file": "install-service.ps1"
},
"restart": {
"file": "restart-service.ps1"
},
"uninstall": {
"file": "uninstall-service.ps1",
"ignoreErrors": true
}
}
}
]
}
}
Properti penyebaran kustom
name
(Diperlukan)-
Tipe: String
Nama unik untuk penerapan kustom.
description
(opsional)-
Tipe: String
Deskripsi penerapan kustom.
architecture
(opsional)-
Tipe: Integer
Default: 32
Nilai yang valid: 32, 64
Spesifikasi arsitektur untuk mode eksekusi skrip PowerShell
scripts
(Diperlukan)-
Jenis: Objek
PowerShell skrip yang menentukan perilaku penerapan. Penerapan khusus mendukung jenis skrip tambahan dibandingkan dengan jenis penerapan lainnya.
Skrip penyebaran
Skrip penerapan adalah PowerShell skrip yang berjalan pada titik-titik tertentu selama siklus hidup penerapan. Jenis penyebaran yang berbeda mendukung kumpulan peristiwa skrip yang berbeda.
Acara skrip
Peristiwa skrip berikut tersedia tergantung pada jenis penerapan:
Skrip penerapan standar (MSDeploy dan Web) aspNetCore
preInstall
-
Berjalan sebelum aplikasi diinstal atau diperbarui.
postInstall
-
Berjalan setelah aplikasi diinstal atau diperbarui.
preRestart
-
Berjalan sebelum aplikasi dimulai ulang.
postRestart
-
Berjalan setelah aplikasi dimulai ulang.
preUninstall
-
Berjalan sebelum aplikasi dihapus.
postUninstall
-
Berjalan setelah aplikasi dihapus.
Skrip penerapan khusus (hanya penerapan khusus)
install
-
Skrip instalasi utama untuk penerapan kustom. Skrip ini bertanggung jawab untuk menginstal aplikasi atau layanan.
restart
-
Script untuk me-restart aplikasi atau layanan. Disebut ketika lingkungan dimulai ulang.
uninstall
-
Script untuk menghapus instalasi aplikasi atau layanan. Dipanggil selama penghentian lingkungan atau penghapusan aplikasi.
Properti skrip
Setiap skrip didefinisikan sebagai objek dengan properti berikut:
file
(Diperlukan)-
Tipe: String
Path ke file PowerShell skrip relatif terhadap file manifes. Script harus memiliki
.ps1
ekstensi. ignoreErrors
(opsional)-
Jenis: Boolean
Default: false
Saat disetel ke
true
, penerapan berlanjut meskipun skrip gagal. Gunakan ini untuk skrip non-kritis atau operasi pembersihan.
contoh Contoh konfigurasi skrip
{
"scripts": {
"preInstall": {
"file": "backup-config.ps1",
"ignoreErrors": true
},
"postInstall": {
"file": "configure-app.ps1"
}
}
}