Siapkan nama domain kustom yang dioptimalkan tepi di API Gateway - Amazon API Gateway

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

Siapkan nama domain kustom yang dioptimalkan tepi di API Gateway

Saat Anda membuat nama domain khusus untuk API yang dioptimalkan tepi, API Gateway menyiapkan CloudFront distribusi dan catatan DNS untuk memetakan nama domain API ke nama domain CloudFront distribusi. Permintaan untuk API kemudian dirutekan ke API Gateway melalui distribusi yang dipetakan CloudFront . Pemetaan ini untuk permintaan API yang terikat untuk nama domain kustom yang akan dirutekan ke API Gateway melalui distribusi yang CloudFront dipetakan.

Pertimbangan

Berikut ini adalah pertimbangan untuk nama domain kustom yang dioptimalkan tepi Anda.

  • Untuk menyiapkan nama domain kustom yang dioptimalkan tepi atau memperbarui sertifikatnya, Anda harus memiliki izin untuk memperbarui CloudFront distribusi.

    Izin berikut diperlukan untuk memperbarui CloudFront distribusi:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontUpdateDistribution", "Effect": "Allow", "Action": [ "cloudfront:updateDistribution" ], "Resource": [ "*" ] } ] }
  • Anda harus meminta atau mengimpor sertifikat untuk nama domain kustom yang dioptimalkan tepi Anda di Wilayah AS Timur (Virginia N.). us-east-1

  • CloudFront Distribusi yang dibuat oleh API Gateway dimiliki oleh akun khusus Wilayah yang berafiliasi dengan API Gateway. Saat melacak operasi untuk membuat dan memperbarui CloudFront distribusi seperti itu CloudTrail, Anda harus menggunakan ID akun API Gateway ini. Untuk informasi selengkapnya, lihat Log pembuatan nama domain kustom di CloudTrail.

  • API Gateway mendukung nama domain kustom yang dioptimalkan tepi dengan memanfaatkan Server Name Indication (SNI) pada distribusi. CloudFront Untuk informasi selengkapnya tentang penggunaan nama domain khusus pada CloudFront distribusi, termasuk format sertifikat yang diperlukan dan ukuran maksimum panjang kunci sertifikat, lihat Menggunakan Nama Domain Alternatif dan HTTPS di Panduan CloudFront Pengembang Amazon

  • Nama domain kustom yang dioptimalkan tepi membutuhkan waktu sekitar 40 menit untuk siap.

  • Setelah membuat nama domain kustom yang dioptimalkan tepi, Anda harus membuat catatan DNS untuk memetakan nama domain kustom ke nama distribusi. CloudFront

Buat nama domain kustom yang dioptimalkan tepi

Prosedur berikut menjelaskan cara membuat nama domain kustom yang dioptimalkan tepi untuk API.

AWS Management Console
  1. Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.

  2. Pilih Nama domain khusus dari panel navigasi utama.

  3. Pilih Buat.

  4. Untuk nama Domain, masukkan nama domain.

  5. Untuk versi TLS Minimum, pilih versi.

  6. Di bawah konfigurasi Endpoint, untuk tipe endpoint API, pilih Edge-optimized.

  7. Untuk sertifikat ACM, pilih sertifikat ACM.

  8. Pilih Buat nama domain.

REST API
  1. Panggil domainname:create, tentukan nama domain kustom dan ARN dari sertifikat yang disimpan di. AWS Certificate Manager

    Panggilan API yang berhasil mengembalikan 201 Created respons yang berisi ARN sertifikat serta nama CloudFront distribusi terkait dalam muatannya.

  2. Perhatikan nama domain CloudFront distribusi yang ditunjukkan pada output. Anda memerlukannya di langkah berikutnya untuk mengatur nilai CNAME domain kustom atau target alias A-record di DNS Anda.

Untuk contoh kode panggilan REST API ini, lihat domainname:create.

Nama domain khusus yang dioptimalkan tepi membutuhkan waktu sekitar 40 menit untuk siap, tetapi konsol segera menampilkan nama domain CloudFront distribusi terkait, dalam bentukdistribution-id.cloudfront.net, bersama dengan sertifikat ARN. Sementara itu, Anda dapat melanjutkan ke langkah berikutnya dan mengonfigurasi alias catatan DNS untuk memetakan nama domain kustom ke nama domain CloudFront distribusi terkait.

