View a markdown version of this page

Gunakan berbagai asal dengan CloudFront distribusi - Amazon CloudFront

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

Gunakan berbagai asal dengan CloudFront distribusi

Saat Anda membuat distribusi, Anda menentukan asal tempat CloudFront mengirim permintaan untuk file. Anda dapat menggunakan beberapa jenis asal yang berbeda dengan CloudFront. Misalnya, Anda dapat menggunakan bucket Amazon S3, MediaStore wadah, MediaPackage saluran, Application Load Balancer, atau URL AWS Lambda fungsi. Saat Anda membuat CloudFront distribusi, CloudFront secara otomatis mengonfigurasi sebagian besar pengaturan distribusi untuk Anda, berdasarkan jenis asal konten Anda. Untuk informasi selengkapnya, lihat Referensi pengaturan distribusi yang telah dikonfigurasi sebelumnya.

Jika Anda memiliki instance Application Load Balancer, Network Load Balancer, atau EC2 di subnet pribadi, Anda dapat menggunakannya sebagai sumber VPC. Dengan asal VPC, aplikasi Anda hanya dapat diakses di subnet pribadi dengan CloudFront distribusi, yang mencegah aplikasi Anda dapat diakses di internet publik. Untuk informasi selengkapnya, lihat Batasi akses dengan asal VPC.

catatan

Anda dapat menggunakan fungsi tepi untuk secara dinamis memilih asal yang sesuai untuk setiap permintaan. Dengan menggunakan CloudFront Functions atau Lambda @Edge, Anda dapat merutekan permintaan ke sumber yang berbeda berdasarkan faktor-faktor seperti lokasi geografis penampil, header permintaan, atau parameter string kueri. Untuk informasi selengkapnya, lihat Sesuaikan di tepi dengan fungsi.

Gunakan bucket Amazon S3

Topik berikut menjelaskan berbagai cara Anda dapat menggunakan bucket Amazon S3 sebagai sumber CloudFront distribusi.

Gunakan bucket Amazon S3 standar

Saat Anda menggunakan Amazon S3 sebagai sumber untuk distribusi Anda, Anda menempatkan objek yang CloudFront ingin Anda kirimkan dalam bucket Amazon S3. Anda dapat menggunakan metode apa pun yang didukung oleh Amazon S3 untuk memasukkan objek Anda ke Amazon S3. Misalnya, Anda dapat menggunakan konsol atau API Amazon S3, atau alat pihak ketiga. Anda dapat membuat hierarki di bucket Anda untuk menyimpan objek, seperti yang Anda lakukan dengan bucket Amazon S3 standar lainnya.

Menggunakan bucket Amazon S3 yang ada sebagai server CloudFront asal Anda tidak mengubah bucket dengan cara apa pun; Anda masih dapat menggunakannya seperti biasa untuk menyimpan dan mengakses objek Amazon S3 dengan harga Amazon S3 standar. Anda dikenakan biaya Amazon S3 untuk menyimpan objek di dalam bucket. Untuk informasi selengkapnya tentang biaya yang harus digunakan CloudFront, lihat CloudFront Harga Amazon. Untuk informasi selengkapnya tentang menggunakan CloudFront dengan bucket S3 yang ada, lihatTambahkan CloudFront ke bucket Amazon S3 yang ada.

penting

Agar bucket dapat digunakan CloudFront, nama harus sesuai dengan persyaratan penamaan DNS. Untuk informasi selengkapnya, buka A turan penamaan Bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Saat Anda menentukan bucket Amazon S3 sebagai asal untuk CloudFront, sebaiknya gunakan format berikut:

bucket-name.s3.region.amazonaws.com

Saat Anda menentukan nama keranjang dalam format ini, Anda dapat menggunakan hal berikut CloudFront fitur:

Jangan tentukan bucket menggunakan format berikut:

  • Gaya jalur Amazon S3: s3.amazonaws.com/bucket-name

  • CNAME Amazon S3

catatan

