핵심
목차
네트워크
컴퓨팅
스토리지
Network
VPC
:cloud: Virtual Private Cloud
고객이 정의하는 가상 네트워크에서 AWS 리소스를 구동할 수 있는 AWS 클라우드의 논리적으로 격리된 공간 프로비저닝
- 정의된 가상 네트워크에서 AWS 리소스 시작
- 자체 IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 :point_right: 가상 네트워킹 환경 제어
:sunny: VPN: 가상 프라이빗 네트워크
:heavy_check_mark: POINT
- 인터넷 게이트웨이
- 수평적 확장
- 중복적
- 가용성이 뛰어남
- 대역폭 제한 :x:
- 사용 가능한 IP 주소 범위
- 기본: 모든 IPv4 주소 범위
- 보조
- 공개 :o: 라우팅 IP 블록: 가상 프라이빗 게이트웨이
- 인터넷 게이트웨이 :point_right: 인터넷상에서 액세스 :x:
- VPC 크기
- IPv4: 5개 (기본 1 보조 4)
- 범위 크기: /28 ~ /16
- IPv6
- 고정 크기: /56
- IPv4: 5개 (기본 1 보조 4)
- VPC 크기 변경
- 4개의 보조 IPv4 IP 범위(CIDR) 추가
- VPC의 IPv6 주소 범위 크기 변경 :x:
서브넷
- VPC당 200개의 서브넷 생성
- 서브넷 크기
- IPv4: 최소 /28(or IP 주소 14개) :exclamation: VPC 보다 작은 크기
- IPv6: 고정 /64, 단 한 개 할당
- 모든 서브넷의 처음 4개 IP 주소와 마지막 1개 IP 주소 예약
- 한 서브넷, 하나의 가용 영역
구성 요소
Virtual Private Cloud
AWS 클라우드 내 논리적으로 격리된 가상 네트워크
선택한 범위 VPC의 IP 주소 공간 정의
서브넷
격리된 리소스 그룹을 배치할 수 있는 VPC IP 주소 범위의 한 세그먼트
인터넷 게이트웨이
인터넷과 연결되는 아마존 VPC 측 게이트웨이
NAT 게이트웨이
프라이빗 서브넷에 있는 리소스가 인터넷에 액세스할 수 있게 해주는 고가용성 관리형 네트워크 주소 변환 서비스
가상 프라이빗 게이트웨이
VPN에 연결되는 아마존 VPC 측 게이트웨이
피어링 연결
피어링 연결을 사용하여 프라이빗 IP 주소를 통해 피어링되는 두 VPC 간 트래픽 라우팅
VPC 엔드포인트
인터넷 게이트웨이, VPN, NAT 디바이스 또는 방화벽 프록시를 사용하지 않고 :x:
AWS에서 호스팅되는 서비스에 VPC 내에서부터 비공개로 연결
송신 전용 인터넷 게이트웨이
VPC에서 인터넷으로 IPv6 트래픽에 대해 송신 전용 액세스를 제공하는 상태 저장 게이트웨이
사용 이유
-
AWS 클라우드에서 가상 네트워크 구축
:point_right: 물리적 데이터 센터 필요 :x:
-
자체 네트워크 공간 정의
-
네트워크 및 네트워크 내에 있는 EC2 리소스가 인터넷에 노출되는 방식 제어
-
보안 옵션
- 가상 네트워크 내 EC2 인스턴스에 더 세분화된 방식으로 액세스
네트워크 아키텍처
옵션
- 단일 퍼블릭 세브넷 VPC
- 퍼블릭 및 프라이빗 서브넷 VPC
- 버플릭 및 프라이빗 서브넷 :heavy_plus_sign: AWS Site-to-Site VPN 액세스 제공 VPC
- 퍼블릭 서브넷 :heavy_plus_sign: AWS Site-to-Stie VPN 액세스 제공 VPC
:point_right: VPC와 서브넷의 크기 및 IP 주소 범위 변경
VPC 엔드포인트 유형
:sunny: VPC 엔드포인트
- 인터넷 게이트웨이, NAT, 방화벽 프록시 사용 :x:
- VPC를 AWS에서 호스팅하는 서비스와 비공개로 연결
- 수평적 확장, 가용성이 매우 뛰어난 가상 디바이스
- VPC 내 인스턴스와 AWS 서비스 간에 통신 허용
게이트웨이 유형 엔드포인트
S3, DynamoDB 등 AWS 서비스에서만 이용
사용자가 선택한 라우팅 테이블에 항목추가, 트래픽을 아마존의 프라이빗 네트워크를 통해 지원되는 서비스로 라우팅
인터페이스 유형 엔드포인트
AWS 서비스인 PrivateLink에서 지원하는 서비스, 자체 서비스, SaaS 솔루션에 비공개로 연결
Direct Connect 통한 연결 지원
VPC 트래픽 미러링
:cloud: VPC 트래픽 미러링
콘텐츠 검사, 위협 모니터링, 문제 해결 등의 사용 사례를 위해
EC2 인스턴스 네트워크 트래픽 복제, 대역 외 보안 및 모니터링 어플라이언스로 전달하는 과정을 손쉽게 처리
- EC2 인스턴스용 ENI(탄력적 네트워크 인터페이스)에서 네트워크 패킷 캡처 지원
- 실제 트래픽 콘텐츠 분석 :point_right: 네트워크 트래픽을 좀 더 깊이 있게 파악
- 실제 패킷을 분석하여 성능 문제의 근본 원인 파악
- 정교한 네트워크 공격을 리버스 엔지니어링
- 내부자 침해 또는 손상된 워크로드를 감지 및 차단하는 사용 사례
Route 53
높은 가용성과 확장성이 뛰어난 클라우드 DNS 웹 서비스
- 최종 사용자를 인터넷 애플리케이션으로 라우팅할 수 있도록 제공
- 도메인 이름 구매/관리
- DNS 자동 설정
- AWS 인프라 효과적으로 연결
- 사용자를 AWS 외부의 인프라로 라우팅 가능
:heavy_check_mark: POINT
- 높은 가용성과 낮은 지연 시간
- DNS 서버 = 전 세계 분산
- 인터넷 및 네트워크 문제 우회
- 최종 사용자가 애플리케이션에 안정적으로 라우팅
- 중요한 애플리케이션에서 필요한 수준의 신뢰도 제공
- 네트워크 상태에 따라 최적의 위치에서 쿼리에 자동 응답 :point_right: 전 세계적 규모의 DNS 서버 애니캐스트 네트워크 사용
- DNS 서버 = 전 세계 분산
작업
- 공개 DNS 레코드 생성, 관리
- 도메인 이름의 IP 주소 관리
- 도메인 이름 :point_right: IP 주소 변환
- 도메인 이름의 IP 주소 관리
- 새로운 도메인에 대한 DNS 레코드 생성
- 기존 도메인에 대해 DNS 레코드 전송
DNS
:cloud: www.example.com과 같은 사람이 읽을 수 있는 이름 :point_right: IP 주소로 변환하는 글로벌 배포 서비스
- 쿼리: DNS 서버에서 이름을 IP 주소로 변환하여 도메인 이름을 웹 브라우저에 입력할 때, 최종 사용자를 어떤 서버에 연결할 것인지 제어
:cloud: DNS 레코드: 도메인에 관한 설정을 하기 위해 사용되는 일련의 문자
:cloud: DNS 엔드포인트: VPC에 연결하는 하나 이상의 탄력적 네트워크 인터페이스(ENI)가 포함
- ENI에 현재 위치하고 있는 VPC의 서브넷 공간에서 IP 주소 할당
- IP 주소는 온프레미스 DNS 서버가 쿼리르 전달할 수 있도록 전달 대상 역할 수행
호스팅 영역
DNS 영역 파일과 유사
단일의 상위 도메인 이름에 속하면서 함께 관리할 수 있는 레코드 세트
- 호스팅 영역 내 모든 리소스 레코드 세트는 반드시 호스팅 영역의 도메인 이름을 접미사로 포함해야 함
- ex) amazon.com = www.amazon.com = www.aws.amazon.com != www.amazon.ca
:heavy_check_mark: POINT
- 애니캐스트 네트워크 사용
- 애니캐스트: 네트워킹 및 라우팅 기술
- 최종 사용자의 DNS 쿼리가 주어진 네트워크 조건에서 최적의 Route 53 위치로부터 응답을 얻음
- 사용자는 Route 53를 통해 높은 가용성과 개선된 성능 경험
- 애니캐스트: 네트워킹 및 라우팅 기술
- 호스팅 영역 수 제한
- 최대 500개 호스팅 영역
- 호스팅 영역 당 10,000개의 리소스 레코드 세트로 제한
- DNS 공급자 및 BIND 표준 DNS 서버 소프트웨어에서 내보내는 표준 DNS 영역 파일을 가져옴
- NS 및 SOA 레코드 :x: 비어있는 기존 호스팅 영역 뿐 아니라 새로 생성된 호스팅 영역에서 영역 파일을 직접 Route 53 콘솔에 붙여넣기 가능 :o:
- 호스팅 영역에 자동으로 레코드 생성
- 와일드카드 입력
- 도메인에 대한 DNS 설정을 더 쉽게 구성할 수 있도록 NS 레코드를 제외한 모든 레코드 유형에 와일드카드 입력 지원
라우팅 정책
WRR 가중치 기반 라운드 로빈
각 응답이 처리되는 빈도를 지정할 수 있도록 리소스 레코드 세트에 가중치 할당
- A/B 테스트 수행
- 소프트웨어 변경이 이루어진 서버로 소규모 트래픽 전송
LBR 지연 시간 기반 라우팅
전 세계 사용자를 위해 애플리케이션 성능 개선 기능
- 여러 AWS 리전, Route 53에서 애플리케이션 실행
- 전 세계 수십 개의 다른 엣지 검색 :point_right: 최종 사용자를 지연 시간이 가장 낮은 AWS 리전으로 라우팅
지역 DNS
지리적 위치를 기반으로 한 특정 엔드포인트로 요청을 보내 로드의 균형을 맞춤
- 지역화 된 콘텐츠 사용자 지정
- 예측 가능, 관리가 쉬운 방법
- 지속적으로 동일한 엔드포인트로 라우팅되도록 보장
- 대륙, 국가/지역 세 가지 지역 단위 제공
- 중복 지역 레코드 보유 가능
트래픽 흐름
사용이 간편하고 비용 효율적인 글롭러 트래픽 관리 서비스
- 전 세계에 걸쳐 여러 엔드포인트 실행 :point_right: 최종 사용자를 위해 애플리케이션의 성능 및 가용성 향상
Route 53 Resolver
EC2에 호스팅 된 이름과 인터넷에서 사용하는 퍼블릭 이름에 대한 반복적 DNS 조회를 제공하는 지역 DNS 서비스
Direct Connect
온프레미스에서 AWS로 전용 네트워크 연결을 쉽게 설정할 수 있는 클라우드 서비스 솔루션
인터넷 대안으로 사용하는 네트워크 서비스
- 인터넷을 통해 전송했던 데이터를 AWS와 개인 데이터 센터, 기업 네트워크 간의 프라이빗 네트워크 연결로 전달
- AWS Direct Connect 연결을 하나 이상의 가상 인터페이스와 함께 구성
:heavy_check_mark: POINT
- 대역폭 비용 감소
- 일관된 네트워크 성능
- 모든 AWS 서비스와 호환 가능
- VPC로 프라이빗 연결
- 탄력성
- 간편성
Computing
EC2
:cloud: Elastic Compute Cloud
클라우드에서 컴퓨팅 파워의 규모를 자유자재로 변경할 수 있는 웹 서비스
- S3로 클라우드에서 스토리지 사용
- 컴퓨팅 수행
- 간단한 웹 서비스 인터페이스를 통해 간편하게 필요 용량 구성
- 리소스 포괄적 제어권 제공
- 인프라 실행
- 새로운 서버 인스턴스 획득/부팅 :point_right: 시간 단축
- 신속하게 용량 확장/축소 (:exclamation: 탄력적)
- 실제 사용한 만큼만 요금 지불
Auto Scaling
쉽고 안전하게 여러 AWS 리소스의 규모를 조정
:point_right: 인프라 비용 감소, 애플리케이션 성능 최적화
- 리소스 모음 조정 :point_right: 규모 조정 경험 간소화
- 리소스 규모 자동 조정
:heavy_check_mark: POINT
- 빠른 규모 조정
- 애플리케이션을 지원하는 확장 가능한 모든 리소스에 대해 통홥된 규모 조정 환경 제공
- 직관적인 단일 인터페이스
- 확장 가능한 모든 리소스의 평균 사용량 :point_right: 리소스 그룹의 목표 사용량 수준 신속하게 정의
- 똑똑한 규모 조정 의사 결정
- 서로 다른 리소스 그룹이 수요 변화 대응에 자동화
- 이해하기 쉬운 규모 조정 전략 :point_right: 가용성, 비용, 최적화
- 모든 규모 조정 정책 자동 생성/목표 설정
- 서로 다른 리소스 그룹이 수요 변화 대응에 자동화
- 자동 성능 유지
- 앱의 기본 리소스 모니터링 :point_right: 원하는 성능 수준 작동 확인
- 수요 급증 시 리소스 용량을 자동으로 늘림
- 비용 예측 및 초과 지출 방지
- 사용률과 비용 효율성 최적화
- 필요한 리소스에 대해서만 비용 지불
사용
- 확장 가능한 리소스 사용
-
변동이 심한 애플리케이션 보유
- CloudFormation 스택에 따라 애플리케이션 선택
규모 조정
- EC2 Auto Scaling
- 애플리케이션의 로드를 처리하는 정확한 수의 EC2 인스턴스 유지
- 인스턴스가 비정상 상태일 때 감지하여 종료
- 내결함성, 가용성, 비용 관리 개선
- Application Auto Scaling API
- 규모 조정 정책 정의
- AWS 리소스 규모 자동 조정, 일회성 반복 규모 조정 작업 일정 예약
- ECS, EC2 스팟 플릿, EMR 클러스터, DynamoDB 등등
Predictive Scaling
트래픽 패턴 기록 검토, 미래 예측하여 적절한 시간에 EC2 인스턴스 수 변경 예약
- 기계학습 모델 사용
규모 조정 계획
여러 AWS 리소스에 대한 일련의 규모 조정 지침
- EC2 리소스 선택
- 추적할 리소스 사용 지표 & 추적할 값 설정
- 입력 트래픽 흐름을 나타내는 CloudWatch 지표 선택
Elastic Beanstalk
개발자가 손쉽게 AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리
개발자가 애플리케이션을 업로드하면 자동으로 용량 프로비저닝, 부하 분산, Auto-Scaling, 애플리케이션 상태 모니터링 등 배포 세부 정보 처리
- 여러 개발 스택과 프로그래밍 언어 지원, 확장 가능
이미지를 통해 배포에 초점
:heavy_check_mark: POINT
-
관리 플랫폼
- 세부 정보 자동 처리 :point_right: 애플리케이션 버전 실행 환경
- 배포 가능한 코드 업로드 :point_right: 나머지 처리
- 컨테이너, Paas는 프로그래밍 부담 :point_down:, but 개발자가 유연성과 제어력을 활발히 발휘하기 어려움
제어
- 운영 체제 선택
- EC2 인스턴스 선택 (온디맨드, 예약, 스팟)
- 사용 가능한 여러 데이터베이스 및 스토리지 선택
- HTTPS 프로토콜 :point_right: 보안 강화
- 서버 설정(JVM 등) 조정, 환경 변수 전달
- 메모리 캐시 서비스와 같은 다른 애플리케이션 구성 요소 EC2 나란히 실행
저장 (to S3)
- 애플리케이션 파일
- (선택) 서버 로그 파일
- 이미지(애플리케이션 데이터)
ECS
:cloud: Clastic Container Service
컨테이너를 실행하는 고도로 안전하고, 안정적이고, 확장 가능한 방식
완전 관리형 컨테이너 오케스트레이션 서비스
Docker 컨테이너를 지원하는 확장성과 성능이 뛰어난 컨테이너 관리 서비스
- EC2 인스턴스의 관리형 클러스터에서 애플리케이션을 손쉽게 실행
Docker에 맞춰 이미지 조정
성능
- 자체 클러스터 관리 인프라 설치, 운영, 확장 :x:
- 간단한 API 호출 :point_right: 컨테이너가 활성화된 애플리케이션 실행/중지
- 여러 기능 액세스 :o:
- 리소스 필요 사항과 가용성 요구 사항에 따라 클러스터 전체 컨테이너를 배치할 일정 수립 :o:
이유
- 간편하게 컨테이너를 애플리케이션의 빌딩 블록으로 사용
- Docker컨테이너 사용 :point_right: 장기 실행 앱, 서비스 및 배치 프로세스 예약
- 가용성 유지 관리
- 애플리케이션 용량 요구 사항에 따라 컨테이너 규모 확장/축소
- DBS, DLB, VPC, IAM 등 기능 통합
Lambda
백엔드 서비스, 서버를 프로비저닝하거나 관리할 필요 없이 코드 실행
코드 업로드하면 Lambda에서 높은 가용성으로 코드 실행 및 확장에 필요한 것 처리
서버리스 컴퓨팅
서버를 고려하지 않고 애플리케이션과 서비스 구축
- 모든 서버 관리를 AWS에서 수행
- 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있도록 지원 (Lambda)
사용
-
S3 버킷 변경, DynamoDB 테이블 업데이트, 애플리케이션이나 디바이스에서 생성한 사용자 지정 이벤트에 대한 응답으로 손쉽게 코드 실행
-
자체 인스턴스를 프로비저닝 :x:
-
용량 프로비저닝, 서버 상태 모니터링, 기본 컴퓨팅 리소스에 보안 패치 적용, 코드 배포, 웹 서비스 프런트엔드 실행, 코드 모니터링과 로깅
:point_right: 모든 운영 및 관리 작업 수행
-
코드 확장 용이, 고가용성, 사용자가 별도의 작업:x:
:heavy_check_mark: POINT
- 인프라 액세스 :x:
- 코드 분리
- 자체 리소스와 파일 시스템 보기 실행
- 인프라와 실행 수준에서 보안과 분리 제공
- 코드 보호
- S3에 코드 저장, 저장된 데이터 암호화
- 코드를 사용하는 동안만 추가 무결성 검사 수행
Lambda 함수
- Lambda에서 실행하는 코드는 ‘Lambda 함수’로 업로드
- 함수에는 이름, 설명, 진입점, 리소스 요구 사항 등 연관된 구성 정보 포함
- 코드 = ‘상태 비저장’ 스타일 :point_right: 기본 컴퓨팅 인프라에 대한 선호도가 없다고 가정
- :grey_question: 상태 비저장
- AWS Lambda에서 필요한 만큼 함수 사본을 빠르게 시작
- 수신 이벤트 비율에 따라 조정
- 코드에서 S3 등 다른 웹 서비스 호출하면 상태 저장 데이터에 엑세스
- :grey_question: 상태 비저장
- 아티팩트 요청 수민 기간 이상 확장 :x:
- S3, DynamoDB, 인터넷 사용 스토리지 서비스에 지속 상태 저장
- 라이브러리 포함 :o:
- 인스턴스 재사용 :o:
:heavy_check_mark: POINT
- 가용성 :+1:
- 복제 및 중복성 사용
- 스레드와 프로세스 사용 :o:
- 제한 사항
- 인바운드 네트워크 연결 차단 :point_right: 아웃바운드 연결 전용 TCP/IP 및 UDP/IP 소켓만 지원
- 디버깅 시스템 호출 차단
- TCP 포트 25트래픽 차단
- Lambda 콘솔의 코드 편집기를 사용해 Node.js 또는 Python을 사용하여 코드 작성 및 테스트 가능
- 환경 변수 지원 :o:
- 민감한 정보는 암호문으로 저장하는 것이 좋음 (Key Management Service 사용)
- 콘솔의 대시보드 사용
- 함수 간 코드 공유 가능 :point_right: Lambda Layer
- CloudWatch를 통해 모니터링
- 자동 확장
- 함수에 사용할 메모리 양 선택 :point_right: 컴퓨팅 리소스 자동 할당
- 버전 관리 :o:
이벤트 처리
:cloud: 이벤트 소스
Lambda 함수를 실행하도록 트리거하는 이벤트를 생성하는 AWS 서비스나 앱
- Lambda에 이벤트를 게시하지 않는 다른 서비스에서 리소스 폴링 :o:
- Lambda 함수에 이벤트 입력 파라미터로 전달
- 이벤트가 배치로 수신되는 이벤트 소스
- 요청한 배치 크기에 따라 이벤트 파라미터가 단일 호출에 여러 이벤트 포함
- 이벤트가 배치로 수신되는 이벤트 소스
서버리스 애플리케이션
이벤트에 의해 트리거되는 함수로 구성
- S3로 객체 업로드, SNS 알림 또는 API 작업과 같은 이벤트에 의해 트리거되는 하나 이상의 함수로 구성
- 독립적으로 함수 실행, DynamoDB 테이블 또는 S3 버킷과 같이 다른 리소스 활용 가능
- Serverless Application Model (SAM)을 사용해 배포/관리
- 배포 자동화
- CodePipeline
- CodeDeploy
프로비저닝된 동시성
서버리스 애플리케이션 성능을 강력하게 제어, 극도의 준비 상태
- 대기 시간에 민감한 애플리케이션 구축에 좋음
Lambda용 EFS
온디맨드로 확장할 수 있는 탄력적인 완전관리형 NFS 시스템을 사용하여 대요량의 데이터를 읽고, 쓰고, 유지 가능
:point_right: 관리 할 필요 :x:
-
개발자는 처리할 데이터를 임시 스토리지로 다운로드하기 위한 코드 작성 :x;
-
VPC의 서브넷과 연결
Lambda@Edge
서버를 프로비저닝하거나 관리하지 않고 글로벌 AWS 엣지 로케이션에서 코드 실행 :o:
가장 짧은 네트워크 지연 시간으로 최종 사용자에게 응답
- 최종 사용자가 전 세계에 분산되어 있고 지연 시간에 민감한 사용 사례에 최적화
- CloudFront 엣지에서 제공 필요
Storage
EBS
:cloud: Elastic Block Store
대규모로 처리량과 트랜잭선 집약적 워크로드 모두를 지원하기 위해 EC2에서 사용하도록 설계된 사용하기 쉬운 고성능 블록 스토리지 서비스
- :one: SSD 지원 스토리지
- 트랜잭션 워크로드
- IOPS 집약적 데이터베이스 워크로드
- 부트 볼륨 및 높은 IOPS가 필요한 워크로드
- :two: HDD 지원 스토리지
- 처리량 워크로드
- 빅 데이터 워크로드
- 큰 I/O 크기 및 순차적 I/O 패턴 설계
:heavy_check_mark: POINT
- EC2 = 인스턴스가 활성화 되어 있는 동안만 저장된 데이터 지속
- EBS = 인스턴스 수명과 별도록 지속
스냅샷
:cloud: EBS direct APIs for Snapshots
- 볼륨 탑재 안해도 됨
- EBS 볼륨에 기록된 데이터만 캡처 :o:
- 로컬 캐싱 데이터 :x:
- 스냅샷이 일관성을 유지 :point_right: 볼륨 완전 분리 후 스냅샷 명령 후 볼륨 다시 연결
FSR
빠른 스냅샷 복원
- 데이터 복원 시, 데이터 액세스 지연 시간 걱정 or 초기 성능 히트를 피하려는 경우
- 스냅샷 생성 속도 :x:
- AZ 내의 스냅샷에서 API 호출
- 최대 10개의 초기화 볼륨
S3
:cloud: Simple Storage Service
인터넷 상에서 데이터를 저장하고 검색할 수 있도록 구축된 객체 스토리지
:heavy_check_mark: POINT
- 뛰어난 확장성
- 사용한 만큼만 비용 지불
- 성능, 안정성 저하 :x:
- 애플리케이션 확장
- 뛰어난 유연성
- 원하는 형식의 데이터를 원하는 만큼 저장
- 동리한 데이터를 수백만 번 읽거나 비상 재해 복구 용도로 사용
- 웹 애플리케이션 구축
-
데이터 저장 방법 고민 :x: 혁신에 집중
- REST 기반 웹 서비스 인터페이스 제공
- HTTPS 프로토콜을 사용하여 SSL 엔드포인트를 통해 S3에 데이터를 안전하게 저장
- 버전 관리 필요
리전
AWS가 짧은 지연 시간, 높은 처리량 및 중복성이 높은 네트워킹으로 연결된 지리적 위치
가용 영역(AZ)
리전 내 물리적으로 격리된 위치
- S3: 리전 내 최소 3개의 AZ 운영
S3 액세스 포인트
많은 애플리케이션에 대한 액세스를 제어하는 단일 버킷 정책 사용
S3의 공유 데이터 세트를 사용하여 애플리케이션에 대한 대규모 데이터 액세스 관리를 간소화
- 버킷당 수백 개의 액세스 포인트를 쉽게 생성
- 공유 데이터 세트에 대한 액세스 프로비저닝하는 새로운 방식을 나타냄
- 고유한 호스트 이름과 액세스 포인트를 통해 생성된 모든 요청에 대해 특정 권한 및 네트워크 제어 적용하는 액세스 정책 사용
- 버킷으로 사용자 지정된 경로 제공
- 버킷과 버킷 콘텐츠에 대한 액세스 제공
사용 이유
- S3에서 공유 데이터 집합으로 설정된 애플리케이션에 대한 데이터 액세스 관리하는 방법을 단순화
- 특정 앱에 맞게 조정된 정책으로 공유 데이터 집합에 대한 액세스 허용하는 앱 특정 액세스 포인트 생성
버킷
- 객체의 논리적 스토리지 컨테이너
S3 Intelligent-Tiering
알 수 없는 액세스 패턴 또는 알아보기 어려운 변화하는 액세스 패턴이 있는 데이터를 위한 S3 스토리지 클래스
액세스 패턴이 변화할 때 두 개의 액세스 계층 간에 객체를 이동하여 자동 비용 절감 효과를 제공하는 최초의 클라우드 스토리지 클래스
- 자주 액세스하는 용도 최적화
- 자주 액세스하지 않는 용도 (요금 저렴)
사용
- 액세스 패턴을 예상할 수 없는 데이터 세트
- 업로드 직후 액세스가 빈번하지만 데이터 세트가 오래되면서 액세스가 감소할 때
- 데이터 세트를 S3 One Zone-IA로 이동 or S3 Glacier에 아카이브
S3 스탠다드-Infrequent Access(S3 스탠다드-IA)
액세스 빈도가 낮지만 필요할 때 빠르게 액세스해야 하는 데이터를 위한 S3 스토리지 클래스
S3 One Zone-Infrequent Access(S3 One Zone-IA)
단일 가용 영역에 객체를 저장하도록 선택할 수 있는 S3 스토리지 클래스
-
데이터를 중복으로 저장
-
S3 스탠다드-IA보다 20% 저렴
-
백업용
S3 Glacier
백업 및 아카이브 스토리지 서비스
- 저렴
S3 Glacier Depp Archive
1년에 한두 번 정도 액세스하는 데이터의 장기 보존을 위한 안전하고 안정적인 객체 스토리지
쿼리지원
이벤트 알림
S3 Transfer Acceleration
거리가 먼 클라이언트와 S3 버킷 간에 파일을 빠르고, 쉽고, 안전하게 전송
전 세계적으로 분산된 Amazon CloudFront의 AWS 엣지 로케이션을 활용
데이터가 AWS 엣지 로케이션에 도착하면 최적화된 네트워크 경로를 통해 S3 버킷으로 라우팅
Glacier
데이터 아카이빙을 위한 장기적이고 안전하며 내구성 있는 S3 객체 스토리지 클래스
- 데이터 백업 및 아카이브를
- 유연성
- 매우 저렴
- 용량 계확, 하드웨어 프로비저닝, 데이터 복제, 하드웨어 장애 탐지 및 수리, 시간 소모적인 하드웨어 마이그레이션 :x:
:heavy_check_mark: POINT
- 빠른 검색
- 내구성 및 확장성
- 가장 포괄적인 보안 및 규정 준수 기능
- 저렴한 비용
- 가장 많은 파트너
Cloud Front
빠르고 안전하며 프로그래밍 가능한 콘텐츠 전송 네트워크(CDN)
- 개발자 칙화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 앱, API를 전 세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크 서비스
- AWS 글로벌 인프라와 직접 연결된 물리적 위치 + 다른 AWS Services와도 통합
:heavy_check_mark: POINT
- 빠른 속도 및 세계적인 분산
- 고도로 확장 가능
- 전 세계에 분산
- 220개 이상의 PoP(Point of Persence)
- 고탄력성의 아마존 백본 네트워크 활용
- 탁월한 성능과 가용성
- 엣지 보안
- 네트워크, 앱 수준 보안 제공
- 고객의 트래픽과 앱 추가 비용 없이 AWS Shield Standard 사용
- 고도로 프로그래밍 가능
- 특정 앱 요구사항에 맞게 사용자 지정
- Lambda@Edge 함수
- 고객의 사용자 지정 코드를 전 세계 AWS 위치로 확장
- 복잡한 앱 로직이라도 최종사용자에게 가깝게 배치하여 응답성 개선
- DevOps 및 CI/CD 환경이 요구하는 다양한 도구 및 자동화 인터파에스와 통합 지원
- AWS와 긴밀한 통합
Storage Gateway
온프레미스에서 무제한의 클라우드 스토리지 액세스
하이브리드 클라우드 스토리지 서비스
- 표준 스토리지 프로토콜 세트 제공
- 기존 앱 다시 작성:x:
- 아마존 클라우드 스토리지 서비스에 데이터를 안전하고 안정적으로 저장하면서 자주 액세스하는 데이터는 온프레미스에 캐싱하여 지연 시간이 짧은 성능을 제공
-
변경된 데이터만 전송, 데이터 압축하여 AWS 데이터 전송 최적화
- 스토리지 관리 간소화 및 비용 절감 효과
- S3 클라우드 스토리지를 활용하여 온프레미스 스토리지 공간 비용 감소
- 백업을 클라우드로 이동, 클라우드 스토리지에서 지원되는 온프레미스 파일 공유 사용
- 온프레미스 앱에서 AWS 데이터에 낮은 지연시간으로 액세스
-
파일 게이트웨이
- NFS(Network File System), SMB(Server Message Block) 파일 프로토콜
- S3에 객체 저장, 검색
- S3에 직접 액세스
-
테이프 게이트웨이
- 가상 미디어 체인저, 가상 테이프 드라이브, 가상 테이프로 구성된 iSCSI 가상 테이프 라이브러리(VTL) 인터페이스를 백업 앱에 제공
- S3에 가상 테이브 저장, 아카이브
-
볼륨 게이트웨이
어느 모드에서든 볼륨의 특정 시점을 스냅샷, EBS에 저장
-
iSCSI 연결을 사용하여 온프레미스 앱에 블록 스토리지 제공
-
볼륨의 데이터는 S3에 저장
-
사용자는 특정 시점의 볼륨 복사본 생성
:point_right: EBS 스냅샷으로 저장
-
볼륨의 복사본을 가져와 보조 관리:o:
-
캐싱 모드
- 기본 데이터가 S3에 저장,
- 자주 액세스하는 데이터는 캐시에 보존
-
저장 모드
- 기본 데이터가 로컬에 저장
- 데이터 세트가 제공되어 AWS에 비동기식으로 백업
-
:heavy_check_mark: POINT
- 간편성
- 클라우드 통합
- 짧은 지연 시간
- 내구성 및 보안
- 전송 최적화
- 확장성
- 기존 앱과 워크플로 내에서 AWS 스토리지를 효과적으로 활용하는 데 도움이 되는 기능 세트 제공
- iSCSI, SMB, NFS와 같은 표줄 프로토콜 세트 제공