Trong bước này, chúng ta sẽ tạo một S3 bucket với tính năng lưu trữ web tĩnh được bật và có thể truy cập công khai dựa trên SAM.
Mở tệp template.yaml trong thư mục fcj-book-shop mà chúng ta đã tạo ở phần 1.
Sao chép các đoạn mã sau vào tệp đó.
Parameters:
fcjBookShopBucketName:
Type: String
Default: fcj-book-shop-by-myself
FcjBookShop:
Type: AWS::S3::Bucket
Properties:
BucketName: !Ref fcjBookShopBucketName
WebsiteConfiguration:
IndexDocument: index.html
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
FcjBookShopPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref FcjBookShop
PolicyDocument:
Version: 2012-10-17
Statement:
- Action:
- "s3:GetObject"
Effect: Allow
Principal: "*"
Resource: !Join
- ""
- - "arn:aws:s3:::"
- !Ref FcjBookShop
- /*
Tập lệnh trên định nghĩa một S3 bucket là fcj-book-shop với chính sách FcjBookShopPolicy - cho phép truy cập công khai.
Chạy lệnh dưới đây.
Để build tại thư mục của dự án SAM: fcj-book-shop.
sam build
Để kiểm tra tính hợp lệ của template SAM.
sam validate
Để triển khai SAM.
sam deploy --guided
fcj-book-shop
us-east-1
- nên giống với khu vực mặc định.Tại trang fcj-book-shop-by-myself.
Mở CloudFormation console. Hai stack đã được tạo.
Tại trang fcj-book-shop.
Tải mã nguồn fcj-serverless-frontend về thiết bị của bạn
Mở terminal trên máy tính tại thư mục nơi bạn muốn lưu mã nguồn.
Sao chép và chạy lệnh dưới đây.
git clone https://github.com/AWS-First-Cloud-Journey/FCJ-Serverless-Workshop.git
cd FCJ-Serverless-Workshop
yarn
yarn build
Chúng ta đã hoàn thành việc xây dựng front-end. Tiếp theo, thực hiện lệnh sau để tải thư mục build lên S3.
aws s3 cp build s3://fcj-book-shop-by-myself --recursive
Kết quả sau khi tải lên: