정적 사이트 생성기 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
참고