Hosting statis di Amazon S3 - Konfigurasi DNS


117

Saya sedang mengerjakan aplikasi web kecil (semua sisi klien) Saya ingin menyimpannya di Amazon S3. Saya telah menemukan beberapa panduan tentang ini dan telah berhasil membuat sendiri sebuah keranjang (dengan nama yang sama dengan domain saya), menetapkannya sebagai situs web dan mengunggah beberapa konten.

Di mana saya kesulitan, dan di mana semua dokumentasi mulai menjadi agak kabur, adalah cara mengkonfigurasi DNS saya dengan benar.

Semua pendaftar saya ( 123-reg ) dapat menyarankan adalah penerusan web yang memberi saya domainku.com.s3.amazonaws.com

Apa yang harus saya konfigurasikan, dan di mana (mis. 123-reg / Amazon) saya bisa mendapatkan URL yang bersih?


Sejak pertanyaan ini diajukan, banyak hal telah berubah. Sekarang Anda dapat menghosting situs Anda di S # dengan domain root, lihat panduannya di
pors

Jawaban:


248

Sepertinya Anda sudah melakukan sebagian besar pekerjaan. Untuk kejelasan, saya akan membahas langkah-langkah itu lagi hanya untuk memastikan Anda sudah disiapkan dengan benar:

  1. Buat keranjang s3 menggunakan nama domain Anda sebagai nama keranjang (nama keranjang Anda harus www.example.com jika Anda ingin situs Anda menjadi example.com atau www.example.com)

  2. Unggah konten Anda ke ember s3. Pilih nama yang konsisten untuk file indeks situs Anda (biasanya index.html). Anda juga dapat mengunggah halaman kustom untuk kesalahan 404 Not Found. Sebut ini 404.html. Berikan izin Baca ke setiap file di situs Anda agar publik dapat melihatnya. Jangan berikan izin tambahan apa pun ke bucket, cukup file di dalamnya.

  3. Konfigurasikan keranjang Anda sebagai situs web. Dengan konsol AWS ( https://console.aws.amazon.com/s3/ ) Anda dapat memilih bucket Anda, klik properti, lalu pilih tab "Situs web". Klik diaktifkan dan setel dokumen indeks Anda ke "index.html" dan dokumen kesalahan Anda ke "404.html". Anda juga perlu menyetel bucket Anda dengan izin akses untuk mengizinkan akses melalui web ( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )

  4. Catat URL "Endpoint" di tab konfigurasi situs web. Di sinilah situs web Anda berada. Anda dapat membuka tautan di jendela baru dan Anda akan melihat situs web Anda seperti yang akan terlihat. Klik di sekitar dan pastikan semuanya berfungsi seperti yang diharapkan.

Anda HARUS menggunakan alamat titik akhir di semua langkah di bawah ini. Www.example.com.s3.amazonaws.com normal tidak akan berfungsi - Anda perlu menggunakan versi regional ( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )

Sekarang, kami dapat menyiapkan DNS untuk memberi Anda URL kustom yang bersih.

Pertama, kami akan memetakan www.example.com ke situs Anda.

Menggunakan alat penyedia DNS Anda, (123-reg dalam kasus Anda), Anda perlu membuat data CNAME untuk memetakan www.example.com ke www.example.com.s3-website-us-east-1.amazonaws.com

CNAME adalah satu-satunya hal yang Anda perlukan jika Anda hanya menginginkan www.example.com. Kebanyakan orang juga ingin "example.com" berfungsi jadi kami membutuhkan langkah lain.

example.com sering disebut sebagai domain polos atau catatan puncak domain. Alasan masalahnya adalah karena tidak bisa menjadi CNAME. CNAME hanya bekerja di subdomain seperti "www." Ini membuatnya lebih sulit untuk menunjuk ke s3.

Pendekatan yang biasa digunakan adalah menggunakan layanan untuk secara otomatis mengalihkan permintaan apa pun yang menuju ke example.com untuk diarahkan ke www.example.com. Ini kemudian akan mengambil data CNAME Anda dan situs Anda akan disajikan dari s3.

Pengalihan otomatis tidak dimungkinkan dengan DNS lama biasa sehingga Anda harus menggunakan layanan lain. Beberapa penyedia DNS menawarkan layanan ini bersama dengan DNS mereka (GoDaddy melakukannya, amazon route53 tidak. Tidak yakin tentang 123-reg)

Jika penyedia DNS Anda tidak melakukannya, ada beberapa layanan gratis. Salah satu yang telah saya gunakan adalah http://wwwizer.com/naked-domain-redirect - tidak memerlukan pendaftaran atau pembayaran apa pun.

Untuk menggunakan jenis layanan ini, Anda perlu membuat data "A" DNS untuk domain polos Anda. Untuk layanan wwwizer.com, Anda perlu membuat rekam A untuk mengarahkan example.com ke 174.129.25.170. Itu saja!

Jadi, dengan penyiapan ini, jika pengguna mengetik example.com ke browser mereka, hal berikut akan terjadi:

  1. Kueri DNS: example.com -> 174.129.25.170 (layanan wwwizer.com)
  2. Permintaan HTTP ke 174.129.25.170 untuk example.com
  3. 174.129.25.170 mengalihkan example.com -> www.example.com
  4. Kueri DNS: www.example.com -> CNAME ke www.example.com.s3-website-us-east-1.amazonaws.com
  5. Kueri DNS: www.example.com.s3-website-us-east-1.amazonaws.com -> mengarah ke Amazon S3
  6. Permintaan HTTP untuk www.example.com sekarang dilayani oleh Amazon S3

Nikmati!


2
Terima kasih banyak atas kejelasan semua itu! Saya telah membuat perubahan, hanya menunggu sampai tepat, semoga saja semuanya akan berhasil.
Merlin Mason

hmmm, sepertinya masih belum berfungsi. Berikut adalah screengrab dari konfigurasi DNS - cl.ly/CP6U Titik di bagian akhir tampak mencurigakan, saya tidak menambahkannya di sana, dan meletakkan URL itu di browser dengan titik di ujungnya memberi saya kesalahan yang tidak ditemukan ember. Saya mencoba menghapusnya, tetapi kembali setelah saya simpan, dan saya mencoba menggantinya dengan / tetapi kemudian saya mendapatkan kesalahan yang tidak valid. Apakah menurut Anda ini bisa menjadi masalah di 123-regs end?
Merlin Mason

Halo Merlin, saya mencoba mencari nama domain Anda (wpfill.me) dan saya tidak melihat satu pun catatan di tangkapan layar Anda. Apakah 123-reg memiliki langkah "publikasikan" atau "lakukan" yang terpisah? Sepertinya konfigurasi Anda belum diterapkan.
secretmike

Hmmm, saya pikir pasti ada masalah dengan 123-reg, saya mencoba mengatur ulang catatan DNS dan menunggu 48 jam untuk menyebarkannya dan masih tidak ada kegembiraan. Saya kemudian mengalihkan DNS hosting ke Cloudflare dan menjalankan semuanya dalam 20 menit :) Terima kasih atas bantuan Anda, sangat menghargainya!
Merlin Mason


