Saat membuat instans ECI, jika vCPU dan memori yang ditentukan tidak memenuhi batasan spesifikasi ECI, sistem secara otomatis menyesuaikan instans tersebut ke spesifikasi terdekat yang didukung. Penyesuaian ini dapat menghasilkan instans yang terlalu besar dan menyebabkan pemborosan resource. Untuk kontainer yang tidak memengaruhi logika bisnis utama—seperti sidecar container—Anda dapat mengatur variabel lingkungan agar sistem mengabaikannya selama penyesuaian spesifikasi, sehingga membantu menghindari pemborosan resource dan mengurangi biaya ECI.
Cara kerja
Saat membuat instans ECI, Anda dapat menentukan vCPU dan memori untuk setiap kontainer. Total resource tersebut harus memenuhi batasan vCPU dan memori keseluruhan instans ECI. Jika Anda tidak mengonfigurasi vCPU dan memori di tingkat instans, sistem akan menghitung total vCPU dan memori yang diperlukan untuk semua kontainer. Apabila total tersebut tidak sesuai dengan spesifikasi ECI yang didukung, sistem secara otomatis melakukan penyesuaian spesifikasi.
vCPU dan memori yang ditentukan untuk suatu kontainer menetapkan batas resource-nya. Sistem mengalokasikan resource secara dinamis selama waktu proses. Oleh karena itu, untuk kontainer non-kritis tertentu dalam suatu instans, Anda dapat mengatur variabel lingkungan __ECI_RESOURCE_IGNORE__:TRUE. Pengaturan ini memberi tahu sistem untuk mengabaikan kontainer tersebut selama penyesuaian spesifikasi, sehingga mencegah pembuatan instans yang terlalu besar dan menghindari pemborosan resource.
Contohnya:

Seperti yang ditunjukkan pada gambar di atas, asumsikan Anda sedang membuat instans ECI di China (Hangzhou). Instans tersebut berisi tiga kontainer: Kontainer 1 dan Kontainer 2 (kontainer bisnis) masing-masing dikonfigurasi dengan 2 vCPU dan 4 GiB memori, sedangkan Kontainer 3 (sidecar container) dikonfigurasi dengan 0,25 vCPU dan 0,5 GiB memori. Secara default, sistem menyesuaikan spesifikasi instans menjadi 6 vCPU dan 10 GiB memori. Namun, spesifikasi ini mungkin melebihi kebutuhan aktual workload Anda. Untuk mengoptimalkannya, Anda dapat mengatur variabel lingkungan __ECI_RESOURCE_IGNORE__:TRUE untuk sidecar container tersebut. Setelah pengaturan ini diterapkan, sistem mengabaikan sidecar container dan menyesuaikan spesifikasi instans menjadi 4 vCPU dan 8 GiB memori.
Konfigurasi
Saat memanggil API CreateContainerGroup untuk membuat instans ECI, Anda dapat menentukan vCPU dan memori untuk setiap kontainer menggunakan parameter Container.N.Cpu dan Container.N.Memory, asalkan parameter Cpu dan Memory di tingkat instans tidak ditetapkan. Untuk mengabaikan suatu kontainer selama penyesuaian spesifikasi, atur variabel lingkungan __ECI_RESOURCE_IGNORE__:TRUE untuk kontainer tersebut menggunakan parameter Container.N.EnvironmentVar.N.Key dan Container.N.EnvironmentVar.N.Value. Tabel berikut menjelaskan parameter terkait. Untuk informasi lebih lanjut, lihat CreateContainerGroup.
|
Parameter |
Tipe |
Contoh |
Deskripsi |
|
Cpu |
Float |
Tidak ditentukan |
Ukuran vCPU untuk instans. Satuan: core. |
|
Memory |
Float |
Tidak ditentukan |
Ukuran memori untuk instans. Satuan: GiB. |
|
Container.N.Cpu |
Float |
2 |
Ukuran vCPU kontainer. Satuan: core. N merepresentasikan indeks kontainer. Maksimal 20 kontainer didukung. |
|
Container.N.Memory |
Float |
4 |
Ukuran memori kontainer. Satuan: GiB. N merepresentasikan indeks kontainer. Maksimal 20 kontainer didukung. |
|
Container.N.EnvironmentVar.N.Key |
String |
__ECI_RESOURCE_IGNORE__ |
Nama variabel lingkungan. N pertama adalah indeks kontainer, dan N kedua adalah indeks variabel lingkungan. |
|
Container.N.EnvironmentVar.N.Value |
String |
TRUE |
Nilai variabel lingkungan. N pertama adalah indeks kontainer, dan N kedua adalah indeks variabel lingkungan. |
Saat membuat instans ECI menggunakan Konsol, Anda harus mengatur vCPU dan memori di tingkat instans. Oleh karena itu, penyesuaian spesifikasi tidak berlaku.