

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

# Memulai dengan CloudFront
<a name="GettingStarted"></a>

Topik di bagian ini menunjukkan cara memulai mengirimkan konten Anda dengan Amazon CloudFront.

[Siapkan Akun AWS](setting-up-cloudfront.md)Topik ini menjelaskan prasyarat untuk tutorial berikut, seperti membuat Akun AWS dan membuat pengguna dengan akses administratif.

Tutorial distribusi dasar menunjukkan cara mengatur kontrol akses asal (OAC) untuk mengirim permintaan yang diautentikasi ke asal Amazon S3.

Tutorial situs web statis aman menunjukkan cara membuat situs web statis yang aman untuk nama domain Anda menggunakan OAC dengan asal Amazon S3. Tutorial menggunakan template Amazon CloudFront (CloudFront) untuk konfigurasi dan penyebaran.

**Topics**
+ [

# Siapkan Akun AWS
](setting-up-cloudfront.md)
+ [

# Memulai dengan distribusi CloudFront standar
](GettingStarted.SimpleDistribution.md)
+ [

# Memulai dengan distribusi standar (AWS CLI)
](get-started-cli-tutorial.md)
+ [

# Memulai dengan situs web statis yang aman
](getting-started-secure-static-website-cloudformation-template.md)

# Siapkan Akun AWS
<a name="setting-up-cloudfront"></a>

Topik ini menjelaskan langkah-langkah awal, seperti membuat Akun AWS, untuk mempersiapkan Anda menggunakan Amazon CloudFront.

