Gunakan grup penskalaan Elastic Container Instance (ECI) dan Application Load Balancer (ALB) untuk cepat men-deploy layanan inferensi model bahasa besar (LLM) yang dapat diskalakan dan berdaya tinggi di beberapa zona.
Ikhtisar solusi
Solusi ini menggunakan arsitektur multi-zona dengan ketersediaan tinggi. Layanan inferensi berjalan pada instans Elastic Container Instance (ECI) yang didistribusikan di beberapa zona dalam satu wilayah untuk menyediakan pemulihan bencana tingkat zona. Application Load Balancer (ALB) mengarahkan lalu lintas secara cerdas, dan Object Storage Service (OSS) berfungsi sebagai repositori model guna memastikan kelangsungan bisnis dan keandalan data. Gambar berikut menunjukkan arsitektur solusi.
Manfaat
Ketersediaan tinggi: Solusi ini menghindari titik kegagalan tunggal dengan mendistribusikan workload di beberapa server. Hal ini meningkatkan kapasitas layanan dan mencegah gangguan layanan akibat kegagalan satu komponen.
Penskalaan elastis: Grup penskalaan mengelola kluster layanan inferensi, memungkinkan Anda untuk cepat melakukan scale-out dengan menyesuaikan jumlah instans ECI hanya dalam satu klik. Anda juga dapat mengonfigurasi auto scaling untuk menyediakan resource sesuai permintaan berdasarkan workload Anda.
Prosedur
Rencanakan jaringan kluster. Buat Virtual Private Cloud (VPC) dan vSwitch di beberapa zona untuk membangun lingkungan jaringan dasar bagi kluster.
Buat bucket Object Storage Service (OSS). Bucket ini digunakan untuk menyimpan file bobot model.
Konfigurasikan instance RAM role. Instans ECI akan mengasumsikan peran ini untuk mengakses bucket OSS yang Anda buat di Langkah 2.
Siapkan image cache. Buat image cache di konsol ECI untuk mempercepat startup instans dan unduh file bobot model ke bucket OSS.
Buat instans Application Load Balancer (ALB). Instans ALB berfungsi sebagai titik akhir layanan.
Buat grup penskalaan. Buat grup penskalaan dan asosiasikan dengan instans ALB agar instans ECI baru secara otomatis ditambahkan ke grup server backend instans ALB.
Jalankan layanan. Sesuaikan jumlah instans yang diharapkan dalam grup penskalaan untuk menjalankan layanan dan tunggu hingga layanan beroperasi.
1. Rencanakan jaringan kluster
Pertama, rencanakan jaringan kluster Anda, lalu buat Virtual Private Cloud (VPC) dan vSwitches. Untuk mencapai ketersediaan tinggi, distribusikan resource seperti instans Elastic Container Instance (ECI) di beberapa zona guna mencegah gangguan layanan akibat gangguan pada satu zona. Contoh ini menggunakan penerapan dua zona dengan satu VPC dan dua vSwitch di zona berbeda. Ikuti langkah-langkah berikut:
Anda dapat menggunakan kembali Virtual Private Cloud (VPC) yang sudah ada dan melewati langkah ini.
Di konsol, buat satu VPC dan dua vSwitch sesuai petunjuk di bawah.
①②: Klik Create VPC.

③: Region. China (Hangzhou).
④: Name.
vpc-ess-hangzhou.⑤: IPv4 CIDR. Pilih 192.168.0.0/16.

vSwitch 1:
⑥: Name.
vSwitch-j.⑦: Zone. Zone J.
⑧: IPv4 CIDR. 192.168.0.0/24.
⑨: Klik Add untuk membuat vSwitch 2.

vSwitch 2:
⑩: Name.
vSwitch-k.⑪: Zone. Zone K.
⑫: IPv4 CIDR. 192.168.1.0/24.

Klik OK dan tunggu hingga VPC selesai dibuat.
2. Buat bucket Object Storage Service
Setelah menyiapkan jaringan, buat bucket Object Storage Service (OSS) untuk menyimpan file bobot model. Instans ECI akan membaca file dari bucket ini. Ikuti langkah-langkah berikut:
Anda dapat menggunakan kembali bucket Object Storage Service (OSS) yang sudah ada dan melewati langkah ini.
Klik OK.
3. Buat instance RAM role
Buat instance RAM role yang dapat diasumsikan oleh instans ECI untuk membaca file bobot model dari bucket OSS Anda. Ikuti langkah-langkah berikut:
Di konsol, buat instance RAM role. Pengaturan parameter utama dijelaskan di bawah.
①: Klik Create Role.