Buat catatan DNS untuk nama domain kustom yang dioptimalkan tepi

Setelah Anda memulai pembuatan nama domain kustom yang dioptimalkan tepi, siapkan alias catatan DNS.

Kami menyarankan Anda menggunakan Route 53 untuk membuat alias A-record untuk nama domain kustom Anda dan menentukan nama domain CloudFront distribusi sebagai target alias. Ini berarti bahwa Route 53 dapat merutekan nama domain kustom Anda meskipun itu adalah puncak zona. Untuk informasi selengkapnya, lihat Memilih Antara Kumpulan Rekaman Sumber Daya Alias dan Non-Alias di Panduan Pengembang Amazon Route 53.

Sebagai gantinya, Anda dapat menambahkan domain kustom Anda ke zona yang dihosting sebagai kumpulan catatan sumber daya CNAME. Nama catatan CNAME menentukan nama domain kustom yang Anda masukkan sebelumnya di Nama Domain (misalnya,api.example.com). Nilai catatan CNAME menentukan nama domain untuk distribusi. CloudFront

Namun, penggunaan catatan CNAME tidak akan berfungsi jika domain kustom Anda adalah puncak zona (yaitu, example.com bukan). api.example.com Apex zona juga dikenal sebagai domain root organisasi Anda. Untuk puncak zona, Anda perlu menggunakan alias A-record, asalkan didukung oleh penyedia DNS Anda.

Untuk petunjuk tentang Amazon Route 53, lihat Merutekan lalu lintas ke API Amazon API Gateway dengan menggunakan nama domain Anda di Panduan Pengembang Amazon Route 53.

Log pembuatan nama domain kustom di CloudTrail

Saat CloudTrail diaktifkan untuk mencatat panggilan API Gateway yang dilakukan oleh akun Anda, API Gateway mencatat pembaruan CloudFront distribusi terkait saat nama domain khusus dibuat atau diperbarui untuk API. Log ini tersedia dius-east-1. Karena CloudFront distribusi ini dimiliki oleh API Gateway, masing-masing CloudFront distribusi yang dilaporkan diidentifikasi oleh salah satu ID akun API Gateway khusus Wilayah berikut, bukan ID akun pemilik API.

Wilayah account-id
us-east-1 392220576650
us-east-2 718770453195
us-west-1 968246515281
us-west-2 109351309407
ca-central-1 796887884028
eu-west-1 631144002099
eu-west-2 544388816663
eu-west-3 061510835048
eu-central-1 474240146802
eu-central-2 166639821150
eu-north-1 394634713161
eu-south-1 753362059629
eu-south-2 359345898052
ap-northeast-1 969236854626
ap-northeast-2 020402002396
ap-northeast-3 360671645888
ap-southeast-1 195145609632
ap-southeast-2 798376113853
ap-southeast-3 652364314486
ap-southeast-4 849137399833
ap-south-1 507069717855
ap-south-2 644042651268
ap-east-1 174803364771
sa-east-1 287228555773
me-south-1 855739686837
me-central-1 614065512851

Konfigurasikan pemetaan jalur dasar API dengan nama domain khusus sebagai nama hostnya

Anda dapat menggunakan pemetaan jalur dasar untuk menggunakan satu nama domain kustom sebagai nama host dari beberapa API. Ini membuat API dapat diakses melalui kombinasi nama domain khusus dan jalur dasar terkait.

Misalnya, jika di API Gateway, Anda membuat API bernama PetStore dan API lain bernama Dogs lalu menyiapkan nama domain kustomapi.example.com, Anda dapat mengatur URL PetStore API sebagaihttps://api.example.com.

Ini mengaitkan PetStore API dengan jalur dasar string kosong. Jika Anda menetapkan URL PetStore API sebagaihttps://api.example.com/PetStore, ini mengaitkan PetStore API dengan jalur dasar. PetStore Anda dapat menetapkan jalur dasar MyDogList untuk Dogs API. URL kemudian https://api.example.com/MyDogList adalah URL root dari Dogs API.

Untuk mengonfigurasi pemetaan API di beberapa level, Anda hanya dapat menggunakan nama domain kustom Regional. Nama domain kustom yang dioptimalkan tepi tidak didukung. Untuk informasi selengkapnya, lihat Memetakan tahapan API ke nama domain khusus.

Prosedur berikut menyiapkan pemetaan API untuk memetakan jalur dari nama domain kustom Anda ke tahapan API Anda.