CloudFront mendukung asal S3 menggunakan kelas penyimpanan apa pun, termasuk S3Intelligent-Tiering. Saat CloudFront meminta objek dari sumber S3, objek diambil terlepas dari tingkat penyimpanan tempat mereka saat ini berada. Menggunakan CloudFront dengan S3 Intelligent-Tiering tidak memengaruhi kinerja atau fungsionalitas distribusi Anda. Untuk informasi selengkapnya, lihat Mengelola biaya penyimpanan dengan Amazon S3 Intelligent-Tiering di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Gunakan Lambda Objek Amazon S3

Saat Anda membuat Titik Akses Lambda Objek, Amazon S3 secara otomatis menghasilkan alias unik untuk Titik Akses Lambda Objek Anda. Anda dapat menggunakan alias ini alih- alih nama bucket Amazon S3 sebagai asal untuk CloudFront distribusi Anda.

Bila Anda menggunakan alias Object Lambda Access Point sebagai CloudFront sumber untuk, sebaiknya gunakan format berikut:

alias.s3.region.amazonaws.com

Untuk informasi selengkapnya tentang menemukanalias, lihat Cara menggunakan alias gaya bucket untuk Titik Akses Lambda Objek S3 bucket Anda di Panduan Pengguna Amazon S3.

penting

Saat Anda menggunakan Object Lambda Access Point sebagai titik asal CloudFront, Anda harus menggunakan kontrol akses asal.

Untuk contoh kasus penggunaan, lihat Menggunakan Amazon S3 Object Lambda dengan Amazon CloudFront untuk Menyesuaikan Konten untuk Pengguna Akhir.

CloudFront memperlakukan asal Titik Akses Lambda Objek sama dengan asal bucket Amazon S3 standar.

Jika Anda menggunakan Amazon S3 Object Lambda sebagai sumber untuk distribusi Anda, Anda harus mengonfigurasi empat izin berikut.

Object Lambda Access Point
Untuk menambahkan izin untuk Object Lambda Access Point
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di panel navigasi, pilih Object Lambda Access Points.

  3. Pilih Object Lambda Access Point yang ingin Anda gunakan.

  4. Pilih tab Izin.

  5. Pilih Edit di bagian kebijakan Titik Akses Lambda Objek.

  6. Tempelkan kebijakan berikut ke bidang Kebijakan.

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3-object-lambda:Get*", "Resource": "arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/Object-Lambda-Access-Point-name", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::123456789012:distribution/CloudFront-distribution-ID" } } } ] }
  7. Pilih Simpan perubahan.

