AWS 강의 정리 - 3
VPC(Virtual Private Cloud)
· 가상 사설 클라우드(서버)
· 하나의 Region 안에 존재한다.
· Region안에 VPC가 있고 VPC안에 AZ가 있고 그안에 Subnet이 있다!
· Subnet
- 여러 AZ에 걸쳐서 있을 순 없다.
- AZ안에서 서비스들을 묶을 수 있는데 이렇게 작게 묶여있는 단위가 Subnet
- 각 Subnet안에는 라우트 테이블이 존재한다. 라우트 테이블(DNS와 비슷한 한 Subnet 안의 주소록 개념)
- Public Subnet: 외부와 연결되는 부분 / 제일 앞 단에 IGW(Internet Gateway)가 있고 그 다음 NAT가 있다. / 외부에서 요청이 오면 IGW를 통해서 받고 다음으로 넘긴다.
- Private Subnet: 외부와 연결되지 않은 부분 / 외부와 연결 할 수 있음 / 직접적으로 IGW와 연결 되어있지 않는 대신 NAT를 통해 외부로 나가는 트래픽이 가능한 서비스이다.
S3(Simple Storage Service) - 데이터 저장 공간
· 용도 : 정적 웹 사이트 호스팅, 온라인 백업, 데이터 아카이브, 기업 애플리케이션 Big Data 분석등
· Buckets
- 데이터를 저장하는 가장 사위 레벨의 폴더 형태 컨테이너
- S3에 저장되는 파일 : 객체 → 모든 객체는 '키'(디렉토리)로 식별
- 이름 지정 규칙 : 대문자 금지, 언더스코어 금지 / 소문자, 숫자, 점(.), 하이픈(-)으로만 구성 / 3자~63자 / 문자 또는 숫자로 시작&끝 / 마침표 두개 나란히 사용x / IP 주소 형식x
· Bucket Policy
- IAM과 유사하다. JSON 형식의 문서
- 버킷의 모든 객체(파일)에 대한 액세스 제어
- 특정 객체 또는 객체 그룹에 대한 액세스 제어
- 액세스를 허용하는 IP주소 & 범위 지정
- 액세스 가능한 리소스의 범위 제한
- 암호화된 연결 사용을 강제할 수 있다.
- ARN : AWS에서 사용하는 고유 식별자/ AWS 모든 리소스에 대한 고유 식별자 역할
Cloudfront
· AWS가 제공해주는 CDN(Content Delivery Network) 서비스
· 데이터를 주고받는 각 지점에 Edge Locations에 S3데이터들을 캐싱하여 근처에 있는 요청은 해당 지역의 캐싱이 되어있는 곳에서 바로 데이터를 보내줘서 빠르게 전달이 가능하게 한다.
· 이 경우는 static한 파일들을 캐싱 / EC2는 동적인 서버가 그 공간에 떠 있는 것이라는 차이
· 수평적 확장성에 해당
· 장점 : 향상된 속도, 보안(CDN 서비스를 해주는 업체에서 방화벽 제공, 서버 분산, 캐시기능 - 오리진 서버 트래픽이 늘어나지 않음)
· 단점 : 최신 동적 컨텐츠 제공 시 적합하지 않음(실시간, 예를 들면 뉴스 등), 비용 추가 발생
EBS(Elastic Beanstalk)
· 배포 프로세스 자동 처리
· 필요한 인프라 자원을 프로비저닝(준비)
· 로드 밸런싱과 오토스케일링 등의 기능 제공
· 주요개념 : Application, Environment
· Application : 코드 - 애플리케이션 코드. 구성 및 관련 파일 / EBS는 다양한 프로그래밍 언어와 프레임워크 지원
· Environment : 인프라 - EC2 인스턴스, 데이터베이스 인스턴스ㅡ 로드 밸런스 등
· Application, Environment 이 두 가지를 설정하고 빠르게 배포 진행 후 간편하게 config 할 수 있다.
· 처음부터 EBS를 사용하면 문제가 생기거나 뭔가 변경하고 싶을 때 힘들어진다.