Tutorial ini menjelaskan cara mengonfigurasi bucket Cloud Storage untuk menghosting situs statis pada domain yang Anda miliki. Halaman web statis dapat berisi teknologi sisi klien seperti HTML, CSS, dan JavaScript. Halaman ini tidak boleh berisi konten dinamis seperti skrip sisi server seperti PHP.
Karena Cloud Storage tidak mendukung domain kustom dengan HTTPS saja, tutorial ini menggunakan Cloud Storage dengan Load Balancer Aplikasi eksternal untuk menyajikan konten dari domain kustom melalui HTTPS. Untuk mengetahui cara lain untuk menyajikan konten dari domain kustom melalui HTTPS, lihat pemecahan masalah penyajian HTTPS. Anda juga dapat menggunakan Cloud Storage untuk menyajikan konten domain kustom melalui HTTP, yang tidak memerlukan load balancer.
Untuk mengetahui contoh dan tips tentang halaman web statis, termasuk cara menghosting aset statis untuk situs dinamis, lihat halaman Situs Statis.
Tujuan
Tutorial ini menunjukkan kepada Anda cara:- Membuat bucket.
- Mengupload dan berbagi file di situs Anda.
- Menyiapkan load balancer dan sertifikat SSL.
- Menghubungkan load balancer ke bucket Anda.
- Mengarahkan domain Anda ke load balancer menggunakan data
A
. - Menguji situs.
Biaya
Tutorial ini menggunakan komponen Google Cloud yang dapat ditagih berikut:
Lihat tips Memantau tagihan untuk mengetahui detail tentang biaya yang mungkin dikenakan saat menghosting situs statis.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
- Aktifkan Compute Engine API untuk project Anda.
- Memiliki peran Identity and Access Management berikut: Storage Admin dan Compute Network Admin.
- Siapkan domain yang Anda miliki atau kelola. Jika Anda belum memiliki domain, ada banyak layanan yang dapat digunakan untuk mendaftarkan domain baru, seperti Cloud Domains.
Tutorial ini menggunakan domain
example.com
. - Siapkan beberapa file situs yang ingin Anda sajikan. Tutorial ini berfungsi optimal jika Anda
memiliki setidaknya halaman indeks (
index.html
) dan halaman 404 (404.html
). - (Opsional) Jika ingin bucket Cloud Storage memiliki nama yang sama dengan domain, Anda harus memverifikasi bahwa Anda memiliki atau mengelola domain yang akan digunakan. Pastikan Anda
memverifikasi domain level teratas, seperti
example.com
, dan bukan subdomain, sepertiwww.example.com
. Jika Anda membeli domain melalui Cloud Domains, verifikasi dilakukan secara otomatis.
Membuat bucket
Untuk membuat bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
- Klik + Buat.
- Di halaman Buat bucket, masukkan informasi bucket Anda. Untuk melanjutkan ke langkah berikutnya, klik Lanjutkan.
- Untuk Beri nama bucket, masukkan nama yang memenuhi persyaratan nama bucket.
- Untuk opsi Choose where to store your data, pilih Location type dan Location tempat data bucket akan disimpan secara permanen.
- Untuk Pilih kelas penyimpanan untuk data, pilih kelas penyimpanan default untuk bucket, atau pilih Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
Catatan: Panel Estimasi biaya bulanan di panel kanan memperkirakan biaya bulanan bucket berdasarkan kelas dan lokasi penyimpanan pilihan Anda, serta perkiraan operasi dan ukuran data.
- Untuk Pilih cara mengontrol akses ke objek, pilih apakah bucket Anda menerapkan pencegahan akses publik atau tidak, lalu pilih model Kontrol akses untuk objek bucket Anda.
Catatan: Jika pencegahan akses publik sudah diterapkan oleh kebijakan organisasi project Anda, tombol Prevent public acces akan dikunci.
- Untuk opsi Pilih cara melindungi data objek, konfigurasikan Alat perlindungan jika diinginkan, lalu pilih metode Enkripsi data.
- Klik Create.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
Di lingkungan pengembangan Anda, jalankan perintah
gcloud storage buckets create
:gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION
Dengan keterangan:
BUCKET_NAME
adalah nama yang ingin Anda berikan untuk bucket, dengan tunduk pada persyaratan penamaan. Misalnya:my-bucket
.BUCKET_LOCATION
adalah lokasi bucket Anda. Misalnya,us-east1
.
Jika permintaan berhasil, perintah akan menampilkan pesan berikut ini:
Creating gs://BUCKET_NAME/...
Tetapkan tanda berikut untuk memiliki kontrol yang lebih besar atas pembuatan bucket Anda:
--project
: Menentukan project ID atau nomor project yang akan dikaitkan dengan bucket Anda. Contoh,my-project
.--default-storage-class
: Menentukan kelas penyimpanan default bucket Anda. Misalnya,STANDARD
.--soft-delete-duration
: Menentukan durasi retensi penghapusan untuk sementara pada bucket. Misalnya,2w1d
.--uniform-bucket-level-access
: Mengaktifkan akses level bucket seragam untuk bucket Anda.
Untuk mengetahui daftar lengkap opsi pembuatan bucket gcloud, lihat opsi
buckets create
.Contoh:
gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_ID --default-storage-class=STORAGE_CLASS --location=BUCKET_LOCATION --uniform-bucket-level-access
Library Klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Terraform
Anda dapat menggunakan resource Terraform untuk membuat bucket penyimpanan.
Contoh berikut mencakup penetapan akhiran halaman indeks dan halaman error kustom. Untuk informasi selengkapnya, lihat Menetapkan halaman khusus.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.- Buat file JSON yang berisi setelan untuk bucket, yang harus menyertakan
name
untuk bucket. Lihat dokumentasi Buckets:Insert untuk daftar lengkap setelan. Berikut adalah setelan umum yang dapat disertakan: BUCKET_NAME
adalah nama yang ingin Anda berikan pada bucket, sesuai dengan persyaratan penamaan. Misalnya,my-bucket
.BUCKET_LOCATION
adalah lokasi tempat Anda ingin menyimpan data objek bucket. Misalnya,US-EAST1
.STORAGE_CLASS
adalah kelas penyimpanan default untuk bucket Anda. Misalnya,STANDARD
.- Gunakan
cURL
untuk memanggil JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER"
Dengan keterangan:
JSON_FILE_NAME
adalah nama file JSON yang Anda buat pada Langkah 2.PROJECT_IDENTIFIER
adalah ID atau nomor project yang akan dikaitkan dengan bucket Anda. Misalnya,my-project
.
{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, } }
Dengan keterangan:
XML API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.- Buat file XML yang berisi setelan untuk bucket. Lihat dokumentasi XML: Membuat bucket untuk mengetahui daftar lengkap setelan. Berikut adalah setelan umum yang dapat disertakan:
BUCKET_LOCATION
adalah lokasi tempat Anda ingin menyimpan data objek bucket. Misalnya,US-EAST1
.STORAGE_CLASS
adalah kelas penyimpanan default untuk bucket Anda. Misalnya,STANDARD
.- Gunakan
cURL
untuk memanggil XML API:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.googleapis.com/BUCKET_NAME"
Dengan keterangan:
XML_FILE_NAME
adalah nama file XML yang Anda buat pada Langkah 2.PROJECT_ID
adalah ID project yang akan dikaitkan dengan bucket Anda. Contoh,my-project
.BUCKET_NAME
adalah nama yang ingin Anda berikan pada bucket, sesuai dengan persyaratan penamaan. Contoh,my-bucket
.
<CreateBucketConfiguration> <LocationConstraint>BUCKET_LOCATION</LocationConstraint> <StorageClass>STORAGE_CLASS</StorageClass> </CreateBucketConfiguration>
Dengan keterangan:
Mengupload file situs Anda
Tambahkan file yang ingin ditayangkan oleh situs Anda ke bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Pada daftar bucket, klik nama bucket yang Anda buat.
Halaman Bucket details akan terbuka dengan tab Objects dipilih.
Klik tombol Upload files.
Pada dialog file, cari file yang diinginkan dan pilih file tersebut.
Setelah upload selesai, Anda akan melihat nama file beserta informasi file yang ditampilkan di bucket.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah gcloud storage cp
untuk menyalin file ke bucket Anda.
Misalnya, untuk menyalin file index.html
dari lokasinya saat ini
Desktop
ke bucket my-static-assets
:
gcloud storage cp Desktop/index.html gs://my-static-assets
Jika berhasil, responsnya akan terlihat seperti contoh berikut:
Completed files 1/1 | 164.3kiB/164.3kiB
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menunjukkan proses upload objek individual:
Contoh berikut menunjukkan proses upload beberapa objek secara bersamaan:
Contoh berikut menunjukkan proses upload semua objek dengan awalan umum secara bersamaan:
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menunjukkan proses upload objek individual:
Contoh berikut menunjukkan proses upload beberapa objek secara bersamaan:
Contoh berikut menunjukkan proses upload semua objek dengan awalan umum secara bersamaan:
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Terraform
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk mengaktifkan JSON API dengan permintaan ObjekPOST
. Untuk fileindex.html
yang diupload ke bucket bernamamy-static-assets
:curl -X POST --data-binary @index.html \ -H "Content-Type: text/html" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/upload/storage/v1/b/my-static-assets/o?uploadType=media&name=index.html"
XML API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk mengaktifkan XML API dengan permintaan ObjekPUT
. Untuk fileindex.html
yang diupload ke bucket bernamamy-static-assets
:curl -X PUT --data-binary @index.html \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: text/html" \ "https://storage.googleapis.com/my-static-assets/index.html"
Membagikan file
Agar semua objek di bucket Anda dapat dibaca oleh siapa saja di internet publik:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang ingin Anda tampilkan kepada publik.
Pilih tab Permissions di dekat bagian atas halaman.
Jika panel Public access bertuliskan Not public, klik tombol berlabel Remove public access, lalu klik Confirm di dialog yang muncul.
Klik tombol add_box Grant access.
Kotak dialog Add principals akan muncul.
Di kolom New principals, masukkan
allUsers
.Pada menu drop-down Pilih suatu peran, pilih sub-menu Cloud Storage, lalu klik opsi Storage Object Viewer.
Klik Save.
Klik Allow public access.
Setelah dipublikasikan, ikon link akan muncul untuk setiap objek di kolom akses publik. Anda dapat mengklik ikon ini untuk mendapatkan URL objek.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah buckets add-iam-policy-binding
:
gcloud storage buckets add-iam-policy-binding gs://my-static-assets --member=allUsers --role=roles/storage.objectViewer
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Terraform
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Buat file JSON yang berisi informasi berikut:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Gunakan
cURL
untuk memanggil JSON API dengan permintaan BucketPUT
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Dengan keterangan:
JSON_FILE_NAME
adalah jalur untuk file JSON yang Anda buat pada Langkah 2.BUCKET_NAME
adalah nama bucket dengan objek yang ingin Anda tampilkan kepada publik. Contoh,my-static-assets
.
XML API
Anda tidak bisa membuat agar semua objek dalam bucket dapat dibaca secara publik dengan
XML API. Gunakan Konsol Google Cloud atau gcloud storage
, atau tetapkan ACL untuk setiap objek.
Agar tiap objek di bucket Anda dapat diakses secara publik, Anda harus mengalihkan mode Access control bucket ke Fine-grained. Umumnya, membuat semua file di bucket Anda dapat diakses oleh publik lebih mudah dan lebih cepat.
Pengunjung menerima kode respons http 403
setelah meminta URL untuk
file non-publik atau yang tidak ada. Lihat bagian berikutnya untuk mengetahui informasi tentang cara
menambahkan halaman error dengan kode respons http 404
.
Direkomendasikan: menetapkan halaman khusus
Anda dapat menetapkan akhiran halaman indeks dan halaman error kustom yang dikenal sebagai halaman khusus. Menetapkan salah satunya bersifat opsional, tetapi jika Anda tidak menetapkan akhiran halaman indeks dan mengupload halaman indeks yang sesuai, pengguna yang mengakses situs tingkat teratas Anda akan melihat hierarki dokumen XML yang berisi daftar objek publik di bucket Anda.
Untuk informasi selengkapnya tentang perilaku halaman khusus, lihat Halaman khusus.
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, cari bucket yang Anda buat.
Klik menu Bucket overflow (more_vert) yang terkait dengan bucket, lalu pilih Edit website configuration.
Pada dialog konfigurasi situs, tentukan halaman utama dan halaman error.
Klik Save.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah buckets update
dengan flag --web-main-page-suffix
dan --web-error-page
.
Dalam contoh berikut, MainPageSuffix
disetel ke
index.html
dan NotFoundPage
disetel ke 404.html
:
gcloud storage buckets update gs://my-static-assets --web-main-page-suffix=index.html --web-error-page=404.html
Jika berhasil, perintah menampilkan:
Updating gs://www.example.com/... Completed 1
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Buat file JSON yang menetapkan properti
mainPageSuffix
dannotFoundPage
di objekwebsite
ke halaman yang diinginkan.Dalam contoh berikut,
mainPageSuffix
disetel keindex.html
dannotFoundPage
disetel ke404.html
:{ "website":{ "mainPageSuffix": "index.html", "notFoundPage": "404.html" } }
Gunakan
cURL
untuk mengaktifkan JSON API dengan permintaanPATCH
Bucket. Untuk bucketmy-static-assets
:curl -X PATCH --data-binary @web-config.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/my-static-assets"
XML API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Buat file XML yang menetapkan elemen
MainPageSuffix
danNotFoundPage
dalam elemenWebsiteConfiguration
ke halaman yang diinginkan.Dalam contoh berikut,
MainPageSuffix
disetel keindex.html
danNotFoundPage
disetel ke404.html
:<WebsiteConfiguration> <MainPageSuffix>index.html</MainPageSuffix> <NotFoundPage>404.html</NotFoundPage> </WebsiteConfiguration>
Gunakan Akun
cURL
untuk mengaktifkan API XML dengan permintaan BucketPUT
dan parameter string kueriwebsiteConfig
. Untukmy-static-assets
:curl -X PUT --data-binary @web-config.xml \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://storage.googleapis.com/my-static-assets?websiteConfig
Menyiapkan load balancer dan sertifikat SSL
Cloud Storage tidak mendukung domain kustom dengan HTTPS sendiri, sehingga Anda juga perlu menyiapkan sertifikat SSL yang dilampirkan ke load balancer HTTPS untuk menyajikan situs Anda melalui HTTPS. Bagian ini menunjukkan cara menambahkan bucket ke backend load balancer dan cara menambahkan sertifikat SSL yang dikelola Google baru ke frontend load balancer.
Memulai konfigurasi Anda
Di Konsol Google Cloud, buka halaman Load balancing.
- Klik Create load balancer.
- Untuk Type of load balancer, pilih Application Load Balancer (HTTP/HTTPS) lalu klik Next.
- Untuk Public facing or internal, pilih Public facing (eksternal), lalu klik Next.
- Untuk Global or single region deployment, pilih Best for global Workload, lalu klik Next.
- Untuk Load balancer generasi, pilih classic Application Load Balancer dan klik Next.
- Klik Konfigurasikan.
Jendela konfigurasi untuk load balancer Anda akan muncul.
Konfigurasi dasar
Sebelum melanjutkan dengan konfigurasi, masukkan Nama load balancer, seperti example-lb
.
Mengonfigurasi frontend
Bagian ini menunjukkan cara mengonfigurasi protokol HTTPS dan membuat sertifikat SSL. Anda juga dapat memilih sertifikat yang ada atau mengupload sertifikat SSL yang dikelola sendiri.
- Klik Frontend configuration.
- (Opsional) Beri Name untuk konfigurasi frontend.
- Untuk Protocol, pilih HTTPS (termasuk HTTP/2).
- Untuk IP version, pilih IPv4. Jika Anda lebih memilih IPv6, lihat Penghentian IPv6 untuk mengetahui informasi selengkapnya.
Untuk kolom IP address:
- Pada menu dropdown, klik Create IP address.
- Di jendela pop-up Reserve a new static IP address, masukkan nama, seperti
example-ip
untuk Name alamat IP. - Klik Reserve.
Untuk Port, pilih 443.
Di menu dropdown kolom Certificate, pilih Create a new certificate. Formulir pembuatan sertifikat akan muncul di panel. Konfigurasi hal berikut ini:
- Beri Name pada sertifikat, seperti
example-ssl
. - Untuk Create mode, pilih Create Google-managed certificate.
- Untuk Domains, masukkan nama situs, seperti
www.example.com
. Jika Anda ingin menyajikan konten melalui domain tambahan seperti domain rootexample.com
, tekan Enter untuk menambahkannya di baris tambahan. Setiap sertifikat memiliki batas 100 domain.
- Beri Name pada sertifikat, seperti
Klik Create.
(Opsional) Jika Anda ingin Google Cloud menyiapkan secara otomatis load balancer HTTP parsial untuk mengalihkan traffic HTTP, centang kotak di samping Enable HTTP to HTTPS redirect.
Klik Done.
Mengonfigurasi backend
- Klik Backend configuration.
- Di menu dropdown Backend services & backend buckets, klik Create a backend bucket.
- Pilih Backend bucket name, seperti
example-bucket
. Nama yang Anda pilih bisa berbeda dengan nama bucket yang Anda buat sebelumnya. - Klik Browse, yang ada di kolom Cloud Storage bucket.
- Pilih bucket
my-static-assets
yang Anda buat sebelumnya, lalu klik Select. - (Opsional) Jika Anda ingin menggunakan Cloud CDN, centang kotak Enable Cloud CDN dan konfigurasikan Cloud CDN sesuai keinginan. Perhatikan bahwa Cloud CDN dapat dikenai biaya tambahan.
- Klik Create.
Mengonfigurasi aturan pemilihan rute
Aturan pemilihan rute adalah komponen peta URL Load Balancer Aplikasi eksternal. Untuk tutorial ini, Anda harus melewati bagian konfigurasi load balancer ini, karena otomatis disetel untuk menggunakan backend yang baru saja Anda konfigurasikan.
Meninjau konfigurasi
- Klik Review and finalize.
- Tinjau Frontend, Routing rules, dan Backend.
- Klik Create.
Anda mungkin perlu menunggu beberapa menit sampai load balancer dibuat.
Menghubungkan domain ke load balancer
Setelah load balancer dibuat, klik nama load balancer Anda:
example-lb
. Catat alamat IP yang terkait dengan load balancer: misalnya, 30.90.80.100
. Untuk mengarahkan domain ke load balancer, buat data A
menggunakan layanan pendaftaran domain. Jika menambahkan beberapa domain ke sertifikat SSL, Anda harus menambahkan data A
untuk setiap domain, yang semuanya mengarah ke alamat IP load balancer. Misalnya, untuk membuat data A
bagi
www.example.com
dan example.com
:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Direkomendasikan: Memantau status sertifikat SSL
Mungkin perlu waktu hingga 60-90 menit bagi Google Cloud untuk menyediakan sertifikat dan membuat situs tersedia melalui load balancer. Untuk memantau status sertifikat Anda:
Konsol
- Buka halaman Load balancing di Konsol Google Cloud.
Buka Load balancing - Klik nama load balancer Anda:
example-lb
. - Klik nama sertifikat SSL yang terkait dengan load balancer:
example-ssl
. - Baris Status dan Domain status menampilkan status sertifikat. Keduanya harus aktif agar sertifikat valid untuk situs Anda.
Command line
Untuk memeriksa status sertifikat, jalankan perintah berikut:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
Untuk memeriksa status domain, jalankan perintah berikut:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
Lihat Memecahkan masalah sertifikat SSL untuk informasi selengkapnya tentang status sertifikat.
Menguji situs
Setelah sertifikat SSL aktif, pastikan konten disajikan dari bucket dengan membuka https://www.example.com/test.html
, dengan test.html
adalah objek yang disimpan di bucket yang Anda gunakan sebagai backend. Jika Anda menetapkan properti MainPageSuffix
, https://www.example.com
akan mengarah ke index.html
.
Pembersihan
Setelah menyelesaikan tutorial, Anda dapat membersihkan resource yang dibuat sehingga resource tersebut berhenti menggunakan kuota dan dikenai biaya. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.
Menghapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Menghapus load balancer dan bucket
Jika Anda tidak ingin menghapus seluruh project, hapus load balancer dan bucket yang Anda buat untuk tutorial:
- Buka halaman Load balancing di Konsol Google Cloud.
Buka Load balancing - Centang kotak di samping
example-lb
. - Klik Delete.
- (Opsional) Centang kotak di samping resource yang ingin dihapus bersama dengan load balancer, seperti bucket
my-static-assets
atau sertifikat SSLexample-ssl
. - Klik Delete load balancer atau Delete load balancer and the selected resources.
Merilis alamat IP yang dicadangkan
Cara menghapus alamat IP yang dicadangkan yang Anda gunakan untuk tutorial:
Di Konsol Google Cloud, buka halaman External IP addresses.
Centang kotak di samping
example-ip
.Klik Release static address.
Di jendela konfirmasi, klik Delete.
Langkah selanjutnya
- Lihat contoh dan tips menggunakan bucket untuk menghosting situs statis.
- Baca tentang pemecahan masalah untuk menghosting situs statis.
- Pelajari cara menghosting aset statis untuk situs dinamis.
- Pelajari solusi penyajian web Google Cloud lainnya.
Cobalah sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud Storage dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba Cloud Storage gratis