View a markdown version of this page

Sertifikat kustom dan manajemen DNS Route 53 untuk Inferensi HyperPod - Amazon SageMaker AI

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

Sertifikat kustom dan manajemen DNS Route 53 untuk Inferensi HyperPod

Langkah-langkah berikut menunjukkan cara menggunakan sertifikat ACM Anda sendiri untuk titik akhir HyperPod inferensi dan secara opsional mengonfigurasi operator untuk mengelola catatan DNS Route 53 untuk domain kustom Anda.

Dengan sertifikat khusus, Anda memberikan sertifikat ACM ARN dan operator melampirkannya ke Application Load Balancer (ALB), memantau kesehatannya, dan mendukung deteksi pembaruan otomatis. Operator mendukung sertifikat ACM tepercaya publik, sertifikat CA AWS Pribadi, dan sertifikat yang diimpor dari CA eksternal.

Sertifikat khusus dapat digunakan sendiri atau dikombinasikan dengan manajemen DNS Route 53. Manajemen DNS Route 53 memerlukan sertifikat khusus dan menggunakan nama domain dari konfigurasi sertifikat Anda untuk membuat dan mengelola catatan DNS.

Prasyarat

Sebelum Anda mulai, verifikasi bahwa Anda telah:

  • Siapkan kemampuan inferensi di SageMaker HyperPod kluster Amazon Anda. Untuk informasi selengkapnya, lihat Menyiapkan HyperPod cluster Anda untuk penerapan model.

  • Menginstal kubectl di terminal Anda.

  • Menyediakan atau mengimpor sertifikat TLS di ACM di AWS Wilayah yang sama dengan cluster Anda. HyperPod Sertifikat harus dalam keadaan Diterbitkan dan harus menyertakan rantai sertifikat (CA perantara dan root). Self-signed sertifikat yang diimpor ke ACM tidak didukung sebagai sertifikat khusus karena tidak memiliki rantai sertifikat.

  • (Untuk manajemen DNS Route 53) Membuat zona yang dihosting Route 53 untuk domain Anda. Zona yang dihosting publik direkomendasikan. Zona yang dihosting pribadi berfungsi untuk pembuatan rekaman, tetapi operator memverifikasi resolusi DNS menggunakan resolver DNS pod, yang bergantung pada resolver DNS VPC. Untuk zona yang dihosting pribadi, VPC harus memiliki resolusi DNS dan nama host DNS diaktifkan, dan zona host pribadi harus dikaitkan dengan VPC cluster.

Mengonfigurasi izin IAM

Peran eksekusi operator inferensi memerlukan izin tambahan untuk sertifikat kustom dan manajemen DNS Route 53. Tambahkan kebijakan berikut ke peran eksekusi HyperPod Inferensi Anda.