**Topics**
+ [

## Mendaftar untuk Akun AWS
](#sign-up-for-aws)
+ [

## Buat pengguna dengan akses administratif
](#create-an-admin)
+ [

## Pilih cara mengakses CloudFront
](#introduction-accessing-cloudfront)

## Mendaftar untuk Akun AWS
<a name="sign-up-for-aws"></a>

Jika Anda tidak memiliki Akun AWS, selesaikan langkah-langkah berikut untuk membuatnya.

**Untuk mendaftar untuk Akun AWS**

1. Buka [https://portal.aws.amazon.com/billing/pendaftaran.](https://portal.aws.amazon.com/billing/signup)

1. Ikuti petunjuk online.

   Bagian dari prosedur pendaftaran melibatkan menerima panggilan telepon atau pesan teks dan memasukkan kode verifikasi pada keypad telepon.

   Saat Anda mendaftar untuk sebuah Akun AWS, sebuah *Pengguna root akun AWS*dibuat. Pengguna root memiliki akses ke semua Layanan AWS dan sumber daya di akun. Sebagai praktik keamanan terbaik, tetapkan akses administratif ke pengguna, dan gunakan hanya pengguna root untuk melakukan [tugas yang memerlukan akses pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS mengirimi Anda email konfirmasi setelah proses pendaftaran selesai. Kapan saja, Anda dapat melihat aktivitas akun Anda saat ini dan mengelola akun Anda dengan masuk [https://aws.amazon.com.rproxy.goskope.comke/](https://aws.amazon.com/) dan memilih **Akun Saya**.

## Buat pengguna dengan akses administratif
<a name="create-an-admin"></a>

Setelah Anda mendaftar Akun AWS, amankan Pengguna root akun AWS, aktifkan AWS IAM Identity Center, dan buat pengguna administratif sehingga Anda tidak menggunakan pengguna root untuk tugas sehari-hari.

**Amankan Anda Pengguna root akun AWS**

1.  Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/)sebagai pemilik akun dengan memilih **pengguna Root** dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.

   Untuk bantuan masuk dengan menggunakan pengguna root, lihat [Masuk sebagai pengguna root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) di *AWS Sign-In Panduan Pengguna*.

1. Mengaktifkan autentikasi multi-faktor (MFA) untuk pengguna root Anda.

   Untuk petunjuk, lihat [Mengaktifkan perangkat MFA virtual untuk pengguna Akun AWS root (konsol) Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) di Panduan Pengguna *IAM*.

**Buat pengguna dengan akses administratif**

1. Aktifkan Pusat Identitas IAM.

   Untuk mendapatkan petunjuk, silakan lihat [Mengaktifkan AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) di *Panduan Pengguna AWS IAM Identity Center *.

1. Di Pusat Identitas IAM, berikan akses administratif ke pengguna.

   Untuk tutorial tentang menggunakan Direktori Pusat Identitas IAM sebagai sumber identitas Anda, lihat [Mengkonfigurasi akses pengguna dengan default Direktori Pusat Identitas IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) di *Panduan AWS IAM Identity Center Pengguna*.

**Masuk sebagai pengguna dengan akses administratif**
+ Untuk masuk dengan pengguna Pusat Identitas IAM, gunakan URL masuk yang dikirim ke alamat email saat Anda membuat pengguna Pusat Identitas IAM.

  Untuk bantuan masuk menggunakan pengguna Pusat Identitas IAM, lihat [Masuk ke portal AWS akses](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) di *Panduan AWS Sign-In Pengguna*.

**Tetapkan akses ke pengguna tambahan**

1. Di Pusat Identitas IAM, buat set izin yang mengikuti praktik terbaik menerapkan izin hak istimewa paling sedikit.

   Untuk petunjuknya, lihat [Membuat set izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) di *Panduan AWS IAM Identity Center Pengguna*.

1. Tetapkan pengguna ke grup, lalu tetapkan akses masuk tunggal ke grup.

   Untuk petunjuk, lihat [Menambahkan grup](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) di *Panduan AWS IAM Identity Center Pengguna*.

## Pilih cara mengakses CloudFront
<a name="introduction-accessing-cloudfront"></a>

Anda dapat mengakses Amazon dengan CloudFront cara berikut:
+ **Konsol Manajemen AWS**— Prosedur di seluruh panduan ini menjelaskan cara menggunakan Konsol Manajemen AWS untuk melakukan tugas.
+ **AWS SDKs**Jika Anda menggunakan bahasa pemrograman yang AWS menyediakan SDK, Anda dapat menggunakan SDK untuk mengakses. CloudFront SDKs menyederhanakan otentikasi, mengintegrasikan dengan mudah dengan lingkungan pengembangan Anda, dan menyediakan akses ke CloudFront perintah. Untuk informasi selengkapnya, lihat [Menggunakan CloudFront dengan AWS SDK](sdk-general-information-section.md).
+ **CloudFront API** — Jika Anda menggunakan bahasa pemrograman yang tidak tersedia untuk SDK, lihat [Referensi Amazon CloudFront API](https://docs.aws.amazon.com/cloudfront/latest/APIReference/Welcome.html) untuk informasi tentang tindakan API dan tentang cara membuat permintaan API.
+ **AWS CLI**— The AWS Command Line Interface (AWS CLI) adalah alat terpadu untuk mengelola Layanan AWS. Untuk informasi tentang cara menginstal dan mengonfigurasi AWS CLI, lihat [Menginstal atau memperbarui ke versi terbaru dari](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Panduan AWS Command Line Interface Pengguna*. AWS CLI
+ **Tools untuk Windows PowerShell** — Jika Anda memiliki pengalaman dengan Windows PowerShell, Anda mungkin lebih suka menggunakannya AWS Tools for Windows PowerShell. Untuk informasi selengkapnya, lihat [Menginstal AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html) dalam *Panduan Pengguna Alat AWS untuk PowerShell *.

# Memulai dengan distribusi CloudFront standar
<a name="GettingStarted.SimpleDistribution"></a>

Prosedur di bagian ini menunjukkan kepada Anda cara menggunakan CloudFront untuk menyiapkan distribusi standar yang melakukan hal berikut:
+ Membuat bucket S3 untuk digunakan sebagai asal distribusi Anda.
+ Menyimpan versi asli objek Anda di bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3).
+ Menggunakan kontrol akses asal (OAC) untuk mengirim permintaan yang diautentikasi ke asal Amazon S3 Anda. OAC mengirimkan permintaan CloudFront untuk mencegah pemirsa mengakses bucket S3 Anda secara langsung. Untuk informasi lebih lanjut tentang OAC, lihat[Batasi akses ke asal Amazon S3](private-content-restricting-access-to-s3.md).
+ Menggunakan nama CloudFront domain URLs untuk objek Anda (misalnya,`https://d111111abcdef8.cloudfront.net/index.html`).
+ Menyimpan objek Anda di lokasi CloudFront tepi selama durasi default 24 jam (durasi minimum adalah 0 detik).

Sebagian besar ini dikonfigurasi secara otomatis untuk Anda saat Anda membuat CloudFront distribusi.

**Topics**
+ [

## Prasyarat
](#GettingStartedSignup)
+ [

## Buat bucket Amazon S3.
](#GettingStartedCreateBucket)
+ [

## Unggah konten ke ember
](#GettingStartedUploadContent)
+ [

## Buat CloudFront distribusi yang menggunakan asal Amazon S3 dengan OAC
](#GettingStartedCreateDistribution)
+ [

## Akses konten Anda melalui CloudFront
](#GettingStartedAccessingDistributions)
+ [

## Bersihkan
](#GettingStartedDistributionCleanup)
+ [

## Tingkatkan distribusi dasar Anda
](#GettingStartedDistributionNotes)

## Prasyarat
<a name="GettingStartedSignup"></a>

Sebelum memulai, pastikan bahwa Anda telah menyelesaikan langkah-langkah dalam [Siapkan Akun AWS](setting-up-cloudfront.md).

## Buat bucket Amazon S3.
<a name="GettingStartedCreateBucket"></a>

Bucket Amazon S3 adalah wadah untuk file (objek) atau folder. CloudFront dapat mendistribusikan hampir semua jenis file untuk Anda ketika ember S3 adalah sumbernya. Misalnya, CloudFront dapat mendistribusikan teks, gambar, dan video. Tidak ada maksimum untuk jumlah data yang dapat disimpan di Amazon S3.

Untuk tutorial ini, Anda membuat bucket S3 dengan `hello world` file sampel yang disediakan yang akan Anda gunakan untuk membuat halaman web dasar.

**Untuk membuat ember**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Kami menyarankan Anda menggunakan sampel Hello World kami untuk Memulai ini. Unduh halaman web *hello world*: [hello-world-html.zip.](samples/hello-world-html.zip) Buka zip dan simpan `css` folder dan `index` file di lokasi yang nyaman, seperti desktop tempat Anda menjalankan browser.

1. Pilih **Buat bucket**.

1. Masukkan **nama Bucket** unik yang sesuai dengan [aturan penamaan bucket tujuan umum](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html#general-purpose-bucket-names) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

1. Untuk **Wilayah**, kami sarankan memilih Wilayah AWS yang secara geografis dekat dengan Anda. (Ini mengurangi latensi dan biaya.)
   + Memilih Wilayah yang berbeda juga berfungsi. Anda dapat melakukan ini untuk mengatasi persyaratan peraturan, misalnya.

1. Biarkan semua pengaturan lain pada defaultnya, lalu pilih **Buat bucket**.

## Unggah konten ke ember
<a name="GettingStartedUploadContent"></a>

Setelah Anda membuat bucket Amazon S3, unggah konten file yang tidak di-zip ke dalamnya`hello world`. (Anda mengunduh dan membuka ritsleting file ini.) [Buat bucket Amazon S3.](#GettingStartedCreateBucket)

**Untuk mengunggah konten ke Amazon S3**

1. Di bagian **Bucket tujuan umum**, pilih nama bucket baru Anda.

1. Pilih **Unggah**.

1. Pada halaman **Unggah**, seret `css` folder dan `index` file ke area drop.

1. **Biarkan semua pengaturan lain pada defaultnya, lalu pilih Unggah.**

## Buat CloudFront distribusi yang menggunakan asal Amazon S3 dengan OAC
<a name="GettingStartedCreateDistribution"></a>

Untuk tutorial ini, Anda akan membuat CloudFront distribusi yang menggunakan asal Amazon S3 dengan kontrol akses asal (OAC). OAC membantu Anda mengirim permintaan yang diautentikasi dengan aman ke asal Amazon S3 Anda. Untuk informasi lebih lanjut tentang OAC, lihat[Batasi akses ke asal Amazon S3](private-content-restricting-access-to-s3.md).<a name="GettingStartedCreateDistributionProcedure"></a>

**Untuk membuat CloudFront distribusi dengan asal Amazon S3 yang menggunakan OAC**

1. Buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Pilih **Buat Distribusi**.

1. Masukkan **nama Distribusi** untuk distribusi standar. Nama akan muncul sebagai nilai untuk `Name` kunci sebagai tag. Anda dapat mengubah nilai ini nanti. Anda dapat menambahkan hingga 50 tag untuk distribusi standar Anda. Untuk informasi selengkapnya, lihat [Menandai distribusi](tagging.md).

1. Pilih **situs web atau aplikasi tunggal**, **Berikutnya**.

1. Pilih **Berikutnya**.

1. Untuk halaman **tipe Origin**, pilih **Amazon S3**.

1. Untuk **asal S3**, pilih **Browse S3** dan pilih bucket S3 yang Anda buat untuk tutorial ini.

1. Untuk **Pengaturan**, pilih **Gunakan pengaturan asal yang disarankan**. CloudFront akan menggunakan pengaturan cache dan asal yang direkomendasikan default untuk asal Amazon S3 Anda, termasuk mengatur Origin Access Control (OAC). Untuk informasi selengkapnya tentang pengaturan yang disarankan, lihat[Referensi pengaturan distribusi yang telah dikonfigurasi sebelumnya](template-preconfigured-origin-settings.md).

1. Pilih **Berikutnya**.

1. Pada halaman **Aktifkan perlindungan keamanan**, pilih apakah akan mengaktifkan perlindungan AWS WAF keamanan.

1. Pilih **Berikutnya**.

1. Pilih **Buat distribusi**. CloudFront memperbarui kebijakan bucket S3 untuk Anda.

1. Tinjau bagian **Detail** untuk distribusi baru Anda. Ketika distribusi Anda selesai digunakan, bidang **terakhir diubah** dari **Deploying** ke tanggal dan waktu.

1. Catat nama domain yang CloudFront ditetapkan untuk distribusi Anda. Itu terlihat serupa dengan yang berikut ini: `d111111abcdef8.cloudfront.net`.

Sebelum menggunakan bucket distribusi dan S3 dari tutorial ini di lingkungan produksi, pastikan untuk mengonfigurasinya untuk memenuhi kebutuhan spesifik Anda. Untuk informasi tentang mengonfigurasi akses di lingkungan produksi, lihat[Konfigurasikan akses aman dan batasi akses ke konten](SecurityAndPrivateContent.md).

## Akses konten Anda melalui CloudFront
<a name="GettingStartedAccessingDistributions"></a>

Untuk mengakses konten Anda CloudFront, gabungkan nama domain untuk CloudFront distribusi Anda dengan halaman utama untuk konten Anda. (Anda mencatat nama domain distribusi Anda di[Buat CloudFront distribusi yang menggunakan asal Amazon S3 dengan OAC](#GettingStartedCreateDistribution).)
+ Nama domain distribusi Anda mungkin terlihat seperti ini: `d111111abcdef8.cloudfront.net`
+  Jalur ke halaman utama situs web biasanya`/index.html`. 

Oleh karena itu, URL untuk mengakses konten Anda CloudFront mungkin terlihat seperti ini:

`https://d111111abcdef8.cloudfront.net/index.html`.

Jika Anda mengikuti langkah-langkah sebelumnya dan menggunakan halaman web *hello world*, Anda akan melihat halaman web yang bertuliskan **Hello** world\$1 .

Saat mengunggah lebih banyak konten ke bucket S3 ini, Anda dapat mengakses konten CloudFront melalui menggabungkan nama domain CloudFront distribusi dengan jalur ke objek di bucket S3. Misalnya, jika Anda mengunggah file baru yang diberi nama `new-page.html` ke root bucket S3 Anda, URL akan terlihat seperti ini:

`https://d111111abcdef8.cloudfront.net/new-page.html`.

## Bersihkan
<a name="GettingStartedDistributionCleanup"></a>

Jika Anda membuat bucket distribusi dan S3 hanya sebagai latihan pembelajaran, hapuslah agar Anda tidak lagi dikenakan biaya. Hapus distribusi terlebih dahulu. Untuk informasi selengkapnya, lihat tautan berikut:
+ [Menghapus sebuah distribusi](HowToDeleteDistribution.md)
+ [Menghapus ember](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html)

## Tingkatkan distribusi dasar Anda
<a name="GettingStartedDistributionNotes"></a>

Tutorial Memulai ini menyediakan kerangka kerja minimal untuk membuat distribusi. Kami menyarankan Anda menjelajahi penyempurnaan berikut:
+ Anda dapat menggunakan fitur konten CloudFront pribadi untuk membatasi akses ke konten di bucket Amazon S3. Untuk informasi selengkapnya tentang distribusi konten pribadi, lihat [Sajikan konten pribadi dengan cookie yang ditandatangani URLs dan ditandatangani](PrivateContent.md).
+ Anda dapat mengonfigurasi CloudFront distribusi Anda untuk menggunakan nama domain khusus (misalnya, `www.example.com` bukan`d111111abcdef8.cloudfront.net`). Untuk informasi selengkapnya, lihat [Gunakan kustom URLs](CNAMEs.md).
+ Tutorial ini menggunakan asal Amazon S3 dengan kontrol akses asal (OAC). Namun, Anda tidak dapat menggunakan OAC jika asal Anda adalah bucket S3 yang dikonfigurasi sebagai titik akhir [situs web](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteEndpoints.html). Jika itu masalahnya, Anda harus mengatur bucket Anda CloudFront sebagai custom origin. Untuk informasi selengkapnya, lihat [Menggunakan bucket Amazon S3 yang dikonfigurasi sebagai titik akhir situs web](DownloadDistS3AndCustomOrigins.md#concept_S3Origin_website). Untuk informasi lebih lanjut tentang OAC, lihat[Batasi akses ke asal Amazon S3](private-content-restricting-access-to-s3.md).

# Memulai dengan distribusi standar (AWS CLI)
<a name="get-started-cli-tutorial"></a>

Prosedur di bagian ini menunjukkan kepada Anda cara menggunakan AWS CLI with CloudFront untuk menyiapkan konfigurasi dasar yang melibatkan hal-hal berikut:
+ Membuat bucket Amazon S3 untuk digunakan sebagai asal distribusi Anda.
+ Menyimpan versi asli objek Anda di bucket S3.
+ Menggunakan kontrol akses asal (OAC) untuk mengirim permintaan yang diautentikasi ke asal Amazon S3 Anda. OAC mengirimkan permintaan CloudFront untuk mencegah pemirsa mengakses bucket S3 Anda secara langsung. Untuk informasi lebih lanjut tentang OAC, lihat[Batasi akses ke asal Amazon S3](private-content-restricting-access-to-s3.md).
+ Menggunakan nama CloudFront domain URLs untuk objek Anda (misalnya,`https://d111111abcdef8.cloudfront.net/index.html`).
+ Menjaga objek Anda di lokasi CloudFront tepi selama durasi default 24 jam (durasi minimum adalah 0 detik).

Sebagian besar opsi ini dapat disesuaikan. Untuk informasi tentang cara menyesuaikan opsi CloudFront distribusi, lihat[Buat distribusi](distribution-web-creating-console.md).

## Prasyarat
<a name="get-started-cli-prereqs"></a>

Sebelum memulai, pastikan bahwa Anda telah menyelesaikan langkah-langkah dalam [Siapkan Akun AWS](setting-up-cloudfront.md).

Instal AWS CLI dan konfigurasikan dengan kredensil Anda. Untuk informasi selengkapnya, lihat [Memulai AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) dalam *Panduan Pengguna AWS CLI *.



## Buat bucket Amazon S3.
<a name="get-started-cli-create-bucket"></a>

Bucket Amazon S3 adalah wadah untuk file (objek) atau folder. CloudFront dapat mendistribusikan hampir semua jenis file untuk Anda ketika ember S3 adalah sumbernya. Misalnya, CloudFront dapat mendistribusikan teks, gambar, dan video. Tidak ada maksimum untuk jumlah data yang dapat disimpan di Amazon S3.

Untuk tutorial ini, Anda membuat bucket S3 dan mengunggah file HTML yang akan Anda gunakan untuk membuat halaman web dasar.

```
aws s3 mb s3://amzn-s3-demo-bucket/ --region us-east-1
```

Ganti *amzn-s3-demo-bucket* dengan nama bucket yang unik secara global. Untuk itu Wilayah AWS, kami sarankan memilih Wilayah yang secara geografis dekat dengan Anda. Ini mengurangi latensi dan biaya, tetapi memilih Wilayah yang berbeda juga berfungsi. Misalnya, Anda dapat melakukan ini untuk memenuhi persyaratan peraturan.

## Unggah konten ke ember
<a name="get-started-cli-upload-content"></a>

Untuk tutorial ini, unduh dan ekstrak file konten sampel untuk halaman web “Hello World” dasar.

```
# Create a temporary directory
mkdir -p ~/cloudfront-demo

# Download the sample Hello World files
curl -o ~/cloudfront-demo/hello-world-html.zip https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/samples/hello-world-html.zip

# Extract the zip file
unzip ~/cloudfront-demo/hello-world-html.zip -d ~/cloudfront-demo/hello-world
```

Ini membuat direktori dengan `index.html` file dan `css` folder. Unggah file-file ini ke bucket S3 Anda.

```
aws s3 cp ~/cloudfront-demo/hello-world/ s3://amzn-s3-demo-bucket/ --recursive
```

## Membuat Origin Access Control (OAC)
<a name="get-started-cli-create-oac"></a>

Untuk tutorial ini, Anda akan membuat kontrol akses asal (OAC). OAC membantu Anda mengirim permintaan yang diautentikasi dengan aman ke asal Amazon S3 Anda. Untuk informasi lebih lanjut tentang OAC, lihat[Batasi akses ke asal Amazon S3](private-content-restricting-access-to-s3.md).

```
aws cloudfront create-origin-access-control \
    --origin-access-control-config Name="oac-for-s3",SigningProtocol=sigv4,SigningBehavior=always,OriginAccessControlOriginType=s3
```

Simpan ID OAC dari output sebagai variabel lingkungan. Ganti nilai contoh dengan ID OAC Anda sendiri. Anda akan menggunakan ini di langkah berikutnya.

```
OAC_ID="E1ABCD2EFGHIJ"
```

## Buat distribusi standar
<a name="get-started-cli-create-classic"></a>

Buat file konfigurasi distribusi bernama`distribution-config.json`. Ganti contoh nama bucket dengan nama bucket Anda untuk`Id`,`DomainName`, dan `TargetOriginId` nilai.

```
cat > distribution-config.json << EOF
{
    "CallerReference": "cli-example-$(date +%s)",
    "Origins": {
        "Quantity": 1,
        "Items": [
            {
                "Id": "S3-amzn-s3-demo-bucket",
                "DomainName": "amzn-s3-demo-bucket.s3.amazonaws.com",
                "S3OriginConfig": {
                    "OriginAccessIdentity": ""
                },
                "OriginAccessControlId": "$OAC_ID"
            }
        ]
    },
    "DefaultCacheBehavior": {
        "TargetOriginId": "S3-amzn-s3-demo-bucket",
        "ViewerProtocolPolicy": "redirect-to-https",
        "AllowedMethods": {
            "Quantity": 2,
            "Items": ["GET", "HEAD"],
            "CachedMethods": {
                "Quantity": 2,
                "Items": ["GET", "HEAD"]
            }
        },
        "DefaultTTL": 86400,
        "MinTTL": 0,
        "MaxTTL": 31536000,
        "Compress": true,
        "ForwardedValues": {
            "QueryString": false,
            "Cookies": {
                "Forward": "none"
            }
        }
    },
    "Comment": "CloudFront distribution for S3 bucket",
    "Enabled": true
}
EOF
```

Buat distribusi standar.

```
aws cloudfront create-distribution --distribution-config file://distribution-config.json
```

Simpan ID distribusi dan nama domain dari output sebagai variabel lingkungan. Ganti Contoh nilai dengan nilai Anda sendiri. Anda akan menggunakan ini nanti dalam tutorial ini.

```
DISTRIBUTION_ID="EABCD1234XMPL"
DOMAIN_NAME="d111111abcdef8.cloudfront.net"
```

Sebelum menggunakan bucket distribusi dan S3 dari tutorial ini di lingkungan produksi, pastikan untuk mengonfigurasinya untuk memenuhi kebutuhan spesifik Anda. Untuk informasi tentang mengonfigurasi akses di lingkungan produksi, lihat[Konfigurasikan akses aman dan batasi akses ke konten](SecurityAndPrivateContent.md).

## Perbarui kebijakan bucket S3 Anda
<a name="get-started-cli-update-bucket-policy"></a>

Perbarui kebijakan bucket S3 Anda CloudFront agar dapat mengakses objek. Ganti contoh nama bucket dengan nama bucket Anda.

```
# Get your AWS account ID
ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text)

# Create the bucket policy
cat > bucket-policy.json << EOF
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCloudFrontServicePrincipal",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudfront.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceArn": "arn:aws:cloudfront::$ACCOUNT_ID:distribution/$DISTRIBUTION_ID"
                }
            }
        }
    ]
}
EOF

# Apply the bucket policy
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://bucket-policy.json
```

## Konfirmasikan penyebaran distribusi
<a name="get-started-cli-confirm-deployment"></a>

Setelah Anda membuat distribusi Anda, itu akan memakan waktu untuk menyelesaikan penerapan. Ketika status distribusi berubah dari `InProgress` ke`Deployed`, lanjutkan ke langkah berikutnya.

```
aws cloudfront get-distribution --id $DISTRIBUTION_ID --query 'Distribution.Status'
```

Atau, Anda dapat menggunakan `wait` perintah untuk menunggu penyebaran distribusi.

```
aws cloudfront wait distribution-deployed --id $DISTRIBUTION_ID
```

## Akses konten Anda melalui CloudFront
<a name="get-started-cli-access-content"></a>

Untuk mengakses konten Anda CloudFront, gabungkan nama domain untuk CloudFront distribusi Anda dengan halaman utama untuk konten Anda. Ganti contoh nama CloudFront domain dengan nama Anda sendiri.

```
https://d111111abcdef8.cloudfront.net/index.html
```

Jika Anda mengikuti langkah-langkah sebelumnya dan membuat file HTML, Anda akan melihat halaman web yang mengatakan **Hello world\$1** .

Saat mengunggah lebih banyak konten ke bucket S3 ini, Anda dapat mengakses konten CloudFront melalui menggabungkan nama domain CloudFront distribusi dengan jalur ke objek di bucket S3. Misalnya, jika Anda mengunggah file baru yang diberi nama `new-page.html` ke root bucket S3 Anda, URL akan terlihat seperti ini:

`https://d111111abcdef8.cloudfront.net/new-page.html`.

## Bersihkan
<a name="get-started-cli-cleanup"></a>

Jika Anda membuat bucket distribusi dan S3 hanya sebagai latihan pembelajaran, hapuslah agar Anda tidak lagi dikenakan biaya. Nonaktifkan dan hapus distribusi terlebih dahulu.

**Untuk menonaktifkan dan menghapus distribusi standar (AWS CLI)**

1. Pertama, nonaktifkan distribusi.

   ```
   # Get the current configuration and ETag
   ETAG=$(aws cloudfront get-distribution-config --id $DISTRIBUTION_ID --query 'ETag' --output text)
   
   # Create a modified configuration with Enabled=false
   aws cloudfront get-distribution-config --id $DISTRIBUTION_ID | \
   jq '.DistributionConfig.Enabled = false' > temp_disabled_config.json
   
   # Update the distribution to disable it
   aws cloudfront update-distribution \
       --id $DISTRIBUTION_ID \
       --distribution-config file://<(jq '.DistributionConfig' temp_disabled_config.json) \
       --if-match $ETAG
   ```

1. Tunggu distribusi dinonaktifkan.

   ```
   aws cloudfront wait distribution-deployed --id $DISTRIBUTION_ID
   ```

1. Hapus distribusi.

   ```
   # Get the current ETag
   ETAG=$(aws cloudfront get-distribution-config --id $DISTRIBUTION_ID --query 'ETag' --output text)
   
   # Delete the distribution
   aws cloudfront delete-distribution --id $DISTRIBUTION_ID --if-match $ETAG
   ```

**Untuk menghapus bucket S3 ()AWS CLI**
+ Hapus ember S3 dan isinya. Ganti contoh nama bucket dengan nama Anda sendiri.

  ```
  # Delete the bucket contents
  aws s3 rm s3://amzn-s3-demo-bucket --recursive
  
  # Delete the bucket
  aws s3 rb s3://amzn-s3-demo-bucket
  ```

Untuk membersihkan file lokal yang dibuat untuk tutorial ini, jalankan perintah berikut:

```
# Clean up local files
rm -f distribution-config.json bucket-policy.json temp_disabled_config.json
rm -rf ~/cloudfront-demo
```

Secara opsional, Anda dapat menghapus OAC yang Anda buat untuk tutorial ini.

```
# Get the OAC ETag
OAC_ETAG=$(aws cloudfront get-origin-access-control --id $OAC_ID --query 'ETag' --output text)

# Delete the OAC
aws cloudfront delete-origin-access-control --id $OAC_ID --if-match $OAC_ETAG
```

# Memulai dengan situs web statis yang aman
<a name="getting-started-secure-static-website-cloudformation-template"></a>

Anda dapat memulai Amazon CloudFront dengan menggunakan solusi yang dijelaskan dalam topik ini untuk membuat situs web statis yang aman untuk nama domain Anda. *Situs web statis* hanya menggunakan file statis — seperti HTML, CSS,, gambar JavaScript, dan video — dan tidak memerlukan server atau pemrosesan sisi server. Dengan solusi ini, situs web Anda akan mendapatkan manfaat sebagai berikut:
+ **Menggunakan penyimpanan yang tahan lama [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html)** – Solusi ini menciptakan bucket Amazon S3 untuk me-host konten situs web statis Anda. Untuk memperbarui situs web Anda, cukup unggah file baru Anda ke buket S3.
+ **Dipercepat oleh jaringan pengiriman CloudFront konten Amazon** — Solusi ini menciptakan CloudFront distribusi untuk melayani situs web Anda kepada pemirsa dengan latensi rendah. Distribusi dikonfigurasi dengan [kontrol akses asal](private-content-restricting-access-to-s3.md) (OAC) untuk memastikan bahwa situs web hanya dapat diakses melalui CloudFront, tidak langsung dari S3.
+ **Diamankan oleh HTTPS dan header keamanan** — Solusi ini membuat SSL/TLS sertifikat di [AWS Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html), dan menempelkannya ke distribusi. CloudFront Sertifikat ini memungkinkan distribusi untuk melayani situs web domain Anda secara aman dengan HTTPS.
+ **Dikonfigurasi dan digunakan dengan [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)**— Solusi ini menggunakan CloudFormation template untuk menyiapkan semua komponen, sehingga Anda dapat lebih fokus pada konten situs web Anda dan lebih sedikit pada konfigurasi komponen.

Solusi ini bersifat open source GitHub. Untuk melihat kode, mengirim permintaan penarikan, atau membuka masalah, kunjungi [https://github.com/aws-samples/amazon-cloudfront-secure-static-site](https://github.com/aws-samples/amazon-cloudfront-secure-static-site).

**Topics**
+ [

## Ikhtisar solusi
](#cloudformation-website-overview)
+ [

## Terapkan solusinya
](#deploy-secure-static-website-cloudformation)

## Ikhtisar solusi
<a name="cloudformation-website-overview"></a>

Diagram berikut menunjukkan ikhtisar tentang cara kerja solusi situs web statis ini:

![\[Diagram ikhtisar situs web statis yang aman dengan CloudFront\]](http://docs.aws.amazon.com/id_id/AmazonCloudFront/latest/DeveloperGuide/images/cloudfront-secure-static-website-overview-github.png)


1. Penampil meminta situs web di www.example.com.

1. Jika objek yang diminta di-cache, CloudFront mengembalikan objek dari cache ke penampil.

1. Jika objek tidak dalam CloudFront cache, CloudFront meminta objek dari asal (ember S3).

1. S3 mengembalikan objek ke CloudFront.

1. CloudFront cache objek.

1. Objek dikembalikan ke pemirsa. Permintaan selanjutnya untuk objek yang datang ke lokasi CloudFront tepi yang sama disajikan dari CloudFront cache.

## Terapkan solusinya
<a name="deploy-secure-static-website-cloudformation"></a>

Untuk menyebar solusi situs web statis yang aman ini, Anda dapat memilih salah satu opsi berikut:
+ Gunakan CloudFormation konsol untuk menerapkan solusi dengan konten default, lalu unggah konten situs web Anda ke Amazon S3.
+ Gandakan solusi ke komputer Anda untuk menambahkan konten situs web Anda. Kemudian, sebar solusi dengan AWS Command Line Interface (AWS CLI).

**catatan**  
Anda harus menggunakan Wilayah AS Timur (Virginia N.) untuk menyebarkan template. CloudFormation 

**Topics**
+ [

### Prasyarat
](#deploy-website-cloudformation-prerequisites)
+ [

### Gunakan CloudFormation konsol
](#deploy-website-cloudformation-console)
+ [

### Kloning solusinya secara lokal
](#deploy-website-cloudformation-clone)
+ [

### Menemukan log akses
](#deploy-website-cloudformation-logs)

### Prasyarat
<a name="deploy-website-cloudformation-prerequisites"></a>

Untuk menggunakan solusi ini, Anda harus memiliki prasyarat berikut:
+ Nama domain terdaftar, seperti contoh.com, yang mengarah ke zona hosting Amazon Route 53. Zona yang dihosting harus berada di Akun AWS tempat yang sama di mana Anda menerapkan solusi ini. Jika Anda tidak memiliki nama domain terdaftar, Anda dapat [daftarkan satu dengan Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar.html). Jika Anda memiliki nama domain terdaftar tetapi tidak menunjuk ke zona hosting Route 53, [mengonfigurasi Route 53 sebagai layanan DNS Anda](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring.html).
+ AWS Identity and Access Management (IAM) izin untuk meluncurkan CloudFormation template yang membuat peran IAM, dan izin untuk membuat semua AWS sumber daya dalam solusi. Untuk informasi selengkapnya, lihat [Mengontrol akses dengan AWS Identity and Access Management](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html) dalam *Panduan Pengguna AWS CloudFormation *.

Anda bertanggung jawab atas biaya yang timbul saat menggunakan solusi ini. Untuk informasi lebih lanjut tentang biaya, lihat [halaman harga untuk masing-masing Layanan AWS](https://aws.amazon.com/pricing/).

### Gunakan CloudFormation konsol
<a name="deploy-website-cloudformation-console"></a>

**Untuk menyebarkan menggunakan konsol CloudFormation**

1. [Luncurkan solusi ini di CloudFormation konsol](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=amazon-cloudfront-secure-static-site-templates-main&templateURL=https://s3.amazonaws.com/solution-builders-us-east-1/amazon-cloudfront-secure-static-site/latest/main.yaml). Jika perlu, masuk ke Anda Akun AWS.

1. Wizard **Buat tumpukan** terbuka di CloudFormation konsol, dengan bidang yang telah diisi sebelumnya yang menentukan templat solusi ini. CloudFormation

   Di bagian bawah halaman, pilih **Selanjutnya**.

1. Di **Tentukan detail tumpukan** , masukkan nilai untuk kolom berikut:
   + **SubDomain** – Masukkan subdomain yang akan digunakan untuk situs web Anda. Misalnya, jika subdomain adalah *www*, situs web Anda tersedia di *www.example.com.* (Ganti example.com dengan nama domain Anda, seperti yang dijelaskan dalam bullet berikut.)
   + **DomainName**— Masukkan nama domain Anda, seperti*example.com*. Domain ini harus diarahkan ke zona yang di-hosting Route 53.
   + **HostedZoneId**— ID zona yang dihosting Route 53 dari nama domain Anda.
   + **CreateApex**— (Opsional) Buat alias ke puncak domain (example.com) dalam konfigurasi Anda. CloudFront

1. Setelah selesai, pilih **Selanjutnya**.

1. (Opsional) Pada **Mengonfigurasi opsi tumpukan** yang sangat penting, [tambahkan tag dan opsi tumpukan lainnya](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html).

1. Setelah selesai, pilih **Selanjutnya**.

1. Di **Peninjauan** , gulir ke bagian bawah halaman, kemudian pilih dua kotak di **Kemampuan** bagian. Kemampuan ini memungkinkan CloudFormation untuk membuat peran IAM yang memungkinkan akses ke sumber daya tumpukan, dan memberi nama sumber daya secara dinamis.

1. Pilih **Membuat tumpukan**.

1. Tunggu tumpukan selesai membuat. Tumpukan ini menciptakan tumpukan yang terbentuk dan dapat memakan waktu beberapa menit untuk selesai. Setelah selesai, **Status** perubahan pada **BUAT\$1SEMBANG**.

   Ketika statusnya **CREATE\$1COMPLETE**, buka https://*www.example.com*untuk melihat situs web Anda (ganti www.example.com dengan subdomain dan nama domain yang Anda tentukan pada langkah 3). Anda akan melihat konten default situs web:  
![\[Konten default situs web statis dari solusi ini. Berbunyi: “Saya adalah situs web statis!”\]](http://docs.aws.amazon.com/id_id/AmazonCloudFront/latest/DeveloperGuide/images/cloudfront-secure-static-website-content.png)

**Untuk mengganti konten default situs web dengan konten Anda sendiri**

1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Pilih ember yang namanya dimulai dengan **amazon-cloudfront-secure-static-site-s3bucketroot** -.
**catatan**  
Pastikan untuk memilih buket dengan **s3bucketroot** atas namanya, bukan **s3bucketlog**. Ember dengan **s3bucketroot** dalam namanya berisi konten situs web. Satu dengan **s3bucketlog** hanya berisi file log.

1. Hapus konten default situs web, lalu unggah konten Anda sendiri.
**catatan**  
Jika Anda melihat situs web Anda dengan konten default solusi ini, kemungkinan beberapa konten default di-cache di lokasi CloudFront tepi. Untuk memastikan bahwa pemirsa melihat konten situs web Anda yang diperbarui, *batalkan* file untuk menghapus salinan yang di-cache dari CloudFront lokasi tepi. Untuk informasi selengkapnya, lihat [Membatalkan file untuk menghapus konten](Invalidation.md).

### Kloning solusinya secara lokal
<a name="deploy-website-cloudformation-clone"></a>

**Prasyarat**

Untuk menambahkan konten situs web Anda sebelum menerapkan solusi ini, Anda harus mengemas artefak solusi secara lokal, yang memerlukan Node.js dan npm. Untuk informasi selengkapnya, lihat [https://www.npmjs.com/get-npm](https://www.npmjs.com/get-npm).

**Untuk menambahkan konten situs web dan menerapkan solusi**

1. Gandakan atau unduh solusi dari [https://github.com/aws-samples/amazon-cloudfront-secure-static-site](https://github.com/aws-samples/amazon-cloudfront-secure-static-site). Setelah Anda mengkloning atau mengunduhnya, buka perintah perintah atau terminal dan navigasi ke `amazon-cloudfront-secure-static-site` folder.

1. Jalankan perintah berikut untuk memasang dan mengemas artefak solusi:

   ```
   make package-static
   ```

1. Salin konten situs web Anda ke `www` , menimpa konten situs web default.

1. Jalankan AWS CLI perintah berikut untuk membuat bucket Amazon S3 untuk menyimpan artefak solusi. Ganti *amzn-s3-demo-bucket-for-artifacts* dengan nama bucket Anda sendiri.

   ```
   aws s3 mb s3://amzn-s3-demo-bucket-for-artifacts --region us-east-1
   ```

1. Jalankan AWS CLI perintah berikut untuk mengemas artefak solusi sebagai CloudFormation template. Ganti *amzn-s3-demo-bucket-for-artifacts* dengan nama bucket yang Anda buat pada langkah sebelumnya.

   ```
   aws cloudformation package \
       --region us-east-1 \ 
       --template-file templates/main.yaml \
       --s3-bucket amzn-s3-demo-bucket-for-artifacts \
       --output-template-file packaged.template
   ```

1. Jalankan perintah berikut untuk menyebarkan solusi dengan CloudFormation, mengganti nilai-nilai berikut:
   + *your-CloudFormation-stack-name*— Ganti dengan nama untuk CloudFormation tumpukan.
   + *example.com*— Ganti dengan nama domain Anda. Domain ini harus diarahkan ke zona yang dihosting Route 53 di tempat yang sama Akun AWS.
   + *www*— Ganti dengan subdomain yang akan digunakan untuk situs web Anda. Misalnya, jika subdomain *www*, situs web Anda tersedia di www.example.com.
   + *hosted-zone-ID*— Ganti dengan ID zona yang dihosting Route 53 dari nama domain Anda.

   ```
   aws cloudformation deploy \
       --region us-east-1 \
       --stack-name your-CloudFormation-stack-name \
       --template-file packaged.template \
       --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \
       --parameter-overrides DomainName=example.com SubDomain=www HostedZoneId=hosted-zone-ID
   ```

   1. (Opsional) Untuk menyebarkan tumpukan dengan apex domain, jalankan perintah berikut sebagai gantinya.

     ```
     aws --region us-east-1 cloudformation deploy \
         --stack-name your-CloudFormation-stack-name \
         --template-file packaged.template \
         --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \
         --parameter-overrides  DomainName=example.com SubDomain=www HostedZoneId=hosted-zone-ID CreateApex=yes
     ```

1. Tunggu CloudFormation tumpukan selesai dibuat. Tumpukan ini menciptakan tumpukan yang terbentuk dan dapat memakan waktu beberapa menit untuk selesai. Setelah selesai, **Status** perubahan pada **BUAT\$1SEMBANG**.

   Ketika status berubah menjadi **CREATE\$1COMPLETE**, buka https://www.example.com untuk melihat situs web Anda (ganti www.example.com dengan subdomain dan nama domain yang Anda tentukan pada langkah sebelumnya). Anda akan melihat konten situs web Anda.

### Menemukan log akses
<a name="deploy-website-cloudformation-logs"></a>

Solusi ini memungkinkan [log akses](AccessLogs.md) untuk CloudFront distribusi. Selesaikan langkah-langkah berikut untuk menemukan log akses distribusi.

**Untuk menemukan log akses distribusi**

1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Pilih ember yang namanya dimulai dengan **amazon-cloudfront-secure-static-site-s3bucketlogs** -.
**catatan**  
Pastikan untuk memilih buket dengan **s3bucketlog** atas namanya, bukan **s3bucketroot**. Ember dengan **s3bucketlog** dalam namanya mengandung file log. Satu dengan **s3bucketroot** berisi konten situs web.

1. Folder bernama **cdn** berisi log CloudFront akses.