정적 사이트 S3 배포

Yohan Kim·2023년 2월 26일
0

Amazon S3란?

Simple
Storage
Service 의 준말
-> 다른 아마존 서비스에 연동하기 쉽다 (많이 사용된다.)

정적 사이트를 배포하기에 알맞다.

리액트 라우팅 기능을 사용하고 있어 내 프로젝트가 동적 웹사이트인가? 라며 헷갈렸지만
clinet-side-routing을 사용하는 것 이었고 정적 웹사이트가 맞았다.

순서

  1. 아마존 회원가입 -> s3 검색 -> 버킷 만들기

  2. 버킷 이름 짓기

다른 사람들이 정적 웹사이트에 접근해야하므로 퍼블릭 상태로 만들어준다!
본인이 다른 서비스에 연동하려고 쓰는 경우는 체크할 필요가 없다.
나머지 설정은 그대로 두어도 괜찮다.

  1. 속성 - 정적 웹 사이트 호스팅 활성화 하기 + default html, 404 page 세팅하기

위 설정을 바꾸면 웹사이트 주소가 나올 텐데, 객체 탭에서 배포할 파일을 넣고 사이트에 들어가면 403 forbidden 오류가 나온다.

권한을 설정 안했기 때문이다.

  1. 권한 - 버킷 정책 편집하기
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<bucket_name>/*"
        }
    ]
}

aws cli 설치하기

일단 본인은 우분투를 사용 중
OS마다 설치 명령어가 다를 수 있어요

업데이트
sudo apt update
sudo apt upgrade

설치
sudo apt-get install awscli

설치 확인
aws --version

access_key 발급 받기

우측 상단에 본인 아이콘 클릭 후
내 보안 자격 증명
엑세스 키 생성

cli 사용하여 버킷에 파일 올리기

로그인

aws configure --profile 프로필 명

aws s3 sync s3://<버킷이름> <디렉터리>

예시

aws s3 sync build/ s3://login-todo-2023-02 --delete

profile
안녕하세요 반가워요!

0개의 댓글