본문 바로가기
[AWS]/AWS 활용

[AWS] S3를 이용한 정적 웹사이트 호스팅 1. S3 정적 파일 올리기

by METAVERSE STORY 2022. 7. 29.
반응형
728x170

 

시리즈 순서

1. S3 정적 파일 올리기

2. Route 53으로 S3 버킷 연동 시키기

3. CloudFront, Route 53 연동시키기

 

이 글은 첫번째 순서로 S3에 정적 파일을 올린 후 퍼블릭으로 변환시키는 과정이다. 

 

먼저 버킷을 생성해야 한다. S3 버킷 생성을 누른 후 버킷 이름을 작성한다. 

버킷 이름은 고유해야 하며 버킷은 추후에 Route53과 CloudFront와 연동해야 하므로 네이밍을 신중하게 해야 한다. 

 

나는 예전에 미리 호스팅 KR에서 사용했던 도메인이 남아 있어서 그 이름과 동일하게 버킷 이름을 동일하게 설정 했다. 버킷 이름과 Route 53, 도메인 모두 같은 이름을 사용해야 한다.

 

그 다음 버킷에 대한 모든 퍼블릭 액세스 차단을 해제한다. 이게 체크되어 있으면 퍼블릭에서 들어오지 못하므로 이것을 풀어준다. 

 

그 다음 나머지는 default 값으로 놔둔 후 버킷을 생성해 준다.

 

### CloudFront를 사용 안할시 

그 다음 생성한 버킷의 권한을 클릭한 후 버킷 정책 부분에서 편집을 클릭한다. 

 

그럼 이 화면으로 넘어온다. 그 후 Effect는 Allow로 해준다. 허용 정책을 걸어줘서 모든 객체를 볼 수 있게 해야하므로 Allow를 설정해 줘야 한다. 

그 후 Principal 을 *로 선택해서 모두가 접근할 수 있게 해준다.

그 다음 AWS Service는 위에서 S3 Bucket Policy로 설정했기 때문에 자동으로 S3로 지정된다.

 

그 다음 Actions에서 GetObject를 선택해 주고

마지막으로 ARN에는 자신 버킷의 ARN을 선택해 준 후 정책을 추가하면 된다. 

 

그 후 정책을 살펴보면 이런식으로 정책이 생성된다. 이것을 복사한다.

 

그 후 아까 봤던 정책 편집하는 부분에 복사 후 붙여넣어 준다. 

그 후 Resource: (자신의 S3 ARN) 부분 뒤에 /* 을 붙여서 해당 버킷의 하위 모든 파일에 접근할 수 있도록 수정 후 적용시켜야 한다. 

 

그 후 테스트를 위해 이러한 HTML 문 하나를 작성해 준 후 index.html로 저장해 준다. 

 

## CloudFront를 사용한다면 CloudFront에서 정책을 자동으로 생성해주기 때문에 굳이 S3 버킷 정책을 따로 생성할 필요는 없다. 

 

그 후 만들어 놓은 index.html 파일을 업로드 해준다.

 

그 후 만들어 놓은 버킷에 들어가 속성을 클릭한다.

 

 맨 아래로 내려가면 정적 웹사이트 호스팅이 비활성화 되어 있는데 이것을 편집한다. 

 

정적 웹사이트 호스팅을 활성화로 바꾼 후 호스팅 유형을 정적 웹사이트 호스팅으로 선택한다.

그 후 인덱스 문서에 기본 페이지를 등록하기 위해서 index.html로 설정해 준다. 

 

설정을 해주면 엔드포인트가 생성 된 것을 확인할 수 있다. 

 

그 후 이 엔드포인트를 작성해 주면 우리가 넣어두었던 index.html을 확인할 수 있다. 

 

 

 

 

반응형
그리드형

댓글