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.
Tentukan Origin domain dengan S3 Bucket yang sudah dibuat.
Pada bagian Allowed HTTP methods bisa kalian tentukan sendiri.
Pada Default root object isi dengan nama index document.
Terakhir klik Create distribution dan tunggu proses Deploying sampai selesai
Test akses
AWS CLI #
Create distribution #
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
aws cloudfront create-distribution --distribution-config file://config-dist.json
Selanjutnya tunggu proses deploying. Untuk mengetahui proses deploy bisa gunakan perintah
cloudfront wait distribution-deployed --id E1GWV2BXHHEF8I
Test akses
Disable distribution #
Cek ID distribution
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
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
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