②: Principal Type. Pilih Cloud Service.
③: Principal Name. Pilih ECS.
4. Klik OK dan atur nama untuk instance RAM role tersebut sesuai permintaan.

Di konsol, buat kebijakan berikut.
①: Klik Create Policy.
②: Klik JSON Editor.


③: Kebijakan ini memberikan izin penuh untuk bucket tertentu. Gunakan skrip kebijakan berikut.
PentingSaat mengonfigurasi kebijakan ini, ganti
<bucket_name>dengan Bucket dari bucket yang Anda buat.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "oss:*", "Resource": [ "acs:oss:*:*:<bucket_name>", "acs:oss:*:*:<bucket_name>/*" ] } ] }Klik OK dan atur nama untuk kebijakan tersebut sesuai permintaan.
Di konsol, berikan izin kepada instance RAM role.
①②: Klik Grant Permission.
③: Principal. Pilih instance RAM role yang Anda buat.
④: Policies. Pilih kebijakan yang Anda buat.

Klik OK.
4. Siapkan image cache dan file model
Gambar kontainer yang digunakan oleh instans ECI dalam solusi ini berukuran besar. Untuk mempercepat startup instans, buat image cache di konsol ECI. Anda juga perlu mengunduh file bobot model ke bucket OSS untuk mempercepat pemuatan model.
Di konsol, buat image cache ECI.
①②: Klik Create Image Cache.

③④: Region and Zone. Wilayah harus sama dengan wilayah VPC yang Anda tentukan di Langkah 1. Zona harus sama dengan zona salah satu vSwitch yang Anda buat di Langkah 1.
⑤⑥: Network. Pilih VPC dan salah satu vSwitch yang Anda buat di Langkah 1.
⑦: Elastic IP Addresses. Pilih Elastic IP Address (EIP) yang sudah ada. Jika Anda belum memiliki EIP, klik EIP console untuk membuatnya. Setelah EIP dibuat, kembali ke halaman ini, klik ikon refresh
dan pilih EIP baru tersebut.⑧: Security Group. Pilih grup keamanan. Jika Anda belum memiliki grup keamanan, klik Create Security Group. Setelah grup keamanan dibuat, kembali ke halaman ini dan pilih grup keamanan tersebut.
⑨: Image Cache Name. vllm.
⑩: Cache Size. 100 GB.
⑪: Image.
egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm.⑫: Version.
0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04.

Tunggu hingga image cache selesai dibuat. Proses ini mungkin memakan waktu sekitar 15 menit. Anda dapat memeriksa progres pembuatan di halaman image cache di konsol.

Di konsol, luncurkan instans ECI sementara untuk mengunduh file bobot model ke bucket OSS.
①②: Klik Create Container Group.

③: Billing Method. pay-as-you-go.
④: Region. Wilayah harus sama dengan wilayah VPC yang Anda tentukan di Langkah 1. Tutorial ini menggunakan China (Hangzhou) sebagai contoh.
⑤: VPC. Pilih VPC yang Anda buat di Langkah 1.
⑥: vSwitch. Pilih vSwitch yang Anda buat di Langkah 1.
⑦: Security Group. Atur parameter sesuai petunjuk di halaman.

Konfigurasi kelompok kontainer:
⑧: CPU. 2 vCPU.
⑨: Memory. 4 GiB.
⑩: After containers run and exit. Pilih Upon Failure.

Pengaturan lanjutan:
⑪: Buka Advanced Configuration.
⑫: Aktifkan Automatically Match Image Cache.
⑬: Pilih dan tambahkan OSS Persistence.
⑭: Name.
oss-data.⑮: Bucket. Pilih bucket yang Anda buat di Langkah 2.
⑯: RAM Role. Pilih instance RAM role yang Anda buat di Langkah 3.
⑰: Ephemeral Storage Size. Atur nilainya menjadi 100 GiB.

Konfigurasi kontainer:
⑱: Image.
egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm.G: Tag Gambar.
0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04.⑳: Startup Command. Salin perintah berikut ke bidang yang sesuai seperti yang ditunjukkan pada gambar.
/bin/bash -c git-lfs clone https://www.modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B.git /oss-data/DeepSeek-R1-Distill-Qwen-7BPerintah ini menggunakan git-lfs untuk mengkloning model dari repositori komunitas ModelScope ke direktori
/oss-data/DeepSeek-R1-Distill-Qwen-7B.
Pengaturan kontainer lanjutan:
㉑: Buka container-1 advanced settings.
㉒: CPU. 2 vCPU.
㉓: Memory. 4 GiB.
㉔: Aktifkan Storage dan Add volume mount.
㉕: Pilih
oss-data.㉖: Mount Path.
/oss-data.㉗: Klik Next: Other Settings.

