이번 포스팅에서는 정적 사이트 배포를 위한 AWS S3 버킷을 설정하는 법을 배워보겠습니다. 😀

AWS S3 정적 사이트 설정하기

먼저 AWS Console의 S3 서비스로 이동합니다.

스크린샷 2019-11-16 오후 4.38.13.png

버킷 만들기

버킷 만들기를 클릭합니다.

스크린샷 2019-11-16 오후 4.40.02.png

저는 버킷 이름을 github-action-tutorial로 하겠습니다. 이는 유니크해야하기 때문에 여러분은 다른 이름을 사용하셔야 합니다.

그리고 바로 생성 버튼을 눌러주세요.

스크린샷 2019-11-16 오후 4.41.30.png

그럼 다음과 같은 화면이 뜨셨나요?

정적 사이트 설정하기

여기서 속성 탭에 들어갑니다.
속성 탭의 정적 웹 사이트 호스팅 카드를 누르면 호스팅 설정을 하실 수 있습니다.

스크린샷 2019-11-16 오후 4.42.51.png

이 버킷을 사용하여 웹 사이트를 호스팅합니다.를 누르고, 인덱스 문서와 오류 문서에 index.html을 적어주고 저장 버튼을 누릅니다.

버킷 액세스 정책 설정하기

그리고 해당 버킷에 모든 사용자들이 접근할 수 있게 정책을 설정해야 합니다.

권한 - 퍼블릭 액세스 차단 탭에 들어가서 모든 퍼블릭 액세스 차단을 해제합니다.

스크린샷 2019-11-16 오후 5.55.48.png

그리고 저장합니다.

마지막으로, 버킷 정책 탭에 들어가 정책 편집기에 정책을 작성해 줍니다.

{
    "Version": "2012-10-17",
    "Id": "Policy1546336529826",
    "Statement": [
        {
            "Sid": "Stmt1546336528005",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::github-action-tutorial/*" // 자신의 버킷 이름으로 변경해주세요.
        }
    ]
}

그리고 저장합니다.

이제 호스팅을 위한 버킷 설정은 끝났습니다.

AWS CLI 권한 생성하기

다음은 터미널 CLI로 버킷에 접근하기 위한 권한을 부여하는 방법을 알아보겠습니다.

우선 AWS Console에서 IAM 서비스 탭으로 들어갑니다.

왼쪽 상단 서비스 버튼을 눌러 검색할 수 있습니다.

스크린샷 2019-11-16 오후 4.45.44.png

IAM 페이지에 들어오면 왼쪽에 사용자 탭을 누르면 다음과 같은 화면을 보실 수 있습니다.

스크린샷 2019-11-16 오후 4.47.02.png

사용자추가 버튼을 눌러 사용자를 생성해보겠습니다.

먼저 사용자이름은 github-action-s3로 하겠습니다.
AWS 액세스 유형 선택은 프로그래밍 방식 엑세스에 체크를 하고 다음으로 넘어갑니다.

스크린샷 2019-11-16 오후 4.49.19.png

그리고 기존 정책 직접 연결 탭에서 s3를 검색하고, AmazonS3FullAccess를 선택하여 다음으로 넘어갑니다.

스크린샷 2019-11-16 오후 4.49.35.png

다음으로 계속 넘어가다보면

스크린샷 2019-11-16 오후 4.50.54.png

위와 같은 화면을 볼 수 있으실 텐데, 여기서 꼭❗ .csv를 다운로드하여 접근 권한 키를 저장하시길 바랍니다! 해당 키는 나중에 CLI에서 접근하기 위해 필요합니다.

🚧 해당 키는 외부에 절대 노출되어서는 안됩니다. 자칫 해당 키 파일을 github 공개 레포지토리에 올리기라도 한다면 해커들의 음식이 될 수 있습니다.

다운로드를 다 하셨다면 닫기 버튼을 눌러 사용자 추가를 종료합니다.

자! 고생하셨습니다. 이제 S3 업로드를 위한 준비는 끝이 났습니다.

다음 포스팅에서는 마지막으로 Github Action을 이용하여 S3에 파일 업로드하는 법을 배워보겠습니다.