Izin ACM dan Amazon S3 untuk sertifikat khusus

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ACMCustomCertificateAccess", "Effect": "Allow", "Action": [ "acm:DescribeCertificate", "acm:GetCertificate" ], "Resource": "arn:aws:acm:<region>:<account-id>:certificate/*" }, { "Sid": "S3CertificateUpload", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectTagging" ], "Resource": "arn:aws:s3:::<tls-certificate-bucket>/*", "Condition": { "StringEquals": { "s3:RequestObjectTag/CreatedBy": "HyperPodInference" } } } ] }
catatan

Jika nama bucket Amazon S3 dimulai denganhyperpod-tls, izin Amazon S3 sudah disertakan dalam AmazonSageMakerHyperPodInferenceAccess kebijakan terkelola dan Anda hanya perlu menambahkan pernyataan ACM.

Izin Route 53 untuk manajemen DNS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Route53DNSManagement", "Effect": "Allow", "Action": [ "route53:GetHostedZone", "route53:ListResourceRecordSets", "route53:ChangeResourceRecordSets" ], "Resource": "arn:aws:route53:::hostedzone/<hosted-zone-id>" } ] }

Ganti<region>,<account-id>,<tls-certificate-bucket>, dan <hosted-zone-id> dengan nilai aktual Anda. Anda dapat memasukkan ARN sumber daya ACM ke sertifikat tertentu untuk keamanan yang lebih ketat.

Konfigurasikan sertifikat khusus

Untuk menggunakan sertifikat kustom, tambahkan customCertificateConfig bagian ke tlsConfig dalam InferenceEndpointConfig atau JumpStartModel spesifikasi Anda. dnsConfigBidang tlsConfig dan identik di kedua CRD.

Bidang berikut tersedia di customCertificateConfig dantlsConfig:

tlsConfig.customCertificateConfig.acmArn(Diperlukan, String)

ARN sertifikat ACM Anda. Harus dalam keadaan Dikeluarkan.

tlsConfig.customCertificateConfig.domainName(Diperlukan, String)

Nama domain yang akan digunakan dari sertifikat.

  • Harus domain tertentu, bukan wildcard. Untuk sertifikat wildcard (misalnya,*.example.com), tentukan subdomain tertentu (misalnya,api.example.com).

  • Harus huruf kecil.

  • Harus cocok dengan salah satu nama domain yang tercantum dalam sertifikat.

tlsConfig.tlsCertificateOutputS3Uri(Bersyarat, String)

Amazon S3 URI tempat operator mengunggah sertifikat publik. Diperlukan kecuali operator diinstal dengan variabel TLS_CERTIFICATE_OUTPUT_S3URI lingkungan yang dikonfigurasi. Jika Anda tidak yakin apakah ini disetel, tentukan secara eksplisit.

Berikut ini adalah contoh file YAMM untuk membuat endpoint dengan sertifikat kustom.

apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: InferenceEndpointConfig metadata: name: my-model namespace: my-namespace spec: modelName: my-llm instanceType: ml.g5.24xlarge invocationEndpoint: v1/chat/completions replicas: 2 modelSourceConfig: modelSourceType: s3 s3Storage: bucketName: my-model-bucket region: us-west-2 modelLocation: models/my-llm tlsConfig: customCertificateConfig: acmArn: arn:aws:acm:us-west-2:123456789012:certificate/abc12345-1234-1234-1234-abc123456789 domainName: api.example.com tlsCertificateOutputS3Uri: s3://my-tls-bucket worker: image: my-inference-image:latest modelInvocationPort: containerPort: 8000 name: http modelVolumeMount: name: model-weights mountPath: /opt/ml/model resources: limits: nvidia.com/gpu: "4" requests: cpu: "6" memory: 30Gi nvidia.com/gpu: "4"

Anda dapat menambahkan customCertificateConfig ke penerapan yang sudah berjalan. Operator mendeteksi perubahan pada rekonsiliasi berikutnya, memvalidasi sertifikat, melampirkannya ke ALB, dan mengunggah sertifikat publik ke Amazon S3. Tidak diperlukan waktu henti atau pemindahan.

penting

Jika Anda menghapus customCertificateConfig bagian dari penerapan yang sedang berjalan, operator akan kembali membuat sertifikat baru yang ditandatangani sendiri. Ini menggantikan CA-signed sertifikat Anda di ALB.

Konfigurasikan manajemen DNS Route 53

Manajemen DNS Route 53 memerlukan sertifikat khusus untuk dikonfigurasi dan menggunakan nama domain daritlsConfig.customCertificateConfig.domainName. Jika Anda belum mengonfigurasi sertifikat khusus, lihat Konfigurasikan sertifikat khusus terlebih dahulu.

Untuk mengaktifkan manajemen DNS Route 53, tambahkan dnsConfig bagian ke spesifikasi Anda:

spec: tlsConfig: customCertificateConfig: acmArn: arn:aws:acm:us-west-2:123456789012:certificate/abc12345-1234-1234-1234-abc123456789 domainName: api.example.com tlsCertificateOutputS3Uri: s3://my-tls-bucket dnsConfig: hostedZoneId: Z1234567890ABC

dnsConfigBagian ini dapat ditambahkan pada saat yang sama dengancustomCertificateConfig, atau ditambahkan nanti ke penerapan yang ada. Operator membuat catatan DNS pada rekonsiliasi berikutnya tanpa memulai ulang pod Anda.

Saat Anda menerapkan dengandnsConfig, operator:

  1. Memvalidasi zona host yang ada dan domain Anda milik zona yang dihosting (misalnya, api.example.com memerlukan zona yang dihosting untukexample.com).

  2. Memeriksa catatan A yang ada di domain target untuk mencegah penimpaan yang tidak disengaja.

  3. Membuat catatan A (alias) yang mengarahkan domain Anda ke ALB, dan catatan TXT dengan penanda kepemilikan (hyperpod-inference/owner=<namespace>/<name>) untuk mencegah konflik antar titik akhir. Jangan memodifikasi atau menghapus catatan TXT secara manual.

  4. Polling resolusi DNS setiap 30 detik hingga domain diselesaikan, lalu tandai statusnya sebagai. Active Jika catatan tidak diselesaikan dalam waktu 10 menit, status akan beralih keError.

catatan

Manajemen DNS Route 53 tidak memblokir. Kesalahan dalam pembuatan atau propagasi catatan DNS tidak mencegah titik akhir inferensi Anda mencapai status. Ready Titik akhir tetap dapat diakses melalui nama host default ALB. Periksa dnsStatus bagian dalam status sumber daya untuk DNS-specific kesalahan.

Menggunakan sertifikat kustom tanpa manajemen DNS Route 53

Manajemen DNS Route 53 bersifat opsional. Jika Anda ingin mengelola catatan DNS Anda sendiri, hilangkan dnsConfig bagian tersebut dan konfigurasikan domain Anda secara manual.

Untuk menemukan nama host ALB untuk penerapan Anda, nama ingress bergantung pada apakah perutean cerdas diaktifkan.

Tanpa perutean cerdas: Ingress diberi nama alb-<deployment-name> di namespace Anda.

kubectl get ingress alb-<deployment-name> -n <namespace> \ -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'

Dengan perutean cerdas: Ingress dinamai alb-<deployment-name>-<namespace> di namespace. hyperpod-inference-system

kubectl get ingress alb-<deployment-name>-<namespace> -n hyperpod-inference-system \ -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'

Buat catatan DNS di penyedia DNS Anda yang mengarahkan domain Anda ke nama host ALB ini:

  • Route 53 - Buat catatan A dengan Alias diaktifkan, menunjuk ke ALB.

  • Penyedia DNS lainnya — Buat catatan CNAME yang mengarahkan domain Anda ke nama DNS ALB. Catatan CNAME tidak dapat digunakan di domain root (misalnya,example.com); gunakan subdomain seperti. api.example.com

catatan

Jika ALB dibuat ulang (misalnya, setelah menghapus dan memindahkan titik akhir), nama host ALB berubah. Anda harus memperbarui catatan DNS Anda secara manual. Route 53 Manajemen DNS menangani ini secara otomatis.

Verifikasi status penerapan Anda

Periksa status sertifikat khusus

kubectl describe InferenceEndpointConfig my-model -n my-namespace

Cari tlsCertificate bagian dalam status:

Status: Tls Certificate: Certificate ARN: arn:aws:acm:us-west-2:123456789012:certificate/abc12345-... Certificate Health: Valid Certificate Domain Names: api.example.com Last Cert Expiry Time: 2027-04-23T00:00:00Z

Nilai kesehatan sertifikat:

  • Berlaku - Sertifikat lebih dari 60 hari sejak kedaluwarsa.

  • Kedaluwarsa - Sertifikat kedaluwarsa dalam 60 hari. Peristiwa peringatan Kubernetes (CertificateExpiring) dipancarkan.

  • Kedaluwarsa — Sertifikat telah kedaluwarsa. Peristiwa peringatan Kubernetes (CertificateExpired) dipancarkan.

Operator memeriksa kedaluwarsa sertifikat setiap 24 jam. Ketika mendeteksi bahwa sertifikat telah diperbarui di ACM (NotAftertanggal berubah), ia secara otomatis mengunggah kembali sertifikat publik ke Amazon S3 dan memancarkan acara. CertificateRenewed

Periksa status DNS

Cari dnsStatus bagian:

Status: Dns Status: Managed By Operator: true Record Name: api.example.com Hosted Zone Id: Z1234567890ABC Dns Health: Active Message: DNS record resolves successfully

Nilai kesehatan DNS:

  • Aktif — Rekaman DNS berhasil diselesaikan. Domain kustom Anda siap digunakan.

  • Tertunda — Catatan DNS telah dibuat di Route 53 tetapi belum disebarkan. Operator memeriksa ulang setiap 30 detik.

  • Kesalahan — Pembuatan atau propagasi catatan DNS gagal. Periksa Message bidang untuk detailnya.

Uji titik akhir yang digunakan

Jika Anda mengonfigurasi manajemen DNS Route 53, panggil titik akhir Anda menggunakan domain kustom setelah status DNS ditampilkan. Active Jika Anda hanya mengonfigurasi sertifikat khusus tanpa manajemen DNS, gunakan nama host ALB dari ingress (lihat). Menggunakan sertifikat kustom tanpa manajemen DNS Route 53

curl -X POST https://api.example.com/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model": "my-llm", "messages": [{"role": "user", "content": "Hello"}]}'
catatan

Untuk memanggil melalui titik akhir SageMaker AI, atur endpointName di spesifikasi Anda InferenceEndpointConfig atau sageMakerEndpoint.name di spesifikasi AndaJumpStartModel. Jika tidak endpointName disetel, tidak ada titik akhir SageMaker AI yang dibuat dan hanya pemanggilan ALB langsung yang tersedia.

aws sagemaker-runtime invoke-endpoint \ --endpoint-name my-model \ --content-type "application/json" \ --body '{"model": "my-llm", "messages": [{"role": "user", "content": "Hello"}]}' \ --region us-west-2 \ --cli-binary-format raw-in-base64-out \ /dev/stdout

Mengelola sertifikat kustom dan catatan DNS

Mengubah domain atau zona yang dihosting

Anda dapat memperbarui domainName (incustomCertificateConfig) atau hostedZoneId (indnsConfig) pada penerapan yang sedang berjalan. Mengubah nama domain memicu validasi ulang sertifikat dan pemotongan DNS — domain baru harus valid dalam sertifikat ACM Anda (sebagai pencocokan SAN atau wildcard).

Operator melakukan cutover yang aman:

  1. Membuat catatan DNS baru di zona baru atau untuk domain baru.

  2. Memverifikasi penyelesaian catatan baru.

  3. Menghapus catatan DNS lama hanya setelah catatan baru dikonfirmasi aktif.

Selama transisi, domain lama dan baru menyelesaikan ke ALB. Catatan kepemilikan TXT memiliki TTL 300 detik (5 menit), sehingga klien DNS dapat menyimpan catatan lama hingga 5 menit setelah pembersihan.

Pembersihan

Saat Anda menghapus InferenceEndpointConfig atau menghapus dnsConfig bagian tersebut, operator secara otomatis menghapus catatan Route 53 A dan TXT yang dibuatnya. Operator hanya menghapus catatan yang dimilikinya (diverifikasi oleh catatan TXT kepemilikan).

Pemecahan masalah

Gunakan langkah-langkah debugging ini jika sertifikat kustom atau konfigurasi DNS Anda tidak berfungsi seperti yang diharapkan.

  • Penerapan gagal dengan kesalahan akses Amazon S3. Verifikasi bucket Amazon S3 yang ditentukan tlsCertificateOutputS3Uri ada dan berada di Wilayah yang sama. Verifikasi peran eksekusi operator s3:PutObject dan s3:PutObjectTagging izin pada bucket. Operator memvalidasi akses tulis Amazon S3 dengan mengunggah objek uji nol-byte selama penerapan awal.

  • Validasi sertifikat gagal. Verifikasi sertifikat ACM berada di ISSUED negara bagian:aws acm describe-certificate --certificate-arn <arn> --region <region>. Verifikasi domainName kecocokan domain atau SAN dalam sertifikat. Untuk sertifikat wildcard (*.example.com), gunakan subdomain tertentu seperti. api.example.com

  • Pembuatan catatan DNS gagal. Verifikasi ID zona yang dihosting sudah benar dan peran eksekusi operator memiliki izin Route 53. Verifikasi domain milik zona yang dihosting (misalnya, api.example.com memerlukan zona yang dihosting untukexample.com). Jika Anda melihat konflik delegasi NS, gunakan ID zona yang dihosting dari zona yang didelegasikan. Jika Anda melihat konflik rekaman, titik akhir atau proses eksternal lain memiliki catatan A di domain tersebut.

  • Catatan DNS menunjukkan Tertunda untuk waktu yang lama. Verifikasi catatan NS zona yang dihosting didelegasikan dengan benar dari registrar domain induk. Operator menggunakan resolver DNS pod (biasanya CoreDNS), yang dapat menyimpan hasil cache. Setelah 10 menit tanpa resolusi, status beralih keError.

  • Peringatan kedaluwarsa sertifikat. Perpanjang atau ganti sertifikat di ACM. Untuk ACM-issued sertifikat, ACM menangani perpanjangan secara otomatis. Untuk sertifikat yang diimpor, impor sertifikat baru. Operator mendeteksi pembaruan secara otomatis dan mengunggah ulang sertifikat publik ke Amazon S3.