㉘: Elastic IP Addresses. Pilih Auto Create.
㉙: Maximum Bandwidth. Atur nilainya menjadi 200 Mbit/s.
㉚: Klik Confirm Configuration dan selesaikan pembuatan instans ECI sesuai petunjuk.

Setelah instans ECI dibuat, pengunduhan file bobot model dimulai secara otomatis. Selama proses pengunduhan berlangsung, Anda dapat melanjutkan ke Langkah 5 dan Langkah 6.
5. Buat instans Application Load Balancer
Sebelum membuat kluster ECI, buat instans Application Load Balancer (ALB) untuk berfungsi sebagai titik akhir layanan. Ikuti langkah-langkah berikut:
Di konsol, buat instans ALB.
①②: Klik Create ALB.

③: Region. Pilih China (Hangzhou) agar konsisten dengan VPC yang Anda buat di Langkah 1.
④: Network Type. Pilih Public untuk menyediakan layanan melalui internet.
⑤: VPC. Pilih VPC yang Anda buat di Langkah 1.
⑥: Zone dan vSwitch. Pilih vSwitch yang Anda buat di Langkah 1.
⑦: Instance Name.
alb-eci-deepseek-7B.⑧: Klik Buy Now lalu selesaikan pembuatan instans ALB sesuai petunjuk.


Di konsol, buat listener dan grup server backend untuk instans ALB.
①②: Temukan instans ALB yang Anda buat dan klik Create Listener di kolom Actions.
Jika Anda tidak menemukan instans ALB, ganti ke wilayah lain di pojok kiri atas halaman.

③: Pilih HTTP sebagai protokol.
④: Atur port listener ke 80.
⑤: Klik Next.
⑥: Klik Create Server Group.


⑦: Server Group Type. Pilih Server.
⑧: Server Group Name.
eci-deepseek-7B.⑨: VPC. Pilih VPC yang Anda buat di Langkah 1. Parameter ini dipilih secara otomatis.
⑩: Select Backend Server Protocol. HTTP.
⑪⑫: Aktifkan Health Check.
⑬: Health check method. Pilih GET.
⑭: Jalur pemeriksaan kesehatan. Atur nilainya menjadi
/health. Setelah layanan inferensi dimulai, ALB menggunakan jalur/healthuntuk menentukan status layanan.⑮⑯⑰: Klik Create, klik Next, lalu klik Submit. Tunggu hingga pembuatan selesai.





6. Buat grup penskalaan
Buat grup penskalaan dan asosiasikan dengan instans ALB. Grup ini secara otomatis membuat dan mengelola instans ECI, serta menambahkannya ke grup server backend ALB untuk load balancing.
Di konsol Auto Scaling, buat grup penskalaan dan asosiasikan dengan instans ALB.
①②③: Klik Create Scaling Group.

④: Scaling Group Name.
deepseek-7B-servers.⑤: Type. Pilih ECI.
⑥: Instance Configuration Source. Pilih Create from Scratch.
⑦: Minimum Number of Instances. Atur parameter ini ke 0. Ini adalah jumlah minimum instans dalam grup penskalaan.
⑧: Maximum Number of Instances. Atur parameter ini ke 10. Ini adalah jumlah maksimum instans dalam grup penskalaan.
⑨: VPC. Pilih VPC yang Anda buat di Langkah 1.
⑩: vSwitch. Pilih semua vSwitch yang Anda buat di Langkah 1.
⑪: Klik Show Advanced Settings.

Pengaturan lanjutan:
⑫⑬: Aktifkan Expected Number of Instances dan atur nilainya ke 0. Ini akan membuat grup penskalaan kosong.
⑭: Klik Add Server Group dan atur Type ke ALB.
⑮: Server Group. Pilih grup server yang Anda buat di Langkah 5.
⑯: Port. Pilih
30000. Layanan inferensi yang diterapkan di instans ECI akan menggunakan port ini untuk menyediakan layanan.⑰: Klik Create. Tunggu hingga grup penskalaan selesai dibuat. Kemudian, Anda dapat membuat konfigurasi penskalaan sesuai petunjuk.