Amazon S3 Access Point
Untuk menambahkan izin untuk Titik Akses Amazon S3
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di panel navigasi, pilih Access Points.

  3. Pilih Titik Akses Amazon S3 yang ingin Anda gunakan.

  4. Pilih tab Izin.

  5. Pilih Edit di bagian kebijakan Titik Akses.

  6. Tempelkan kebijakan berikut ke bidang Kebijakan.

    JSON
    JSON
    { "Version":"2012-10-17", "Id": "default", "Statement": [ { "Sid": "s3objlambda", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:us-east-1:123456789012:accesspoint/Access-Point-name", "arn:aws:s3:us-east-1:123456789012:accesspoint/Access-Point-name/object/*" ], "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": "s3-object-lambda.amazonaws.com" } } } ] }
  7. Pilih Simpan.

Amazon S3 bucket
Untuk menambahkan izin ke bucket Amazon S3
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di panel navigasi, pilih Bucket.

  3. Pilih bucket Amazon S3 yang ingin Anda gunakan.

  4. Pilih tab Izin.

  5. Pilih Edit di bagian kebijakan Bucket.

  6. Tempelkan kebijakan berikut ke bidang Kebijakan.

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "*", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointAccount": "AWS-account-ID" } } } ] }
  7. Pilih Simpan perubahan.

AWS Lambda function
Untuk menambahkan izin ke fungsi Lambda
  1. Masuk ke Konsol Manajemen AWS dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/.

  2. Di panel navigasi, pilih Fungsi.

  3. Pilih AWS Lambda fungsi yang ingin Anda gunakan.

  4. Pilih tab Konfigurasi, lalu pilih Izin.

  5. Pilih Tambahkan izin di bagian pernyataan Resource-based kebijakan.

  6. Pilih Akun AWS.

  7. Masukkan nama untuk ID Pernyataan.

  8. Masuk cloudfront.amazonaws.com untuk Kepala Sekolah.

  9. Pilih lambda:InvokeFunction dari menu tar ik -turun Action.

  10. Pilih Simpan.

Gunakan Titik Akses Amazon S3

Saat Anda menggunakan Titik Akses S3, Amazon S3 secara otomatis membuat alias unik untuk Anda. Anda dapat menggunakan alias ini alih-alih nama bucket Amazon S3 sebagai asal untuk CloudFront distribusi Anda.

Saat Anda menggunakan alias Titik Akses Amazon S3 sebagai sumber untuk CloudFront, sebaiknya gunakan format berikut:

alias.s3.region.amazonaws.com

Untuk informasi selengkapnya tentang menemukanalias, lihat Menggunakan alias gaya bucket untuk titik akses bucket S3 Anda di Panduan Pengguna Amazon S3.

penting

Saat menggunakan Titik Akses Amazon S3 sebagai sumber CloudFront, Anda harus menggunakan kontrol akses asal.

CloudFront memperlakukan asal Titik Akses Amazon S3 sama dengan asal bucket Amazon S3 standar.

Jika Anda menggunakan Amazon S3 Object Lambda sebagai sumber untuk distribusi Anda, Anda harus mengonfigurasi dua izin berikut.

Amazon S3 Access Point
Untuk menambahkan izin untuk Titik Akses Amazon S3
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di panel navigasi, pilih Access Points.

  3. Pilih Titik Akses Amazon S3 yang ingin Anda gunakan.

  4. Pilih tab Izin.

  5. Pilih Edit di bagian kebijakan Titik Akses.

  6. Tempelkan kebijakan berikut ke bidang Kebijakan.

    JSON
    JSON
    { "Version":"2012-10-17", "Id": "default", "Statement": [ { "Sid": "s3objlambda", "Effect": "Allow", "Principal": {"Service": "cloudfront.amazonaws.com"}, "Action": "s3:*", "Resource": [ "arn:aws:s3:us-east-1:123456789012:accesspoint/Access-Point-name", "arn:aws:s3:us-east-1:123456789012:accesspoint/Access-Point-name/object/*" ], "Condition": { "StringEquals": {"aws:SourceArn": "arn:aws:cloudfront::123456789012:distribution/CloudFront-distribution-ID"} } } ] }
  7. Pilih Simpan.

Amazon S3 bucket
Untuk menambahkan izin ke bucket Amazon S3
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di panel navigasi, pilih Bucket.

  3. Pilih bucket Amazon S3 yang ingin Anda gunakan.

  4. Pilih tab Izin.

  5. Pilih Edit di bagian kebijakan Bucket.

  6. Tempelkan kebijakan berikut ke bidang Kebijakan.

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "*", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointAccount": "AWS-account-ID" } } } ] }
  7. Pilih Simpan perubahan.

Menggunakan bucket Amazon S3 yang dikonfigurasi sebagai titik akhir situs web

Anda dapat menggunakan bucket Amazon S3 yang dikonfigurasi sebagai titik akhir situs web sebagai asal khusus denganCloudFront. Saat mengonfigurasi CloudFront distribusi, untuk asal, masukkan titik akhir hosting situs web statis Amazon S3 untuk bucket Anda. Nilai ini muncul di konsol Amazon S3, pada tab Properties, di panel hosting situs web statis. Contoh:

http://bucket-name.s3-website-region.amazonaws.com

Untuk informasi selengkapnya tentang menentukan titik akhir situs web statis Amazon S3, lihat Titik akhir situs web di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Saat Anda menentukan nama bucket dalam format ini sebagai asal Anda, Anda dapat menggunakan pengalihan Amazon S3 dan dokumen kesalahan kustom Amazon S3. Untuk informasi selengkapnya, lihat Mengonfigurasi dokumen kesalahan khusus dan Meng onfigurasi pengal ihan di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon. (CloudFrontjuga menyediakan halaman kesalahan khusus. Untuk informasi lebih lanjut, lihatBuat halaman kesalahan khusus untuk kode status HTTP tertentu.)

Menggunakan bucket Amazon S3 sebagai server CloudFront asal Anda tidak mengubah bucket dengan cara apa pun. Anda masih dapat menggunakannya seperti biasa dan Anda mengeluarkan biaya Amazon S3 biasa. Untuk informasi selengkapnya tentang biaya yang harus digunakan CloudFront, lihat CloudFront Harga Amazon.

catatan

Jika Anda menggunakan CloudFront API untuk membuat distribusi dengan bucket Amazon S3 yang dikonfigurasi sebagai titik akhir situs web, Anda harus mengonfigurasinya dengan menggunakanCustomOriginConfig, meskipun situs web dihosting di bucket Amazon S3. Untuk informasi selengkapnya tentang membuat distribusi dengan menggunakan CloudFront API, lihat CreateDistribution di Refer ensi CloudFront API Amazon.

Tambahkan CloudFront ke bucket Amazon S3 yang ada

Jika Anda menyimpan objek Anda di bucket Amazon S3, Anda dapat meminta pengguna mendapatkan objek Anda langsung dari S3, atau Anda dapat mengonfigurasi CloudFront untuk mendapatkan objek Anda dari S3 dan kemudian mendistribusikannya ke pengguna Anda. Penggunaan CloudFront dapat lebih hemat biaya jika pengguna sering mengakses objek Anda karena, pada penggunaan yang lebih tinggi, harga untuk transfer CloudFront data lebih rendah daripada harga untuk transfer data Amazon S3. Selain itu, unduhan lebih cepat CloudFront daripada dengan Amazon S3 saja karena objek Anda disimpan lebih dekat dengan pengguna Anda.

catatan

Jika Anda CloudFront ingin menghormati pengaturan berbagi sumber daya lintas asal Amazon S3, konfigurasikan CloudFront untuk meneruskan Origin header ke Amazon S3. Untuk informasi selengkapnya, lihat Konten cache berdasarkan header permintaan.

Jika saat ini Anda mendistribusikan konten langsung dari bucket Amazon S3 menggunakan nama domain Anda sendiri (seperti example.com) alih-alih nama domain bucket Amazon S3 Anda (seperti amzn-s3-demo-bucket. s3.us-west-2.amazonaws.com), Anda dapat menambahkan CloudFront tanpa gangguan dengan menggunakan prosedur berikut.

Untuk menambahkan CloudFront saat Anda sudah mendistribusikan konten dari Amazon S3
  1. Buat CloudFront distribusi. Untuk informasi selengkapnya, lihat Buat distribusi.

    Saat Anda membuat distribusi, sebutkan nama bucket Amazon S3 Anda sebagai server asal.

    penting

    Agar bucket dapat digunakan CloudFront, nama harus sesuai dengan persyaratan penamaan DNS. Untuk informasi selengkapnya, buka A turan penamaan Bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

    Jika Anda menggunakan CNAME dengan Amazon S3, sebutkan pula CNAME untuk distribusi Anda.

  2. Buat halaman web uji yang berisi tautan ke objek yang dapat dibaca publik di buket Amazon S3, dan uji tautan. Untuk pengujian awal ini, gunakan nama CloudFront domain distribusi Anda di URL objek, misalnya,https://d111111abcdef8.cloudfront.net/images/image.jpg.

    Untuk informasi selengkapnya tentang format CloudFront URL, lihatSesuaikan format URL untuk file di CloudFront.

  3. Jika Anda menggunakan Amazon S3 CNames, aplikasi Anda menggunakan nama domain Anda (misalnya, example.com) untuk mereferensikan objek di bucket Amazon S3 Anda alih-alih menggunakan nama bucket Anda (misalnya, amzn-s3-demo-bucket.s3.amazonaws.com). Untuk terus menggunakan nama domain Anda untuk referensi objek alih-alih menggunakan nama CloudFront domain untuk distribusi Anda (misalnya, d111111abcdef8.cloudfront.net), Anda perlu memperbarui pengaturan dengan penyedia layanan DNS Anda.

    Untuk Amazon S3 CNAMEs agar berfungsi, penyedia layanan DNS Anda harus memiliki catatan sumber daya CNAME untuk domain Anda yang saat ini merutekan kueri domain ke bucket Amazon S3. Misalnya, jika pengguna meminta objek ini:

    https://example.com/images/image.jpg

    Permintaan secara otomatis dialihkan rutenya, dan pengguna melihat objek ini:

    https://amzn-s3-demo-bucket.s3.amazonaws.com/images/image.jpg

    Untuk merutekan kueri ke CloudFront distribusi alih-alih bucket Amazon S3, Anda perlu menggunakan metode yang disediakan oleh penyedia layanan DNS untuk memperbarui rekaman sumber daya CNAME yang ditetapkan untuk domain Anda. Catatan CNAME yang diperbarui ini mengalihkan kueri DNS dari domain Anda ke nama CloudFront domain untuk distribusi Anda. Untuk informasi lebih lanjut, lihat dokumentasi yang disediakan oleh penyedia layanan DNS Anda.

    catatan

    Jika Anda menggunakan Route 53 sebagai layanan DNS Anda, Anda dapat menggunakan set data sumber daya CNAME atau rekaman sumber daya alias. Untuk informasi tentang mengedit kumpulan rekaman sumber daya, lihat Mengedit catatan. Untuk informasi tentang kumpulan rekaman sumber daya alias, lihat Memilih antara rek aman alias dan non-alias. Kedua topik tersebut berada dalam Panduan Pengembang Amazon Route 53.

    Untuk informasi selengkapnya tentang menggunakan CNames dengan CloudFront, lihatGunakan URL khusus dengan menambahkan nama domain alternatif (CNames).

    Setelah Anda memperbarui kumpulan catatan sumber daya CNAME, mungkin diperlukan waktu hingga 72 jam untuk perubahan menyebar ke seluruh sistem DNS, meskipun biasanya hal itu terjadi lebih cepat. Selama waktu ini, beberapa permintaan untuk konten Anda akan terus dikirimkan ke keranjang Amazon S3, dan yang lainnya akan diarahkan ke CloudFront.

Memindahkan bucket Amazon S3 ke bucket lain Wilayah AWS

Jika Anda menggunakan Amazon S3 sebagai sumber untuk CloudFront distribusi dan memindahkan bucket ke tempat lain Wilayah AWS, CloudFront dapat memakan waktu hingga satu jam untuk memperbarui catatannya untuk menggunakan Wilayah baru jika kedua hal berikut ini benar:

  • Anda menggunakan identitas akses CloudFront asal (OAI) untuk membatasi akses ke bucket.

  • Anda memindahkan bucket ke Amazon S3 Region yang memerlukan Signature Version 4 untuk otentikasi.

Saat Anda menggunakan OAI, gunakan CloudFront Region (di antara nilai-nilai lainnya) untuk menghitung tanda tangan yang digunakan untuk meminta objek dari bucket Anda. Untuk informasi selengkapnya tentang cara membuat pekerjaan OAI, lihat Gunakan identitas akses asal (lama, tidak disarankan). Untuk daftar dukungan Tanda Wilayah AWS Tangan Versi 2, lihat Proses penandatanganan Tanda Tangan Versi 2 di Referensi Umum Amazon Web Services.

Untuk memaksa pembaruan catatan yang lebih cepat, Anda dapat memperbarui CloudFront distribusi Anda, misalnya, dengan memperbarui bidang Deskripsi pada tab Umum di CloudFront konsol. CloudFront Saat Anda memperbarui distribusi, CloudFront segera periksa Wilayah tempat bucket Anda berada. Propagasi perubahan ke semua lokasi tepi hanya membutuhkan waktu beberapa menit.

Menggunakan Titik Ak Multi-Region ses Amazon S3

Anda juga dapat menggunakan Titik Multi-Region Akses Amazon S3 sebagai CloudFront sumber. Amazon S3 Multi-Region Access Points menyediakan titik akhir global yang secara otomatis merutekan permintaan ke bucket Amazon S3 terdekat berdasarkan latensi jaringan. Saat Anda menggunakan Titik Multi-Region Akses Amazon S3 sebagai sumber, tentukan nama Multi-Region host Titik Akses sebagai nama domain asal:

multi-region-access-point-alias.accesspoint.s3-global.amazonaws.com

Untuk membatasi akses ke S3 Multi-Region Access Point sehingga hanya dapat diakses melalui CloudFront distribusi Anda, lihatMembatasi akses ke asal Titik Multi-Region Akses Amazon S3.

Gunakan MediaStore wadah atau MediaPackage saluran

Untuk melakukan streaming video menggunakan CloudFront, Anda dapat mengatur bucket Amazon S3 yang dikonfigurasi sebagai MediaStore wadah, atau membuat saluran dan titik akhir dengan MediaPackage. Kemudian Anda membuat dan mengonfigurasi distribusi CloudFront untuk streaming video.

Untuk informasi selengkapnya dan petunjuk langkah demi langkah, lihat topik berikut:

Gunakan Penyeimbang Beban Aplikasi

Anda dapat menggunakannya CloudFront untuk merutekan lalu lintas ke Penyeimbang Beban Aplikasi internal dan yang menghadap ke internet.

Jika asal Anda adalah satu atau beberapa server HTTP (S) (server web) yang dihosting di satu atau beberapa instans Amazon EC2, Anda dapat memilih untuk menggunakan Penyeimbang Beban Aplikasi yang menghadap ke internet untuk mendistribusikan lalu lintas ke instans. Penyeimbang beban yang menghadap ke internet memiliki nama DNS yang dapat diselesaikan secara publik dan merutekan permintaan dari klien ke target melalui internet.

Untuk informasi selengkapnya tentang menggunakan Penyeimbang Beban Aplikasi yang menghadap ke internet sebagai sumber Anda CloudFront, termasuk cara memastikan bahwa pemirsa hanya dapat mengakses server web Anda melalui CloudFront dan bukan dengan mengakses penyeimbang beban secara langsung, lihat. Batasi akses ke Penyeimbang Beban Aplikasi

Atau, Anda dapat menggunakan sumber VPC untuk mengirimkan konten dari aplikasi yang dihosting dengan Application Load Balancer internal di subnet pribadi virtual private cloud (VPC) Anda. Asal VPC mencegah aplikasi Anda dapat diakses di internet publik. Untuk informasi selengkapnya, lihat Batasi akses dengan asal VPC.

Gunakan Penyeimbang Beban Jaringan

Anda dapat menggunakan Network Load Balancers internal dan yang menghadap ke internet dengan Amazon. CloudFront Anda dapat menggunakan Penyeimbang Beban Jaringan internal di dalam subnet pribadi CloudFront dengan menggunakan asal VPC. CloudFront Asal VPC memungkinkan Anda untuk menyajikan konten dari aplikasi yang dihosting di subnet VPC pribadi tanpa mengeksposnya ke internet publik. Untuk informasi selengkapnya, lihat Batasi akses dengan asal VPC.

Atau, Anda juga dapat menggunakan CloudFront untuk mengirimkan lalu lintas dari Network Load Balancers yang menghadap ke internet. Penyeimbang beban yang menghadap ke internet memiliki nama DNS yang dapat diselesaikan secara publik dan dapat menerima permintaan dari klien di internet dan distribusi. CloudFront

Gunakan URL fungsi Lambda

URL fungsi Lambda adalah titik akhir HTTPS khusus untuk fungsi Lambda. Anda dapat menggunakan URL fungsi Lambda untuk membangun aplikasi web tanpa server sepenuhnya di dalam Lambda. Anda dapat memanggil aplikasi web Lambda secara langsung melalui URL fungsi, tanpa perlu mengintegrasikan dengan API Gateway atau Application Load Balancer.

Jika Anda membangun aplikasi web tanpa server dengan menggunakan fungsi Lambda dengan URL fungsi, Anda dapat menambahkan CloudFront untuk mendapatkan manfaat berikut:

  • Percepat aplikasi Anda dengan menyimpan konten lebih dekat ke pemirsa

  • Gunakan nama domain khusus untuk aplikasi web Anda

  • Merutekan jalur URL yang berbeda ke fungsi Lambda yang berbeda menggunakan perilaku CloudFront cache

  • Blokir permintaan tertentu menggunakan batasan CloudFront geografis atau AWS WAF (atau keduanya)

  • Gunakan AWS WAF dengan CloudFront untuk membantu melindungi aplikasi Anda dari bot berbahaya, membantu mencegah eksploitasi aplikasi umum, dan meningkatkan perlindungan dari serangan DDoS

Untuk menggunakan URL fungsi Lambda sebagai asal untuk CloudFront distribusi, tentukan nama domain lengkap dari URL fungsi Lambda sebagai domain asal. Nama domain URL fungsi Lambda menggunakan format berikut:

function-URL-ID.lambda-url.AWS-Region.on.aws

Bila Anda menggunakan URL fungsi Lambda sebagai asal untuk CloudFront distribusi, URL fungsi harus dapat diakses publik. Untuk melakukannya, gunakan salah satu opsi berikut:

  • Jika Anda menggunakan kontrol akses asal (OAC), AuthType parameter URL fungsi Lambda harus menggunakan AWS_IAM nilai dan mengizinkan izin dan dalam lambda:InvokeFunctionUrl kebijakan lambda:InvokeFunction berbasis sumber daya. Untuk informasi selengkapnya tentang menggunakan URL fungsi Lambda untuk OAC, lihat. Batasi akses ke asal URL AWS Lambda fungsi

  • Jika Anda tidak menggunakan OAC, Anda dapat menyetel AuthType parameter URL fungsi ke NONE dan mengizinkan lambda:InvokeFunctionUrl izin dalam kebijakan berbasis sumber daya.

Anda juga dapat menambahkan header asal kustom ke permintaan CloudFront yang dikirim ke asal, dan menulis kode fungsi untuk mengembalikan respons kesalahan jika header tidak ada dalam permintaan. Ini membantu memastikan bahwa pengguna hanya dapat mengakses aplikasi web Anda melalui CloudFront, tidak langsung menggunakan URL fungsi Lambda.

Untuk informasi selengkapnya tentang URL fungsi Lambda, lihat topik berikut di Panduan Peng AWS Lambda embang:

Gunakan Amazon EC2 (atau asal khusus lainnya)

Anda dapat menggunakan instans EC2 internal dan yang menghadap ke internet dengan Amazon. CloudFront Anda dapat menggunakan instans EC2 internal di dalam subnet pribadi CloudFront dengan menggunakan sumber VPC. CloudFront Asal VPC memungkinkan Anda untuk menyajikan konten dari aplikasi yang dihosting di subnet VPC pribadi tanpa mengeksposnya ke internet publik. Untuk informasi selengkapnya, lihat Batasi akses dengan asal VPC.

Asal khusus adalah server web HTTP (S) dengan nama DNS yang dapat diselesaikan secara publik yang merutekan permintaan dari klien ke target melalui internet. Server HTTP (S) dapat di-host di AWS—misalnya, instance Amazon EC2—atau di-host di tempat lain. Asal Amazon S3 yang dikonfigurasi sebagai titik akhir situs web juga dianggap sebagai asal kustom. Untuk informasi selengkapnya, lihat Menggunakan bucket Amazon S3 yang dikonfigurasi sebagai titik akhir situs web.

Saat Anda menggunakan server HTTP Anda sendiri sebagai asal khusus, Anda menentukan nama DNS server, bersama dengan port HTTP dan HTTPS dan protokol yang CloudFront ingin Anda gunakan saat mengambil objek dari asal Anda.

Sebagian besar CloudFront fitur didukung saat Anda menggunakan asal khusus dengan pengecualian konten pribadi. Meskipun Anda dapat menggunakan URL yang ditandatangani untuk mendistribusikan konten dari sumber khusus, CloudFront untuk mengakses asal kustom, asal harus tetap dapat diakses publik. Untuk informasi selengkapnya, lihat Menyajikan konten pribadi dengan URL yang ditandatangani dan cookie yang ditandatangani.

Ikuti panduan ini untuk menggunakan instans Amazon EC2 dan asal usul lainnya dengan CloudFront.

  • Host dan sajikan konten yang sama di semua server yang menyajikan konten untuk CloudFront asal yang sama. Untuk informasi selengkapnya, lihat Pengaturan asal dalam topik Semua referensi pengaturan distribusi.

  • Catat entri X-Amz-Cf-Id header di semua server jika Anda CloudFront perlu Dukungan atau menggunakan nilai ini untuk debugging.

  • Batasi permintaan ke port HTTP dan HTTPS yang didengarkan sumber kustom Anda.

  • Sinkronkan jam semua server dalam implementasi Anda. Perhatikan bahwa CloudFront menggunakan Waktu Universal Terkoordinasi (UTC) untuk URL yang ditandatangani dan cookie yang ditandatangani, untuk log, dan laporan. Selain itu, jika Anda memantau CloudFront aktivitas menggunakan CloudWatch metrik, perhatikan bahwa CloudWatch juga menggunakan UTC.

  • Gunakan server redundan untuk menangani kegagalan.

  • Untuk informasi tentang penggunaan asal kustom untuk menyajikan konten pribadi, lihat Batasi akses ke file pada asal kustom.

  • Untuk informasi tentang permintaan dan perilaku respons dan tentang kode status HTTP yang didukung, lihat Perilaku permintaan dan respons.

Jika Anda menggunakan Amazon EC2 untuk asal khusus, kami sarankan Anda melakukan hal berikut:

  • Gunakan Amazon Machine Image yang secara otomatis menginstal perangkat lunak untuk server web. Untuk informasi lebih lanjut, lihat Dokumentasi Amazon EC2.

  • Gunakan load balancer Elastic Load Balancing untuk menangani lalu lintas di beberapa instans Amazon EC2 dan untuk mengisolasi aplikasi Anda dari perubahan ke instans Amazon EC2. Misalnya, jika Anda menggunakan load balancer, Anda bisa menambahkan dan menghapus instans Amazon EC2 tanpa mengubah aplikasi Anda. Untuk informasi lebih lanjut, lihat Dokumentasi Penyeimbangan Beban Elastis.

  • Saat Anda membuat CloudFront distribusi, tentukan URL penyeimbang beban untuk nama domain server asal Anda. Untuk informasi selengkapnya, lihat Buat distribusi.

Gunakan CloudFront grup asal

Anda dapat menentukan grup asal untuk CloudFront asal Anda jika, misalnya, Anda ingin mengonfigurasi failover asal untuk skenario saat Anda membutuhkan ketersediaan tinggi. Gunakan failover asal untuk menetapkan asal utama CloudFront ditambah asal kedua yang CloudFront secara otomatis beralih ke saat asal utama mengembalikan respons kegagalan kode status HTTP tertentu.

Untuk informasi selengkapnya, termasuk langkah-langkah untuk menyiapkan grup asal, lihatOptimalkan ketersediaan tinggi dengan failover CloudFront asal.

Gunakan Amazon API Gateway

Anda dapat menggunakan API Gateway sebagai sumber khusus untuk CloudFront distribusi Anda. Untuk informasi selengkapnya, lihat topik berikut: