View a markdown version of this page

Amazon Kendra perubahan ketersediaan - Amazon Kendra

Amazon Kendra Tidak lagi terbuka untuk pelanggan baru. Untuk kemampuan yang mirip dengan Amazon Kendra, jelajahi Amazon Bedrock Knowledge Bases. Pelajari selengkapnya.

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

Amazon Kendra perubahan ketersediaan

Gambaran umum

Setelah mempertimbangkan dengan cermat, kami telah membuat keputusan untuk masuk Amazon Kendra ke Mode Pemeliharaan, efektif 30 Juni 2026. Pada tanggal ini, tidak ada fitur baru atau pengembangan kemampuan untuk layanan, dan pada 30 Juli 2026, layanan tidak lagi terbuka untuk pelanggan baru.

Selama Mode Pemeliharaan, layanan tetap didukung penuh dan AWS akan terus memberikan perbaikan bug dan pembaruan keamanan untuk pelanggan yang sudah ada, namun permintaan fitur baru tidak akan lagi dipertimbangkan.

Kami menyarankan pelanggan untuk memigrasikan aplikasi Kendra mereka dan mengimplementasikan aplikasi pencarian baru di Amazon Bedrock Managed Knowledge Base (BMKB) untuk kemampuan serupa dengan Kendra dan fitur yang lebih canggih untuk kasus penggunaan AI generatif dan AI agentic. Basis Pengetahuan Terkelola Bedrock adalah solusi RAG yang dikelola sepenuhnya, dengan konektor bawaan, penguraian cerdas, penyimpanan vektor terkelola dengan pencarian hibrida, bersama dengan kemampuan untuk menghasilkan respons (dengan Retrieve and Generate API) dan melakukan penalaran multi-langkah di beberapa basis pengetahuan (dengan Agentic Retrieval API). BMKB juga memberi Anda kemampuan untuk menyesuaikan strategi chunking dan model embedding untuk mengoptimalkan aplikasi spesifik Anda serta memilih model dasar untuk pembuatan respons. Tingkat fitur dan fleksibilitas baru ini dilengkapi dengan biaya yang dapat diprediksi berdasarkan ukuran basis pengetahuan yang dicerna, jumlah kueri yang dilakukan dan penggunaan LLM.

Panduan Migrasi

Migrasi dari Amazon Kendra Amazon Bedrock Managed Knowledge Base (BMKB) dapat dicapai untuk sebagian besar pencarian perusahaan dan beban kerja RAG dengan perencanaan yang cermat. Tidak semua fitur Kendra tersedia secara langsung di Basis Pengetahuan Terkelola Bedrock, tetapi banyak yang dapat diimplementasikan melalui solusi. Panduan ini menyediakan jalur migrasi langkah demi langkah yang komprehensif bagi pelanggan Kendra yang ada untuk mentransisikan aplikasi mereka ke BMKB, termasuk pemetaan arsitektur, terjemahan API, contoh kode, analisis celah fitur, dan solusi yang direkomendasikan.

Fitur Basis Pengetahuan Terkelola Amazon Bedrock

BMKB mengelola seluruh pipa RAG end-to-end. Ini mendukung model penyematan termasuk Amazon Titan Text Embeddings V2, Cohere Embed English v3, Cohere Embed Multilingual v3, Cohere Embed v4, dan Amazon Nova Multimodal Embeddings — semuanya tetap pada 1024 dimensi dengan vektor float32. Penyimpanan vektor terkelola sepenuhnya dioperasikan oleh Bedrock, menghilangkan kebutuhan untuk menyediakan atau mengelola OpenSearch, Aurora, atau database vektor lainnya. Strategi chunking termasuk Default (ukuran tetap sekitar 300 token), Fixed-size (MaxTokens dan overlapPercentage yang dapat dikonfigurasi), Hierarchical (orangtua-anak dengan konfigurasi level), dan No Chunking; pemotongan semantik tidak didukung untuk basis pengetahuan terkelola.

BMKB saat ini mendukung tujuh konektor sumber data: Amazon S3, Confluence, Microsoft, Web Crawler SharePoint, Google Drive, Microsoft OneDrive, dan konektor Kustom. Layanan ini selalu melakukan pencarian hybrid (kata kunci plus semantik) dan tidak menawarkan mode pencarian semantik saja.