Di konsol Auto Scaling, buat konfigurasi penskalaan.
Konfigurasi penskalaan adalah templat yang digunakan grup penskalaan untuk membuat instans baru selama event scale-out. Ikuti langkah-langkah berikut:
①–③: Temukan grup penskalaan yang telah Anda buat, lalu klik ID-nya untuk membuka halaman detail.

④–⑥: Klik .

⑦: Pada Billing Method, pilih Pay-As-You-Go.
⑧: Pilih Security Group.

Konfigurasi kelompok kontainer:
⑨: Pilih Specify Instance Type.
⑩: Instance Type.
ecs.gn7i-c8g1.2xlarge.⑪: Pilih Automatically Match Image Cache.
⑫: Buka Advanced Configuration.
⑬–⑯: Pilih OSS Persistence. Konfigurasikan Bucket dan RAM Role instans.
⑰: Ephemeral Storage Size: 100 GiB.
⑱: GPU Driver Version.
tesla=550.
Konfigurasi kontainer:
G: Image.
egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm.⑳: Tag Gambar.
0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04.㉑: Pada Startup Command, salin perintah berikut ke bidang yang sesuai seperti yang ditunjukkan pada gambar.
/bin/bash -c vllm serve /oss-data/DeepSeek-R1-Distill-Qwen-7B --port 30000 --served-model-name DeepSeek-R1-Distill-Qwen-7B --tensor-parallel-size 1 --max-model-len=16384 --enforce-eager --dtype=half --api-key api-key-example-abc123Perintah ini membaca file bobot model dari OSS dan menjalankan layanan inferensi pada port
30000. Kunci API diatur keapi-key-example-abc123.
㉒: Buka container-1 advanced settings.
㉓: CPU. Atur nilainya ke 8 vCPU.
㉔: Pada Memory, atur nilainya menjadi 30 GiB.
㉕: GPU. Atur nilainya ke 1.
㉖–㉗: Aktifkan Storage dan klik Add untuk menambahkan penyimpanan.
㉘: Jalur mount: /oss-data
㉙: Klik Next: Other Settings.

㉚: Pada Elastic IP Addresses, pilih Auto Create.
㉛: Bandwidth Maksimum. 200 Mbit/s.
㉜: Klik Confirm Configuration, lalu selesaikan pembuatan konfigurasi penskalaan sesuai petunjuk.

㉝–㉟: Aktifkan konfigurasi penskalaan dan jalankan grup penskalaan sesuai petunjuk.



7. Jalankan layanan
Sebelum melanjutkan, pastikan file bobot model dari Langkah 4 telah selesai diunduh.
Setelah menyelesaikan langkah-langkah sebelumnya, picu event scale-out dengan menyesuaikan jumlah instans yang diharapkan dalam grup penskalaan. Contoh ini melakukan scale-out hingga lima instans ECI. Gambar berikut menunjukkan prosedurnya.
Setelah Anda menyesuaikan jumlah instans yang diharapkan, terdapat jeda sebelum instans baru dibuat. Anda dapat memantau progresnya di tab Scaling Activities.
|
|
Langkah selanjutnya
Integrasi Dify
Bersihkan resource
Pertimbangan untuk lingkungan produksi
Untuk lingkungan produksi, pertimbangkan rekomendasi berikut untuk meningkatkan arsitektur.
Atur auto scaling: Secara otomatis menyesuaikan jumlah instans dalam grup penskalaan berdasarkan workload Anda untuk menghemat biaya. Misalnya, Anda dapat mengonfigurasi tugas berbasis peristiwa untuk menerapkan penskalaan kustom berdasarkan penggunaan memori GPU, atau secara otomatis menskalakan berdasarkan metrik permintaan per detik (QPS) dari satu instans ALB.
Gunakan gerbang NAT: Ini menghilangkan kebutuhan untuk mengonfigurasi Elastic IP Address (EIP) untuk setiap instans. Dalam tutorial ini, EIP dikonfigurasi untuk instans ECI agar dapat menarik gambar publik. Di lingkungan produksi, Anda dapat menggunakan gerbang NAT untuk menyediakan akses internet bagi instans ECI Anda.
Konfigurasikan nama domain dan tambahkan dukungan HTTPS untuk instans ALB: Kami merekomendasikan penggunaan nama domain kustom untuk titik akhir layanan dan mengonfigurasi listener HTTPS untuk keamanan yang lebih baik. Untuk informasi lebih lanjut, lihat Konfigurasikan rekaman CNAME untuk instans ALB dan Tambahkan listener HTTPS.