AWS Management Console
  1. Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.

  2. Pilih Nama domain khusus dari panel navigasi utama konsol API Gateway.

  3. Pilih nama domain khusus.

  4. Pilih Konfigurasi pemetaan API.

  5. Pilih Tambahkan pemetaan baru.

  6. Tentukan API, Stage, dan Path (opsional) untuk pemetaan.

  7. Pilih Simpan.

REST API

Panggil basepathmapping:create pada nama domain kustom tertentu, tentukan propertirestApiId, dan deployment dalam basePath payload permintaan. stage

Panggilan API yang berhasil mengembalikan 201 Created respons.

Untuk contoh kode panggilan REST API, lihat basepathmapping:create.

Putar sertifikat yang diimpor ke ACM

ACM secara otomatis menangani pembaruan sertifikat yang dikeluarkannya. Anda tidak perlu memutar sertifikat yang dikeluarkan ACM untuk nama domain kustom Anda. CloudFront menanganinya atas nama Anda.

Namun, jika Anda mengimpor sertifikat ke ACM dan menggunakannya untuk nama domain khusus, Anda harus memutar sertifikat sebelum kedaluwarsa. Ini melibatkan mengimpor sertifikat pihak ketiga baru untuk nama domain dan memutar sertifikat yang ada ke yang baru. Anda perlu mengulangi proses ketika sertifikat yang baru diimpor kedaluwarsa. Atau, Anda dapat meminta ACM untuk mengeluarkan sertifikat baru untuk nama domain dan memutar yang sudah ada ke sertifikat baru yang dikeluarkan ACM. Setelah itu, Anda dapat meninggalkan ACM dan CloudFront menangani rotasi sertifikat untuk Anda secara otomatis. Untuk membuat atau mengimpor sertifikat ACM baru, ikuti langkah-langkahnya. Untuk membuat atau mengimpor sertifikat SSL/TLS ke ACM

Prosedur berikut menjelaskan cara memutar sertifikat untuk nama domain.

catatan

Dibutuhkan sekitar 40 menit untuk memutar sertifikat yang diimpor ke ACM.

AWS Management Console
  1. Meminta atau mengimpor sertifikat di ACM.

  2. Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.

  3. Pilih Nama domain khusus dari panel navigasi utama konsol API Gateway.

  4. Pilih nama domain khusus.

  5. Pilih Edit.

  6. Pilih sertifikat yang diinginkan dari daftar dropdown sertifikat ACM.

  7. Pilih Simpan untuk mulai memutar sertifikat untuk nama domain kustom.

  8. Setelah rotasi selesai, Anda dapat memilih ikon panah dua arah di sebelah Sertifikat ACM untuk memutar kembali ke sertifikat asli.

REST API

Panggil domainname:update action, yang menentukan ARN dari sertifikat ACM baru untuk nama domain yang ditentukan.

Panggil API Anda dengan nama domain khusus

Memanggil API dengan nama domain khusus sama dengan memanggil API dengan nama domain defaultnya, asalkan URL yang benar digunakan.

Contoh berikut membandingkan dan membedakan satu set URL default dan URL kustom terkait dari dua API (udxjefdanqf3duz) di Region (us-east-1) tertentu, dan nama domain kustom tertentu (api.example.com).

Root URL API dengan nama domain default dan kustom
ID API Stage URL default Jalur dasar URL kustom
udxjef prod https://udxjef.execute-api.us-east-1.amazonaws.com/prod /toko hewan peliharaan https://api.example.com/petstore
udxjef tst https://udxjef.execute-api.us-east-1.amazonaws.com/tst /petdepot https://api.example.com/petdepot
qf3duz dev https://qf3duz.execute-api.us-east-1.amazonaws.com/dev /toko buku https://api.example.com/bookstore
qf3duz tst https://qf3duz.execute-api.us-east-1.amazonaws.com/tst /rak buku https://api.example.com/bookstand

API Gateway mendukung nama domain kustom untuk API dengan menggunakan Server Name Indication (SNI). Anda dapat memanggil API dengan nama domain khusus menggunakan browser atau pustaka klien yang mendukung SNI.

API Gateway memberlakukan SNI pada distribusi. CloudFront Untuk informasi tentang cara CloudFront menggunakan nama domain kustom, lihat Amazon CloudFront Custom SSL.