Perbandingan arsitektur antara Amazon Kendra dan Basis Pengetahuan Terkelola Bedrock
Fitur Kendra Basis Pengetahuan Terkelola Bedrock
Konektor asli 32+ konektor 7 konektor
Menanamkan Dikelola secara internal Customer-selectable (Titan V2, Cohere, Nova)
Toko vektor Dikelola secara internal Sepenuhnya dikelola oleh Bedrock
Jenis pencarian Kata kunci, semantik, atau hibrida Hibrida (kata kunci+semantik)
Dukungan RAG Membutuhkan integrasi LLM eksternal RetrieveAndGenerate API asli
Pengambilan agen Tidak tersedia Pengambilan multi-iterasi asli
Hasil maksimal 100 bagian (Ambil API) 100 hasil (Ambil API)

Langkah migrasi

Pengaturan Basis Pengetahuan Terkelola Amazon Bedrock

Langkah 1: Konfigurasikan Peran IAM

Buat peran IAM yang memberikan izin Bedrock untuk mengakses sumber data Anda dan memanggil model penyematan. Kebijakan kepercayaan harus mengizinkan bedrock.amazonaws.com untuk mengambil peran tersebut, dan kebijakan izin harus menyertakan akses ke bucket S3 Anda dan model penyematan yang dipilih.

Konfigurasi IAM (kode Python):

