AWS 클라우드환경 네이티브 수업 24일차
진행
1. S3
요약
1.
전체 개념도
Cache가 없는 Edge는 Origin에 있는 파일을 가져오지만, (빨간선)
Cache가 있는 Edge 요청을 캐시된 파일을 전달하는 걸로 마무리 합니다. (파란선)
고로 요청 처리 속도에서 캐시된 파일을 바로 전달해주니 훨씬 빠르다.
우리는 우선 Route53(DNS) 없이 사용자 ~ CDN ~ S3를 생성 및 연결하는 법을 실습해보겠다!
추가로
만약 아직 캐시된 파일의 TTL(Time to live) 이 남아 있는데, Origin 파일이 변경되는 경우
남아있는 캐시 파일로 출력이 되는 상황을 방지하기 위해
Edge CDN 캐시를 삭제 (무효화) 하는 방법까지 실습.
S3 란?
Simple Storage Service, 파일 서버의 역할을 하는 서비스. 관리해주는 웹 하드와 같다.
객체
Object, 하나 하나의 파일이라고 생각하면 됨.
버킷
Bucket, 연관된 객체들을 그룹핑한 최상위 디렉토리(폴더)라고 할 수 있다.
버킷 단위로 지역(region)을 지정 가능, 버킷에 포함된 모든 객체에 대해서 일괄적으로 인증과 접속 제한을 걸 수 있다.
버전관리
S3에 저장된 객체들의 변화를 저장.
사용자가 삭제 /변경해도 변화를 모두 기록하기 때문에 객체의 복구가 가능하다.
RSS
Reduced Redundancy Storage,일반 S3 객체에 비해서 데이터가 손실될 확률이 높은 형태의 저장 방식.
대신에 가격이 저렴하기 때문에 복원이 가능한 데이터, 썸네일 이미지와 같은 것을 저장하는데 적합.
아마존은 이것이 그래도 물리적인 하드 디스크 대비 400배 가량 안전하다 함.
Glacier (현재 명칭 : Amazon S3 Glacier Flexible Retrieval)
매우 저렴한 가격으로 데이터를 저장 할 수 있는 아마존의 스토리지 서비스
S3에서 버킷 생성 및 파일 업로드 및 웹 확인
1. AWS 에서 S3를 검색해서 들어간다. 오른쪽 상단 버킷 만들기 클릭
2. 아래 각각에 원하는 대로 세팅을 해서 버킷을 만들면 된다.
이름 : 지구상 전체에서 혼자만 쓸 수 있는 이름으로 설정해야 함.
AWS 리전 : 각 리전을 딱 하나만 잡아 놓는 이유는 겹치는 파일서버의 도메인을 만들지 않게 하기 위함.
객체 소유권 : 객체를 퍼블릭으로 오픈할 것인지 안할 것인지에 대한 권한을 타인에게 양도할 수 있는 지 없는지
퍼블릭 액세스 차단 설정 : 각 항목에 대해서 공개설정을 할 것인지 비공개할 것인지
버킷 버전 관리 : 객체의 버전 관리 (복구여부) 할 것인가?
기본 암호화 : 올라오는 새로운 객체를 암호화 할 것인가?
3. 버킷을 만들면 아래와 같이 나온다. 폴더가 하나 생긴 것!
=> 현재는 퍼블릭 상태가 아니다.
4. 객체를 올려보기 위해 버킷의 이름을 클릭하고 업로드 클릭
5. 업로드 할 파일을 파일 추가나 폴더 추가로 올리고 업로드 클릭
추가적으로 아래 속성을 클릭하면
스토리지 클래스
서버 암호화 설정
추가 체크섬
태그
메타데이터
같은 입맛에 맞게 고르는 옵션들이 있다.
6. 이후 해당 파일은 선택해서 URL 복사를 하고 그대로 웹에 복사 붙여넣기를 해보면
응~ 안나옴~
왜냐면 퍼블릭 설정을 비공개로 했기 때문에
7. 해당 객체를 퍼블릭으로 풀기 위해
권한으로 이동
=> 객체 소유권 에서 편집 클릭
=> ACL 활성화로 변경 (여기가 이해가 안됨. 내가 소유권자인데 왜?)
=> 변경 사항 저장
=> 다시 객체로 돌아와서 파일을 선택하고 작업을 클릭
=> ACL을 사용하여 퍼블릭으로 설정
=> 설정 완료!
8. 다시 URL을 들어가면
여.신.등.장.
CloudFront란 ?
.html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스.
Edge Location을 이용해서 빠르게 배포한다.
콘텐츠가 Edge Location에 없는 경우,
CloudFront는 콘텐츠의 최종 버전에 대한 소스로 지정된 오리진(Amazon S3 버킷, MediaPackage 채널, HTTP 서버(예: 웹 서버) 등)에서 콘텐츠를 검색.
Edge Location
Amazon의 CDN 서비스인 CloudFront를 위한 Cache Server들의 모음을 의미
CDN Service
Content Delivery Network, 콘텐츠(HTML, 이미지, 동영상, 기타 파일)를 서버와 물리적으로
사용자들이 빠르게 받을 수 있도록 전세계 곳곳에 위치한 캐시 서버에 복제해주는 서비스다.
콘텐츠를 빠르게 받기 위해 물리적으로 멀리 떨어진 서버에서 다운로드하는 것보다,
가까운 서버에 접속하여 다운로드 받는 것이 속도가 훨씬 빠르기 때문에
해당 서비스는 전세계 주요 도시에 캐시 서버를 구축해 놓는다.
CDN 생성 후 S3와 연결 해보기
1. AWS에서 CloudFront 검색 후 클릭
=> CloudFront 배포 생성 클릭
2. 원본 도메인에서 이전에 만들어두었던 S3를 선택한다.
=> 원본 도메인까지는 S3까지의 경로다. 객체까지 도메인으로 바로 접근하고 싶다면
원본 경로 - 선택사항에서 /파일 이름 까지 넣어야 한다. ( 예 : /7.jpg )
S3 버킷 액세스
: CloudFront를 통해서만 S3의 객체를 가져올 수 있게 하는 기능.
OAI를 생성하지 않았다면 새 OAI를 생성을 통해 만들어 주면 된다.
캐시 부분 / 함수 연결 넘어가고~
설정에서
대체 도메인
: CloudFront 도메인이 아닌 다른 도메인을 쓰고자 할 때 사용 (ACM 인증서 필요)
사용자 정의 SSL 인증서
: 뷰어 프로토콜 정책에서 HTTPS를 사용하도록 설정했다면 SSL 인증서를 넣어주어야 함.
인증서가 없다면 따로 인증서 요청으로 생성
3. 만들어진 CDN에서 배포 도메인 이름을 복사
=> 도메인/파일이름 으로 웹에 넣으면 객체 파일을 똑같이 볼 수 있다.
=> CDN의 배포 도메인까지는 S3까지의 주소다. 따라서 S3 안의 객체를 보고 싶다면 객체의 이름을 따로 적어줘야 한다.
CloudFront 캐시 삭제하는 법 (무효화)
1. 무효화하길 원하는 배포된 CDN을 선택 후 무효화 클릭
=> 무효화 생성을 클릭
2. Object Paths 에 전체 경로 무효화 선언
특정 경로나 특정 파일 포맷만 무효화 하고 싶다면 해당 경로를 지정하거나 파일 포맷을 지정.
- /img/*.png
=> img 폴더에 있는 png 확장자만 캐시 무효화 처리 한다.
- /*.html
=> 모든 html 파일의 캐시를 무효화 처리한다.
3. 이후 다시 접속하게 되면 엣지에 있는 캐시를 가져오는게 아닌 Origin 에 있는 파일을 불러오게 된다.
기존에 우리는 http://로 만들어 놓은 ec2에 접근했었다.
이번에는 https:// 로 접근해보자!!!
ACM(AWS Certificate Manager) 인증서 생성하는 방법
ACM을 통해 ELB에 HTTPS로 접근하기
1. AWS Certificate Manager 검색해서 들어간다.
=> Certificate Manager는 AWS 서비스 및 리소스에 사용할
SSL / TLS 인증서를 손쉽게 관리 및 배포 할 수 있도록 도와주는 서비스
2. 인증서 요청 클릭
=> 퍼블릭 인증서 요청 + 다음 클릭
3. 만들어 놓은 도메인 이름을 도메인 이름에 넣고
만들어 놓은 Route 53이 있다면 검증 방법에서 DNS 검증을 클릭
그리고 요청 클릭
4. 인증서가 만들어 지고 리스트에 있는 인증서 이름 클릭
=> Route 53에서 레코드 생성 클릭
5. 레코드를 생성 한다.
6. 그리고 다시 원래 인증서 초기 창으로 오면 발급됨으로 바뀐 걸 볼 수 있다. (시간이 좀 걸릴수도)
7. 원하는 EC2가 있는 로드 밸러스 창으로 와서 리스너 클릭
8.
'코딩수업 > AWS 클라우드환경 네이티브' 카테고리의 다른 글
6/16 (맨 마지막 미완) 네트워크 관련 용어, VPC 생성 및 EC2 연결 후 접속 실습 (0) | 2022.06.16 |
---|---|
6/15 RDS 생성 및 접속, 리눅스 VI 명령어 (0) | 2022.06.15 |
6/13 도메인 등록 + 아마존에 연결하는 법 (0) | 2022.06.13 |
6/10 Auto Scaling 설정 (0) | 2022.06.10 |
6/9 Elastic Load Balancing - EC2 생성 및 연결, 웹 서버의 파일 추가, 삭제, 편집 등을 위한 파일 권한 설정 (0) | 2022.06.09 |
댓글