본문 바로가기
Cloud AWS, Azure, GCP

AWS 인프라 구축 실습 10회 - S3

by SB리치퍼슨 2021. 11. 30.

AWS 인프라 구축 실습 10회 - S3


준비사항
1. 보안그룹
2. VPC
3. Subnet : 퍼블릭서브넷2a, 퍼블릭서브넷2c
4. EC2 (web01 서버, amazon linux 2, t2.micro, new-vpc, 퍼블릭서브넷2a, 퍼블릭ip자동할당 활성화, 보안그룹 new-sg-web[ssh(anywhere), http(anywhere)])

진행과정
1. Route53
2. S3
3. ACL
4. 정적웹사이트 호스팅 활성화
5. 호스팅 영역 레코드 생성
6. 테스트

참고 : http://blog.a-cloud.co.kr/2020/03/15/s3-bucket%ec%9d%84-%ed%99%9c%ec%9a%a9%ed%95%9c-cross-domain-redirect-%ed%95%98%ea%b8%b0/



1. S3

정적 웹 사이트 호스팅(Amazon Simple Storage Service)이란
AWS에서 단순한 마케팅 웹 사이트 또는 웹 애플리케이션 호스팅을 제공합니다. Amazon S3에서 정적 웹 사이트를 호스팅하면 기존 웹 서버보다 훨씬 더 저렴한 비용으로 고성능의 확장 가능한 웹 사이트를 제공할 수 있습니다.
S3서비스는 EC2와 함께 초기 서비스 시작하였습니다.
이미지 호스팅 등의 서비스로 시작(웹사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 빅데이터 분석, etc)해서 현재 서비스 중입니다.
S3는 파일 링크 등의 서비스에 주로 사용하며 HTTP, HTTPS 지원를 지원합니다.
EBS(Elastic Block Store)의 경우 운영체제 드라이브 용으로 사용되고 EFS(Elastic File System)의 경우 데이터 드라이브와 NAS 용으로 주로 사용됩니다. 또, Glacier 서비스의 경우는 아카이브 서비스를 제공하고 있습니다.
Amazon Elastic File System(EFS)은 파일을 추가하고 제거할 때 자동으로 확장되고 축소되며 관리 또는 프로비저닝이 필요하지 않습니다.


1.1. 호스팅영역생성

Route53 메뉴로 이동합니다. 


호스트 레코드영역을 생성합니다.


도메인 관리 사이트에 아래의 호스팅 영역 세부정보에서 네임서버를 가지고 설정합니다.

 


1.2. 버킷 생성

S3 > 버킷 메뉴로 이동합니다. 그리고 버킷만들기를 클릭합니다.

버킷이름은 's3.sbrich.shop', 리전은 '서울'로, 버킷은 기존버킷 설정복사 합니다.

버킷의 퍼블릭 액세스 차단 설정에서 '모든 퍼블릭 액세스 차단'을 해제합니다.

버전관리는 실습과정에서는 '비활성화' 하도록 하겠습니다. 실무에서는 필요에 따라 버전관리를 '활성화'하여 이용하세요.

암호화 관리도 실습과정에서는 '비활성화'하도록 하겠습니다.


실무에서는 아래와 같은 옵션에서 선택하여 사용할 수 있도록 합니다.


고급설정에서 객체잠금은 실습에서 '비활성'으로 합니다. 실습에서 '활성화'하여 사용하면 버전관리의 파일명에 버전이 붙는데 이를 사용하고 덮어쓰기 등의 기능을 사용하게 됩니다. 예를 들면, '삭제방지', '덮어쓰기방지' 옵션입니다. 이제 버킷 만들기를 클릭합니다.

버킷이 생성되었습니다.

생성된 버킷의 세부정보를 확인합니다.


1.3. 버킷에 파일업로드

생성된 버킷에 이미지를 업로드하기 위하여 폴더를 만들겠습니다. 폴더명은 'images'라고 입력합니다. 폴더만들기 버튼을 클릭합니다.

폴더가 만들어 졌습니다.

s3.sbrich.shop 경로에 index.html, error.html 파일을 업로드합니다.


1.4. 권한설정

권한 영역에서 ACL(액세스 제어 목록)을 설정합니다. 실습에서는 '퍼블릭' 선택으로 누구나 접근이 가능하게 합니다. 
권한은 '퍼블릭 읽기 액세스 권한 부여'를 선택하고 아래 "지정된 객체에 퍼블릭 읽기 액세스 권한을 부여할 위험이 있음을 알고 있습니다."를 체크합니다.


속성은 디폴트로 하고 업로드 버튼을 클릭합니다.

업로드한 결과 images 폴더와 파일이 함께 있습니다.


이제 images 폴더를 클릭합니다. 이 폴더까지의 경로가 접속경로입니다.

s3 uri를 확입합니다. "s3://s3.sbrich.shop/images/"
이 경로에 파일을 업로드합니다. lucky-card.jpg
index.html 파일을 업로드할 때와 동일한 권한과 속성 설정을 합니다. 권한에서는 '퍼블릭 읽기 액세스 권한 부여'를 선택합니다.

속성 영역에서는 디폴트값으로 선택하고 업로드를 클릭합니다.

파일 업로드가 되었습니다.

 



1.5. 정적 웹사이트 호스팅 활성화

생성된 버킷의 상세에서 속성탭을 클릭합니다.


페이지의 맨 하단으로 이동하면 정적 웹사이트 호스팅 영역이 있습니다.

편집 버튼을 클릭합니다. 비활성화 되어 있는 선택을 활성화로 변경합니다.

활성화를 선택하고 호스팅 유형을 설정합니다. 인덱스 문서, 오류 문서를 입력합니다.

변경 사항을 저장합니다. 버킷 웹 사이트 앤드포인트가 생성되었습니다.

생성된 앤드포인트 "http://s3.sbrich.shop.s3-website.ap-northeast-2.amazonaws.com"를 Route53설정에서 사용합니다.



1.6. 레코드 생성

Route53 메뉴로 이동합니다. 호스팅 영역 "sbrich.shop"에서 레코드 생성을 클릭합니다.
레코드 명은 's3', 유형은 'A', 별칭은 'S3 웹사이트 앤드포인트 > 서울 리전 > S3 앤드포인트에 대한 별칭'에서 1.5.에서 생성한 S3 앤드포인트를 선택합니다.


레코드가 생성되었습니다.



1.7. 접속테스트

이제 생성된 url은 'http://s3.sbrich.shop'입니다.


S3에 업로드한 파일에 대한 접속 테스트가 정상적으로 완료되었습니다.


AWS 인프라 구축 실습 10회 - S3에 대하여 실습해 보았습니다.
다음은 AWS 인프라 구축 실습 11회 - EFS에 대해서 실습해보도록 하겠습니다.

반응형

댓글