import boto3 import json iam = boto3.client('iam') trust_policy = { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "bedrock.amazonaws.com"}, "Action": "sts:AssumeRole" }] } iam.create_role( RoleName="BedrockKBRole", AssumeRolePolicyDocument=json.dumps(trust_policy), Description="Role for Bedrock Managed Knowledge Base" ) permissions_policy = { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:ListBucket"], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] }, { "Effect": "Allow", "Action": ["bedrock:InvokeModel"], "Resource": ["arn:aws:bedrock:*::foundation-model/amazon.titan-embed-text-v2:0"] } ] } iam.put_role_policy( RoleName="BedrockKBRole", PolicyName="BedrockKBPermissions", PolicyDocument=json.dumps(permissions_policy) )

Langkah 2: Buat Basis Pengetahuan Terkelola

Gunakan CreateKnowledgeBase API dengan tipe MANAGED untuk membuat basis pengetahuan:

import boto3 bedrock_agent = boto3.client("bedrock-agent", region_name="us-east-1") response = bedrock_agent.create_knowledge_base( name="my-managed-kb", description="Migrated from Kendra index", roleArn="arn:aws:iam::123456789012:role/BedrockKBRole", knowledgeBaseConfiguration={ "type": "MANAGED", "managedKnowledgeBaseConfiguration": { "embeddingModelArn": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0", "embeddingModelConfiguration": { "bedrockEmbeddingModelConfiguration": { "embeddingDataType": "FLOAT32" } } } } ) kb_id = response["knowledgeBase"]["knowledgeBaseId"] print(f"Created knowledge base: {kb_id}")

Langkah 3: Konfigurasikan Sumber Data

Buat sumber data S3 dengan konfigurasi konektor terkelola:

response = bedrock_agent.create_data_source( knowledgeBaseId=kb_id, name="my-s3-data-source", description="Product documentation from S3", dataSourceConfiguration={ "type": "MANAGED_KNOWLEDGE_BASE_CONNECTOR", "managedKnowledgeBaseConnectorConfiguration": { "connectorParameters": { "type": "S3", "version": "1", "connectionConfiguration": { "bucketName": "your-bucket-name", "bucketOwnerAccountId": "123456789012" }, "filterConfiguration": { "inclusionPrefixes": ["documents/"] } } } }, vectorIngestionConfiguration={ "parsingConfiguration": { "parsingStrategy": "SMART_PARSING" } } ) data_source_id = response["dataSource"]["dataSourceId"] print(f"Created data source: {data_source_id}")
catatan

CreateDataSource tidak sinkron untuk Basis Pengetahuan Terkelola. Status sumber data berubah dari CREATING ke AVAILABLE, biasanya dalam 2-5 menit. Jangan melanjutkan konsumsi sampai status TERSEDIA.

Langkah 4: Mulai dan Pantau Penelanan

Memicu penyerapan dokumen dan jajak pendapat untuk penyelesaian:

import time ingestion_response = bedrock_agent.start_ingestion_job( knowledgeBaseId=kb_id, dataSourceId=data_source_id, description="Initial ingestion" ) ingestion_job_id = ingestion_response["ingestionJob"]["ingestionJobId"] print(f"Started ingestion job: {ingestion_job_id}") while True: job_response = bedrock_agent.get_ingestion_job( knowledgeBaseId=kb_id, dataSourceId=data_source_id, ingestionJobId=ingestion_job_id ) job = job_response["ingestionJob"] status = job["status"] stats = job.get("statistics", {}) print(f"Status: {status} | Scanned: {stats.get('numberOfDocumentsScanned', 0)} | " f"Indexed: {stats.get('numberOfNewDocumentsIndexed', 0)} | " f"Failed: {stats.get('numberOfDocumentsFailed', 0)}") if status == "COMPLETE": print("Ingestion complete!") break elif status in ("FAILED", "STOPPED"): print(f"Ingestion {status}: {job.get('failureReasons', [])}") break time.sleep(30)

Pemetaan Migrasi API dan Contoh Kode

Pemetaan Operasi API

Pemetaan Operasi API dari Kendra ke BMKB
Operasi Kendra API BMKB API Klien
Buat index/KB kendra.create_index () agent-bedrock.create_know_base () kendra → agen dasar
Tambahkan sumber data kendra.create_data_source (Jenis = “S3") bedrock-agent.create_data_source () kendra → agen dasar
Sync/ingest dokumen kendra.start_data_sumber_sync_job () bedrock-agent.start_ingestion_job () kendra → agen dasar
Tambahkan dokumen secara batch kendra.batch_put_dokumen () Tidak didukung secara langsung (gunakan unggahan S3 + penyerapan) kendra → S3 + agen batuan dasar
Ambil bagian kendra.ambil (=...) QueryText bedrock-agent-runtime.() kendra → agen-waktu operasi dasar
Cari dengan filter AttributeFilter: {"EqualsTo": {...}} filter: {"sama dengan”: {...}} Pola yang sama, sintaks yang berbeda
Generasi RAG N/A (LLM eksternal diperlukan) agen-bedrock-runtime.retrieve_dan_generate () Kemampuan baru

Migrasi Retrieve API

Sebelum (Kendra):

kendra_client = boto3.client("kendra") response = kendra_client.retrieve( IndexId="your-kendra-index-id", QueryText="How do I configure VPC endpoints?", AttributeFilter={ "EqualsTo": { "Key": "_category", "Value": {"StringValue": "networking"} } }, PageSize=10 ) for item in response["ResultItems"]: print(item["DocumentTitle"]) print(item["Content"])

Setelah (BMKB):

bedrock_runtime = boto3.client("bedrock-agent-runtime", region_name="us-east-1") response = bedrock_runtime.retrieve( knowledgeBaseId="your-kb-id", retrievalQuery={ "text": "How do I configure VPC endpoints?" }, retrievalConfiguration={ "managedSearchConfiguration": { "numberOfResults": 10, "filter": { "equals": { "key": "category", "value": "networking" } } } } ) for result in response["retrievalResults"]: print(f"Score: {result['score']}") print(f"Content: {result['content']['text']}") print(f"Source: {result['location']['s3Location']['uri']}")

Perbedaan utamanya adalah: teks kueri berpindah dari parameter tingkat atas ke Query.text bidang pengambilan bersarang; AttributeFilter menjadi filter dalam dikelolaSearchConfiguration; dan hasilnya menyertakan bidang skor relevansi.

Menggunakan RetrieveAndGenerate untuk RAG

BMKB menyediakan kemampuan RAG asli yang menghilangkan kebutuhan untuk memanggil LLM secara terpisah setelah pengambilan:

response = bedrock_runtime.retrieve_and_generate( input={ "text": "Explain how to configure VPC endpoints for S3 access" }, retrieveAndGenerateConfiguration={ "type": "KNOWLEDGE_BASE", "knowledgeBaseConfiguration": { "knowledgeBaseId": "your-kb-id", "modelArn": "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0", "retrievalConfiguration": { "managedSearchConfiguration": { "numberOfResults": 5 } } } } ) # Generated answer with citations print(response["output"]["text"]) # Source citations for citation in response.get("citations", []): for ref in citation.get("retrievedReferences", []): print(f"Source: {ref['location']['s3Location']['uri']}")

API ini mengembalikan respons bahasa alami yang dihasilkan bersama dengan kutipan yang menunjuk kembali ke dokumen sumber, menyediakan RAG bawaan yang tidak ditawarkan Kendra secara asli.

Terjemahan Sintaks Filter Metadata

Pemetaan Operator Filter Metadata
Kendra AttributeFilter Filter BMKB Catatan
EqualsTo equals Pemetaan langsung
ContainsAll dalam (sebagian) BMKB menggunakan keanggotaan yang ditetapkan
ContainsAny in Pemetaan langsung
GreaterThan greaterThan Pemetaan langsung
LessThan lessThan Pemetaan langsung
GreaterThanOrEquals lebih besar ThanOrEquals Pemetaan langsung
LessThanOrEquals kurang ThanOrEquals Pemetaan langsung
NotFilter NotIn/NoteQuals Gunakan negasi yang tepat
AndAllFilters Dan semua Pemetaan langsung
OrAllFilters atauSemua Pemetaan langsung
catatan

BMKB tidak mendukung operator startsWith atau StringContains untuk basis pengetahuan terkelola. Jika aplikasi Kendra Anda menggunakan pencocokan wildcard atau substring dalam filter, Anda perlu merestrukturisasi skema metadata Anda untuk menggunakan pola exact-match atau set-member sebagai gantinya.

Kesenjangan Fitur dan Solusi

Tidak semua fitur Kendra tersedia di BMKB. Saran Kueri, Pencarian Faset, Sinonim Kustom, Pemeriksaan Ejaan, Pembelajaran Inkremental, dan Pengayaan Dokumen adalah fitur yang memerlukan solusi di BMKB. Bagian ini membahas solusi tersebut.

Saran Kueri (Pelengkapan Otomatis)

Kendra menyediakan GetQuerySuggestions API yang mengembalikan saran pelengkapan otomatis berdasarkan kosakata dokumen yang diindeks. BMKB saat ini tidak menawarkan kemampuan ini.

Solusi: Menerapkan lapisan pelengkapan LLM-based otomatis khusus menggunakan Amazon OpenSearch Service dengan fungsionalitas saran bawaan, atau gunakan layanan penyelesaian kueri. Anda juga dapat memanfaatkan Bedrock Agents untuk merumuskan ulang kueri parSIAL sebelum pengambilan. Pendekatan praktis adalah mempertahankan OpenSearch indeks terpisah dari istilah kueri umum yang diekstraksi dari korpus dokumen Anda dan memanggil API yang disarankan dari frontend Anda sebelum memanggil pengambilan BMKB.

Pencarian Faset

Kendra mendukung aspek atribut dokumen melalui parameter Facets di Query API, menampilkan hingga 10 nilai facet per faset dengan jumlah dokumen. Arsitektur BMKB tidak mendukung pencarian faset.

Solusi: Simulasikan navigasi segi menggunakan pemfilteran metadata. Tandai dokumen dengan atribut metadata terstruktur (departemen, penulis, jenis dokumen, rentang tanggal) dalam file.metadata.json sidecar. Sajikan opsi filter di UI aplikasi Anda berdasarkan skema metadata yang Anda ketahui, dan terapkan operator filter yang sesuai pada waktu kueri. Meskipun ini tidak memberikan jumlah aspek dinamis, ini memungkinkan pengguna untuk mempersempit hasil berdasarkan kategori:

# Simulating faceted search with metadata filters response = bedrock_runtime.retrieve( knowledgeBaseId="your-kb-id", retrievalQuery={"text": "security best practices"}, retrievalConfiguration={ "managedSearchConfiguration": { "numberOfResults": 10, "filter": { "andAll": [ {"equals": {"key": "department", "value": "engineering"}}, {"equals": {"key": "doc_type", "value": "policy"}} ] } } } )
Sinonim Kustom

Kendra memungkinkan pembuatan pemetaan khusus istilah khusus bisnis yang dipetakan ke istilah lain untuk mencocokkan hasil pencarian melalui file tesaurus. BMKB saat ini tidak mendukung sinonim khusus.

Solusi: Buat layanan ekspansi sinonim ringan di depan kueri BMKB Anda:

  • Pertahankan file tesaurus Kendra Anda yang ada (atau kamus sinonim di) DynamoDB/S3

  • Sebelum memanggil BMKB Retrieve atau RetrieveAndGenerate API, perluas kueri pengguna dengan menambahkan sinonim yang cocok

  • Contoh: Jika pengguna menanyakan “masalah DNS”, aplikasi Anda menulis ulang menjadi “masalah DNS Route53” sebelum mengirim ke BMKB

Ini bekerja sangat baik karena BMKB selalu menggunakan pencarian hybrid (kata kunci + semantik), jadi menambahkan istilah sinonim ke teks kueri akan cocok pada dimensi kata kunci dan semantik.

Pemeriksaan Ejaan

Kendra menyediakan koreksi ejaan otomatis berdasarkan kosakata dokumen yang diindeks melalui. SpellCorrectionConfiguration BMKB saat ini tidak mendukung pemeriksaan ejaan.

Solusi: Tambahkan lapisan preprocessing sebelum mengirim kueri ke BMKB. Gunakan fungsi AWS Lambda yang memanggil pustaka koreksi ejaan (seperti SymSpell atau TextBlob) atau memanggil LLM untuk koreksi kueri:

import boto3 lambda_client = boto3.client("lambda") def correct_and_retrieve(query_text, kb_id): # Step 1: Spell-correct the query using a Lambda function correction_response = lambda_client.invoke( FunctionName="spell-correction-function", Payload=json.dumps({"query": query_text}) ) corrected_query = json.loads(correction_response["Payload"].read())["corrected"] # Step 2: Query BMKB with corrected text bedrock_runtime = boto3.client("bedrock-agent-runtime") return bedrock_runtime.retrieve( knowledgeBaseId=kb_id, retrievalQuery={"text": corrected_query}, retrievalConfiguration={"managedSearchConfiguration": {"numberOfResults": 5}} )
Pembelajaran Inkremental

Kendra mendukung SubmitFeedback API untuk sinyal klik-tayang dan umpan balik relevansi untuk meningkatkan peringkat dari waktu ke waktu. BMKB tidak menawarkan kemampuan ini.

Solusi: Gunakan model rangking ulang BMKB untuk meningkatkan relevansi pada waktu kueri. Buat loop umpan balik khusus yang menyimpan sinyal klik dan peringkat pengguna di penyimpanan data eksternal (seperti DynamoDB), dan gunakan sinyal tersebut untuk menyesuaikan bobot peningkatan metadata atau parameter rangking ulang. Untuk perbaikan jangka panjang, pertimbangkan untuk menyempurnakan model penyematan Anda secara berkala berdasarkan umpan balik relevansi yang dikumpulkan.

Pengayaan Dokumen Kustom

Kendra mendukung kait Lambda pra-ekstraksi dan pasca-ekstraksi yang memanipulasi konten dokumen dan metadata selama konsumsi. BMKB menggunakan Smart Parsing untuk pemrosesan dokumen tetapi tidak menawarkan kait Lambda yang setara.

Solusi: Mener apkan pipeline preprocessing menggunakan AWS Step Functions atau Lambda yang mengubah dokumen sebelum ditempatkan di S3 untuk penyerapan BMKB. Pipeline ini dapat melakukan ekstraksi konten, pengayaan metadata, penyuntingan PII, atau konversi format sebelum dokumen mencapai bucket sumber data BMKB.

Strategi Migrasi Sumber Data

Kesenjangan Cakupan Konektor

Kendra mendukung 32 konektor asli sementara BMKB mendukung 7. Untuk sumber data yang tidak didukung secara langsung oleh BMKB, pendekatan yang disarankan adalah mengekspor konten ke Amazon S3 dan mengonfigurasi sumber data S3 di BMKB.

Pola migrasi untuk konektor yang tidak didukung: Buat pipeline otomatis (menggunakan AWS Lambda, Step Functions, atau Amazon EventBridge Scheduler) yang secara berkala mengekstrak konten dari sistem sumber melalui API-nya, menulis dokumen ke bucket S3 dengan file sidecar JSON metadata yang sesuai, dan memicu pekerjaan penyerapan BMKB. Ini mereplikasi perilaku sinkronisasi periodik konektor Kendra.

Migrasi Metadata

Atribut dokumen Kendra harus diterjemahkan ke format metadata BMKB. Di Kendra, atribut didefinisikan pada tingkat indeks dan dilampirkan ke dokumen selama konsumsi. Di BMKB, metadata didefinisikan melalui file.metadata.json sidecar yang disimpan bersama dokumen sumber di S3, dengan ukuran maksimum 10 KB per file. Setiap atribut harus diketik sebagai STRING, NUMBER, atau BOOLEAN.

Pemilihan Strategi Chunking

Saat bermigrasi dari Kendra (yang menangani chunking secara internal), Anda harus secara eksplisit memilih strategi chunking untuk BMKB. Untuk sebagian besar skenario migrasi, Fixed-size strategi dengan 200 token dan 30% tumpang tindih memberikan titik awal yang baik. Jika dokumen Anda memiliki struktur hierarkis yang jelas (babak, bagian, subbagian), pertimbangkan pemotongan hierarkis untuk pengambilan yang lebih baik dari konteks luas dan detail spesifik.

Pengujian dan Validasi

Untuk mengevaluasi kinerja, jalankan Kendra dan BMKB secara paralel. Kirim kueri yang identik ke kedua layanan dan bandingkan hasil menggunakan dimensi berikut: kualitas relevansi (diukur dengan NDCG atau MRR terhadap set uji emas), latensi (waktu respons p50, p95, p99), throughput (kueri per detik di bawah beban), dan kelengkapan (persentase dokumen yang diharapkan diambil).

Buat harness uji yang mengevaluasi kualitas pengambilan:

def compare_retrieval(query, kendra_index_id, bmkb_kb_id): # Query Kendra kendra_results = kendra_client.retrieve( IndexId=kendra_index_id, QueryText=query, PageSize=10 ) # Query BMKB bmkb_results = bedrock_runtime.retrieve( knowledgeBaseId=bmkb_kb_id, retrievalQuery={"text": query}, retrievalConfiguration={ "managedSearchConfiguration": {"numberOfResults": 10} } ) # Compare overlap in top-10 results kendra_docs = {r["DocumentId"] for r in kendra_results["ResultItems"]} bmkb_docs = {r["location"]["s3Location"]["uri"] for r in bmkb_results["retrievalResults"]} overlap = len(kendra_docs.intersection(bmkb_docs)) print(f"Query: {query}") print(f"Result overlap: {overlap}/10 documents in common") return overlap

Sebelum mengalihkan lalu lintas produksi ke BMKB, verifikasi hal berikut: semua sumber data dicerna dan diperbarui tanpa dokumen yang gagal; filter metadata menghasilkan hasil yang diharapkan untuk semua pola filter aplikasi; solusi kontrol akses membatasi akses tidak sah dengan benar; tolok ukur relevansi memenuhi atau melebihi kualitas dasar Kendra; penanganan kesalahan aplikasi memproses format respons BMKB dengan benar; dan pemantauan dan peringatan dikonfigurasi untuk kesalahan dan latensi API BMKB.

Ringkasan

Migrasi dari Amazon Kendra ke Basis Pengetahuan Terkelola Bedrock membutuhkan dua upaya utama: mengambil kembali sumber data ke BMKB dan menulis ulang kode aplikasi untuk menggunakan API BMKB. Sementara BMKB memperkenalkan RAG-native kemampuan canggih termasuk RetrieveAndGenerate dan pengambilan agen, pelanggan yang menggunakan fitur pencarian perusahaan seperti faseting, saran kueri, sinonim khusus, dan pembelajaran tambahan perlu menerapkan solusi seperti yang dijelaskan dalam panduan ini.

Silakan hubungi AWS Dukungan jika ada pertanyaan tambahan.