먼저, 클라우드 컴퓨팅이란?
- IT 리소스 애플리케이션을 온디맨드로 제공하는 서비스
- 인터넷을 통해 데이터 센터 및 해당 리소스에 엑세스함
aws 사용 방법 3가지
핵심 서비스
EC2
EC2(Elastic compute cloud)
- compute: 컴퓨팅 또는 서버 리소스를 의미함
- cloud: 클라우드에서 컴퓨팅 되는 리소스를 의미
- elastic: 올바르게 구성된 경우 애플리케이션의 현재 요구 사항에 따라 해당 애플리케이션에 필요한 서버의 양을 자동으로 늘리거나 줄일 수 있다는 것을 의미함
특징
- 광범위한 하드웨어와 소프트웨어가 제공됨
- 글로벌 호스팅이 가능함
사용법
- aws 콘솔에 로그인
- 리전 선택
- EC2 마법사 시작
- AMI(amazon machine image) 선택(SW): 시작 후 인스턴스에 동반되는 소프트웨어 로드를 말함
- 인스턴스 유형 선택(HW)
- 네트워크 구성
- 스토리지 구성
- 키 페어 구성
- 시작 및 연결
→ 중간에 태그 설정 가능(key, value로 설정 가능함)
Elastic Block Store(EBS)
EBS 볼륨
- EBS 볼륨은 EC2 인스턴스의 스토리지 단위로 사용될 수 있음
- aws에서 실행 중인 인스턴스의 디스크 공간이 필요할 때마다 EBS를 생각하면 됨
- 이러한 볼륨은 하드 디스크 또는 SSD 디바이스가 될 수 있음
- 사용한 만큼만 지불할 수 있음
- 안정성과 가용성을 목표로 설계됨
- 따라서 볼륨에 있는 데이터는 가용 영역에서 실행 중인 여러 서버에 자동으로 복제됨
드라이브 유형
- EBS 볼륨 생성시 요구 사항에 가장 적합한 스토리지 유형을 선택할 수 있음
- 성능 및 요금 요구 사항을 기반으로 마그네틱(쌈) 또는 SSD 중에서 선택할 수 있음
스냅샷
- EBS는 보다 높은 수준의 데이터 내구성을 제공하기 위해 볼륨의 특정 시점 스냅샷을 생성하는 기능을 제공하며 aws를 이용하면 언제든지 스냅샷에서 새 볼륨을 다시 생성할 수 있음
→ 가령, 개선된 재해 복구 보호를 위해 스냅샷을 공유하거나 다른 aws 리전으로 스냅샷을 복사함
암호화
- 추가 비용 없이 EBS 볼륨을 암호화 할 수 있음
- 암호화는 EC2 측에서 이루어짐
- EC2인스턴스와 aws 데이터 센터 내부의 EBS 볼륨 간에 이동하는 데이터는 전송 중에 암호화됨
탄력성
- EBS 볼륨은 용량을 늘리고 다른 유형으로 변경할 수 있으므로 하드 디스크에서 SSD로 변경하는 것이 가능함
- 인스턴스를 중단하지 않고 즉시 크기 조정 작업이 가능함
구축
- EBS 볼륨은 인스턴스가 상주하는 곳과 동일한 가용 영역에 생성해야 함
- EC2 탭에서 찾을 수 있음
- 볼륨 생성 후 원하는 인스턴스에 'attatch'해야 함
EBS 구축 확인하기
- EC2에 EBS를 연결한 경우 인스턴스에 ssh로 접속 후 아래 명령어 통해 해당 인스턴스에 연결한 블록 스토리지 디바이스를 확인할 수 있음
$ lsblk
- 그러면 만든 볼륨에 파일 시스템을 생성하고
- 해당 파일 시스템에 볼륨을 마운트 할 수 있다.
S3(Simple Storage Service)
S3란?
- 관리형 클라우드 스토리지 서비스
- 객체를 사실상 무제한으로 저장할 수 있음
- 언제든 어디서나 엑세스 가능(http, https 제공)
- 풍부한 보안 제어 기능
-> 비공개적으로 엑세스 할 수도 있음
객체
- 예를 들어 동영상을 버킷에 객체로 추가하려면 키를 지정해야 함
→ 이 키는 통해 나중에 객체를 검색할 때 사용할 수 있는 문자열임(파일 경로와 유사한 방법(/path/to/somewhere/)
리전에 중복으로 저장되는 데이터
- 버킷에 데이터를 저장할 때마다 해당 데이터는 선택한 리전의 여러 aws 시설에 중복 저장된다.
→ 이를 통해 2개의 aws 시설에서 동시에 데이터가 손실되는 경우에도 데이터를 안정적으로 저장할 수 있다.
원활한 확장을 고려한 설계
- 데이터가 늘어나더라도 S3는 버킷 뒤에서 스토리지를 자동으로 관리함
- 많은 양의 요청을 처리할 수 있도록 확장됨 → 스토리지 또는 처리량을 프로비저닝 할 필요가 없고 사용한 양에 대해서만 비용이 청구됨
엑세스
- REST 엔드포인트를 통해 S3내 데이터에 직접 엑세스 할 수 있음
사용 사례
- 애플리케이션 자산 저장
- 정적 웹 호스팅
- 백업 및 재해 복구
→ 한 리전의 S3 버킷에 있는 내용을 다른 S3 리전으로 자동 복제할 수 있는 '교차 리전 복제'를 지원하도록 구성됨
- 빅 데이터를 위한 스테이징 영역
참고
https://explore.skillbuilder.aws/learn/course/823/