1

Saya yakin Anda harus memilih semua dokumen di keranjang Anda, klik kanan, dan pilih "Jadikan Publik". Anda harus melakukan ini setiap kali ada perubahan dalam keranjang juga. Saya kemudian biasanya mengklik kanan pada keranjang, memilih properti, memilih izin di panel sebelah kanan lalu menambahkan "Semua orang sebagai" penerima "lalu hanya memberi mereka izin" daftar ". Sisa artikel Anda sangat bagus. Bagian tentang domain polos membantu saya menyelesaikan masalah saya. Anda juga dapat mengarahkan domain polos ke domain www dalam S3 di bawah "Hosting Situs Web Statis" Ini mungkin cara termudah. ​​Sekali lagi terima kasih atas semua bantuan Anda.

Tim


3
Langkah manual ini tidak diperlukan jika Anda menerapkan kebijakan keranjang seperti yang dijelaskan di atas.
alat

1

Perbarui 2019

Mulai hari ini, pengaturan DNS berikut berhasil bagi saya untuk membuat situs web statis AWS S3 berfungsi:

Pengaturan DNS untuk pemetaan keranjang


0

Dari layar DNS Lanjutan di panel kontrol 123-reg Anda

  • Saya mulai dengan mengklik tombol "Reset DNS" ke pengaturan default 123-reg.

Ini memberi saya yang berikut;

DNS EntryType       PriorityTTLDestination/Target
*                 A                                 81.xx.xx.xx              
@               A                                 81.xx.xx.xx              
@               MX          10               xx0.123-reg.co.uk
@               MX          20               xx1.123-reg.co.uk

  • Saya kemudian menambahkan entri ini

www          CNAME                    www.example.com.s3-website-us-east-1.amazonaws.com

Dari panduan Kelola DNS mereka pdf dikatakan "@ record" mengacu pada "domain Anda dalam bentuk paling murni tanpa subdomain" yaitu domain polos stackoverflow.com

Tapi itu tidak menyebutkan apa itu "* record", saya berasumsi itu akan menangkap semua sub domain dan berpikir itu mungkin melebihi catatan CNAME tetapi tampaknya tidak demikian.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.