Home Setup AWS CloudFront distribution dengan S3 Origin
Post
Cancel

Setup AWS CloudFront distribution dengan S3 Origin

Sebelumnya kita sudah membuat static website dengan Amazon S3. Selanjutnya Anda akan mempelajari cara setup static website memakai AWS Cloudfront dengan S3

AWS Management Console

Create distribution

Buka CloudFront console

Klik Create a Cloudfront distribution cloudfro

Tentukan Origin domain dengan S3 Bucket yang sudah dibuat cloudfro

Pada bagian Allowed HTTP methods bisa kalian tentukan sendiri cloudfro

Pada Default root object isi dengan nama index document cloudfro

Terakhir klik Create distribution dan tunggu proses Deploying sampai selesai

Test akses cloudfro

AWS CLI

Create distribution

1
aws cloudfront create-distribution --origin-domain-name [bucketname].s3.[region].amazonaws.com --default-root-object index.html
[cloudshell-user@ip-10-6-8-192 ~]$ aws cloudfront create-distribution --origin-domain-name mytopan.s3.ap-southeast-2.amazonaws.com --default-root-object index.html 
{
    "Location": "https://cloudfront.amazonaws.com/2020-05-31/distribution/E1GWV2BXHHEF8I",
    "ETag": "E3RR0DNWCSDOEG",
    "Distribution": {
        "Id": "E1GWV2BXHHEF8I",
....

Apabila ada distribution config maka bisa gunakan perintah

1
aws cloudfront create-distribution --distribution-config file://config-dist.json

Selanjutnya tunggu proses deploying. Untuk mengetahui proses deploy bisa gunakan perintah

1
cloudfront wait distribution-deployed --id E1GWV2BXHHEF8I

Test akses cloudfro

Disable distribution

Cek ID distribution

1
aws cloudfront list-distributions
{
    "DistributionList": {
        "Items": [
            {
                "Id": "E1GWV2BXHHEF8I",
                "ARN": "arn:aws:cloudfront::478876543121:distribution/E1GWV2BXHHEF8I",
                "Status": "Deployed",
                "LastModifiedTime": "2023-01-12T07:26:33.410000+00:00",
                "DomainName": "d1g6zqctbawc9z.cloudfront.net",

Export distribution config

1
aws cloudfront get-distribution-config --id E1GWV2BXHHEF8I
[cloudshell-user@ip-10-6-29-96 ~]$ aws cloudfront get-distribution-config --id E1GWV2BXHHEF8I | jq '. | .DistributionConfig' > config-dist.json

Edit file config-dist.json

  },
  "PriceClass": "PriceClass_All",
  "Enabled": true, <-- edit dari true ke false
  "ViewerCertificate": {

Lalu update distribution config

1
aws cloudfront update-distribution --id E1GWV2BXHHEF8I --if-match E3RR0DNWCSDOEG --distribution-config file://config-dist.json
{
    "ETag": "E3LF2TJFMW9XL4",
    "Distribution": {
        "Id": "E1GWV2BXHHEF8I",
        "ARN": "arn:aws:cloudfront::478876543121:distribution/E1GWV2BXHHEF8I",
        "Status": "InProgress",

Delete distribution

[cloudshell-user@ip-10-6-29-96 ~]$ aws cloudfront delete-distribution --id E1GWV2BXHHEF8I --if-match E3LF2TJFMW9XL4
This post is licensed under CC BY 4.0 by the author.