정적 사이트 생성기 gatsby 배우기 - 002
2 분 소요
정적 사이트 생성기 gatsby 배우기 - 002
AWS CLI 설치하기
- https://awscli.amazonaws.com/AWSCLIV2.pkg 다운로드
- symlink 생성
$ sudo ln -s /usr/local/aws-cli/aws-cli/aws /usr/local/bin/aws
$ sudo ln -s /usr/local/aws-cli/aws-cli/aws_completer /usr/local/bin/aws_completer
aws configure 를 통해 빠른 구성
$ aws configure
AWS Access Key ID [None]: # AWSAccessKeyId
AWS Secret Access Key [None]: # AWSSecretKey
Default region name [None]: # ap-northeast-2
Default output format [None]: # json
S3 만들기
- S3 서비스 선택
Create Bucket 선택
- Bucket name 입력
- 3자 ~ 63자, 중복불가
- 소문자, 숫자,
., - 으로만 구성
Region 선택 > ...Seoul... 선택
- Bucket setting for Block Public Access
Block all public access 체크 해제
I acknowledge that ... 체크
Create Bucket 선택
정적 웹 사이트 호스팅 활성화
- 생성된 Bucket 선택
Properties 탭 선택
Static website hosting 의 Edit 선택
Use this bucket to host a website 선택
Static website hosting 에 Enable 선택
Index document 에 index.html 입력
Save changes 선택
Permissions 탭 선택
Bucket Policy 의 Edit 선택
- Bucket ARN 의
arn:aws:s3... 복사
Policy generator 선택
- Step 1: Select Policy Type
- Select type of policy
S3 Bucket Policy 선택
- Step 2: Add Statement(s)
- Effect : Allow
- Principal : *
- Actions :
All Actions 체크
- Amazon Resource Name :
arn:aws... 붙여넣기
Add Statment 선택
- Step 3: Generate Policy
Generate Policy 선택
- Policy JSON Document 내용 복사
Bucket Policy 페이지로 돌아오기
Policy 부분에 붙여넣기
"Resource": "arn:aws:s3..." 문장 끝에 /* 추가
- “Resource”: “arn:aws:s3:::YOUR S3 BUCKETS NAME/*”
Save changes 선택
S3 셋업
- gatsby site 디렉토리로 이동
- gatsby-plugin-s3 설치
$ npm install gatsby-plugin-s3
gatsby-config.js 수정
- gatsby site 디렉토리로 이동
- gatsby-config.js 수정
module.exports = {
...
plugins: [
...
{
resolve: `gatsby-plugin-s3`,
options: {
bucketName: "YOUR S3 BUCKETS NAME",
},
},
...
],
};
package.json 수정
- gatsby site 디렉토리로 이동
- package.json 수정
{
...
"scripts": {
...
"deploy": "gatsby-plugin-s3 deploy --yes"
},
...
}
build & deploy
$ npm run build
$ npm run deploy
참고