← Semua pembelajaran / AWS untuk AI Engineer
Fase 3 · Bedrock Dasar

Cross-Region inference

Cross-Region inference memakai kapasitas beberapa region sekaligus. Ini jawaban standar untuk throttling, tapi keputusannya menyentuh residensi data.

Intisari

  • Bekerja lewat inference profile: satu ID yang mewakili model plus daftar region tujuan.
  • Dua jenis: geografis (US, EU, APAC — tetap di dalam geografi) dan global (ke mana saja).
  • Global memberi penghematan sekitar 10%; geografis dipilih saat ada aturan residensi data.
  • Tidak ada biaya routing tambahan — harga dihitung dari region tempat kamu memanggil.
  • Inference profile tidak mendukung Provisioned Throughput.

Masalah yang dipecahkan

Kapasitas model di satu region terbatas, dan saat ramai kamu menerima ThrottlingException. Cross-Region inference membuat Bedrock memilih region lain yang lebih lapang untuk melayani permintaanmu — tanpa kamu menulis logika failover apa pun.

Geografis atau global?

GeografisGlobal
Residensi dataDalam batas geografi (US, EU, APAC)Region komersial mana pun
PeruteanDi dalam geografiSeluruh dunia
BiayaHarga standarSekitar 10% lebih murah
Paling cocok untukOrganisasi dengan aturan residensi dataOrganisasi yang mengejar efisiensi biaya

Ini keputusan kepatuhan, bukan keputusan teknis. Kalau datamu tunduk pada aturan yang membatasi wilayah pemrosesan, pilih profil geografis dan dokumentasikan alasannya. Pertanyaan bergaya begini — "profil mana untuk kasus dengan persyaratan residensi data" — persis yang muncul di Domain 3 ujian.

Memakainya

Cukup ganti modelId dengan ID inference profile. Sisa kodenya tidak berubah:

# Model langsung — hanya region tempat kamu memanggil
MODEL = "anthropic.claude-3-5-haiku-20241022-v1:0"

# Inference profile geografis — awalan menandakan geografinya
PROFIL_US = "us.anthropic.claude-3-5-haiku-20241022-v1:0"
PROFIL_EU = "eu.anthropic.claude-3-5-haiku-20241022-v1:0"

resp = runtime.converse(
    modelId=PROFIL_US,
    messages=[{"role": "user", "content": [{"text": "halo"}]}],
)
# Melihat profil yang tersedia
kelola = boto3.client("bedrock", region_name="us-east-1")
for p in kelola.list_inference_profiles()["inferenceProfileSummaries"]:
    print(p["inferenceProfileId"], "→", [m["modelArn"].split("/")[-1] for m in p["models"]])

Hal-hal yang perlu diingat

FaktaKonsekuensinya
Tidak ada biaya routing tambahanHarga mengikuti region tempat kamu memanggil
Region tujuan tidak perlu diaktifkan manualTidak ada langkah tambahan di akunmu
Tidak mendukung Provisioned ThroughputPilih salah satu: kapasitas terjamin atau perutean lintas region
Bisa menaikkan jumlah cache writeSaat trafik tinggi, prompt caching jadi kurang efisien
SCP perlu mengizinkan region tujuanUntuk profil global, izinkan aws:RequestedRegion bernilai unspecified

Pola pemakaian yang sehat

import os

# Satu variabel environment yang menentukan model DAN strategi perutean.
# Ganti dari "anthropic..." ke "us.anthropic..." tanpa menyentuh kode sama sekali.
MODEL_ID = os.environ["MODEL_ID"]

Inilah bentuk konkret dari "dynamic model selection without code modification" di exam guide: model, versi, dan strategi perutean semuanya jadi konfigurasi. Untuk sistem yang lebih besar, konfigurasi ini bisa dipindahkan ke AWS AppConfig sehingga bisa diubah tanpa deploy sama sekali.

Latihan: jalankan pertanyaan yang sama ke model langsung dan ke inference profile us., bandingkan latensinya. Lalu jelaskan dalam dua kalimat kapan kamu tidak boleh memakai profil global — sebutkan alasan kepatuhannya, bukan alasan teknisnya.

Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.