1. Route53

  • 도메인 관리 서비스 (DNS 웹 서비스)
  • 가용성과 확장성 뛰어남
  • 도메인 등록, DNS 라우팅, 상태 확인

  • public / private host zone 존재
  • Route53 = DNS(네임서버) + 모니터링 + L4 + GSLB


일반적으로 DNS를 찾아가는 과정

스크린샷 2023-11-26 오후 1 12 29

  • End user가 특정 도메인 요청
  • global하게 등록된 네임서버 찾아감
  • 그 다음 지역적으로 등록된 네임서버 찾아감
  • 최종적으로 로컬에 등록됨 네임서버 찾아감
  • 도메인들을 등록하는 것이 Route53의 기능


  • 도메인은 AWS에서 구매할 수도 있고, 외부에서 구매한 도메인을 사용할 수도 있음
  • AWS 구매 - [도메인 등록]
  • 외부 도메인 - [호스팅 영역 생성]


스크린샷 2023-11-26 오후 1 25 16

스크린샷 2023-11-26 오후 1 27 08 서브 레코드 생성

2. DB

RDS

  • DB 인스턴스는 클라우드에서 실행하는 격리된 데이터베이스 환경
  • DB 인스턴스에는 여러 사용자가 만든 데이터베이스가 포함될 수 있으며, 독립 실행형 데이터베이스 인스턴스에 액세스할 때 사용하는 도구 및 애플리케이션을 사용해 액세스할 수 있음
  • AWS 명령줄 도구, Amazon RDS API 작업 또는 AWS Management Console을 사용해 간단히 DB 인스턴스를 만들고 수정할 수 있음
  • 직접 시스템 로그인 불가능
  • serverless가 아님


  • primary, standby
  • 내부적으로는 인스턴스와 데이터를 저장하는 EBS로 구성


  • RDS에서 DB 생성

스크린샷 2023-11-26 오후 1 44 51

스크린샷 2023-11-26 오후 1 57 32


  • 스냅샷 생성

스크린샷 2023-11-26 오후 2 00 33

스크린샷 2023-11-26 오후 2 00 56


  • 파라미터 그룹
    • DB 기본적인 세팅
    • timezone 등등

스크린샷 2023-11-26 오후 2 03 04


  • 접속
    • 엔드포인트를 통해 연결!
    • MySQL은 기본적으로 3306 포트

스크린샷 2023-11-26 오후 2 04 25


  • public이라 바로 연결 가능
  • private이라면 서버를 통해서 연결 가능
  • 계정은 [admin / 생성시 입력한 pwd]

스크린샷 2023-11-26 오후 2 15 05



  • workbench 연결 오류 : 보안규칙 확인!
  • 모든 IP가 연결될 수 있도록 변경 / 혹은 새로운 보안그룹 생성

스크린샷 2023-11-26 오후 2 12 07

스크린샷 2023-11-26 오후 2 14 21


Document dB

  • MongoDB API 워크로드의 완전 관리 및 유연한 확장이 가능한 문서 전용(Document) 데이터베이스
  • Amazon DocumentDB에서는 스토리지 및 컴퓨팅이 분리되어 각각을 독립적으로 조정
  • 개발자는 데이터 크기에 관계없이 지연 시간이 짧은 읽기 전용 복제본을 몇 분 내에 최대 15개까지 추가하여 읽기 용량을 초당 수백만 개의 요청으로 늘릴 수 있음
  • Amazon DocumentDB는 99.99%의 가용성을 위해 설계되었으며, 6개의 데이터 복사본을 3개의 AWS 가용영역(AZ)에 복제함
    • 가용성: NoSQL의 장점!
  • JSON 데이터
  • 유연한 인덱싱
  • 쉬운 확장 (최대 64TB)
  • 최대 16MB 문서(document) 크기
  • 샤딩 / 레플리카셋 등 설정에 따라 다양하게 구성이 가능함

MongoDB

  • MongoDB는 Document 지향 데이터베이스
  • 데이터 중복이 발생할 수 있지만, 접근성과 가시성이 좋음
  • 스키마 설계가 어렵지만, 스키마가 유연해서 애플리케이션의 요구사항에 맞게 데이터를 수용할 수 있음
  • 분산에 대한 솔루션을 자체적으로 지원해서 scale-out이 쉬움
  • 확장시 애플리케이션을 변경하지 않아도 됨

스크린샷 2023-11-26 오후 4 55 12


  • MongoDB: 자체 클라우드 서비스, 로컬에 직접 설치하는 쉘 제공
  • AWS -> DocumentDB에서 생성 가능! (EC2에 직접 설치해도 됨)

스크린샷 2023-11-26 오후 4 57 22


DynamoDB

  • 완전관리형 Key-Value 기반 NoSQL 데이터베이스 서비스
  • Auto-scaling! (하이퍼 스케일)
  • 유휴시 암호화를 제공하여 중요한 데이터 보호와 관련된 운영 부담 및 복잡성 제거
  • DynamoDB를 통해 원하는 양의 데이터를 저장 및 검색하고 어느 수준의 요청 트래픽도 처리할 수 있는 데이터베이스 테이블을 생성할 수 있음
  • AWS Management Console을 사용하여 리소스 사용률 및 성능 지표를 모니터링할 수 있음
  • 온디맨드 백업 기능 제공
  • 테이블 생성시 스키마 생성 필요 없음
  • 최대 400KB 아이템(item) 크기
  • 모든 규모에서 일관된 지연 시간

스크린샷 2023-11-26 오후 5 04 05

스크린샷 2023-11-26 오후 5 13 36

  • 파티션 키: RDB의 Primary Key!에 해당하는 컬럼명을 넣어주면 됨
  • 데이터 생성은 [항목 생성]으로
    • 실무에서 raw data를 한번에 넣을 땐 lambda 이용!


DynamoDB vs. DocumentDB

공통점
NoSQL Database
AWS Database Migration Service를 통해 데이터 마이그레이션을 위한 이식성 제공
AWS Key Management Service를 통한 저장 데이터 암호화와 보안 기능 제공
관리 API 호출과 CloudFormation에 대한 CloudTrail 및 VPC Flow Logs로 감사 기능 제공


  DynamoDB DocumentDB
리전 모든 리전에서 사용 가능 오하이오, 버지니아, 아일랜드 등 특정 리전에서만 사용 가능
자격증명 AWS Identity and Access Management(IAM)를 통해 DB에 대한 액세스 제어 DB에서 User를 생성하고 관리 </br> 자격증명이 DB에 직접 저장되기 때문에 AWS는 이 영역에 관여하지 않음
금액 최소 월 1$ </br> 서버리스 서비스로 사용량에 따라 요금 책정 </br> 주요 비용은 읽기/쓰기 용량 단위 </br> 비용 예상이 어려움 </br> 스토리지 25GB 무료 제공 최소 월 200$ </br> 노드 또는 EC2 인스턴스 당 비용 지불 </br> DB의 일부 인스턴스만 사용하거나, 몇시간만 사용하더라도 전체 요금을 지불해야 함 </br> 스토리지는 무료로 제공되지 않음
백업 매일 백업을 사용할 수 없어 사용자가 백업을 진행해야 함 </br> 데이터에서 지원하는대로 필요할 때 데이터를 복구할 수 있음 DB 자체에서 일일 백업을 관리하고, 필요할 때마다 복구할 수 있음 </br> 모든 유형의 백업이 지원됨

3. Certification Manager

  • SSL, HTTPS 서비스를 관리해주는 인증서 서비스

  • AWS 서비스 및 연결된 내부 리소스에 사용할 공인 및 사설 SSL/TLS 인증서를 프로비저닝, 관리 및 배포
  • SSL/TLS 인증서를 구매, 업로드 및 갱신하는 데 드는 시간 소모적인 수동 프로세스를 대신 처리해줌

SSL 인증서

  • 공개 키와 개인 키라는 키 쌍을 갖고 있음
  • 이 키들이 함께 작용하여 암호화된 연결을 수립
  • 인증서는 주체라는 것을 포함하고, 이는 인증서/웹사이트 소유자의 ID
  • 인증서를 얻으려면 서버에서 인증서 서명 요청(CSR)을 생성해야 함
  • 이 과정에서 서버에 개인 키와 공개 키 생성
  • SSL 인증서 발급자(인증기관 / CA)에게 보내는 CSR 데이터 파일에는 공개 키가 포함됨

Certification Manager

1) 사용할 TLS/SSL 인증서를 AWS 계정으로 요청하거나 가져옴
2) 도메인 이름 시스템(DNS) 또는 이메일 검증을 통해 요청된 인증서의 도메인 소유권을 검증하여 인증서 발급을 완료함
3) Elastic Load Balancing(ELB), Amazon CloudFront 등과 같은 다양한 AWS 서비스에서 새로 발급되거나 가져온 인증서를 사용함

  • 특징
    • ACM 통합 서비스를 위한 무료 퍼블릭 인증서
    • 관리형 인증서 갱신
    • 손쉽게 인증서 받기

4. CloudFront

  • 뛰어난 성능, 보안, 및 개발자 편의를 위해 구축된 콘텐츠 전송 네트워크(CDN) 서비스

CDN

  • 콘텐츠 전송 네트워크
  • 데이터 사용량이 많은 애플리케이션의 웹 페이지 로드 속도를 높이는 상호 연결된 서버 네트워크
  • 정적 콘텐츠 & 동적 콘텐츠
  • 캐싱 / 동적 가속 / 엣지 로직 계산

스크린샷 2023-11-27 오후 2 43 26

  • 방문자가 DNS 요청 -> CDN 서비스 -> 받아놓았던 콘텐츠가 있으면 그것을 보내줌
  • 원래 서버까지 가지 않아도 돼서 빠르게 반응할 수 있음
  • 프론트 서비스에서 CDN 서비스를 꼭 붙임

  • 특징
    • 대기 시간 감소
    • 보안 향상
    • 비용 절감
    • 사용자 정의 전송


스크린샷 2023-11-27 오후 2 47 56 프론트를 구성한 S3 선택

스크린샷 2023-11-27 오후 2 51 20 특정 IP 접속 막으려면 WAF 이용

스크린샷 2023-11-27 오후 2 54 46 CDN 서비스는 글로벌 리전이어서 인증서도 해당 리전에서 받아야 사용이 가능함!

  • 도메인과 SSL 인증서 등록, S3와 백엔드 구성 후 최종적으로 CDN 서비스를 넣으면 됨

5. ELB

  • 로드 밸런싱: 애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법
  • auto scaling -> 여러 인스턴스가 뜰 때 모니터링, 인스턴스 동작을 할 수 있게 됨
  L4 로드밸런서 L7 로드밸런서
네트워크계층 Layer 4 </br> 전송계층(Transport layer) Layer 7 </br> 응용계층 (Application layer)
특징 TCP/UDP 포트 정보를 바탕으로 함 TCP/UDP 정보는 물론 HTTP의 URL, FTP의 파일명, 쿠키 정보 등을 바탕으로 함
장점 - 데이터 안을 들여다보지 않고 패킷 레벨에서만 로드를 분산하기 때문에 속도가 빠르고 효율이 높음 </br> - 데이터의 내용을 복호화할 필요가 없기 떄문에 안전함 </br> - L7 로드밸런서보다 저렴함 - 상위 계층에서 로드를 분산하기 때문에 훨씬 섬세한 라우팅이 가능함 </br> - 캐싱 기능 제공 </br> - 비정상적인 트래픽을 사전에 필터링할 수 있어 서비스 안정성이 높음
단점 - 패킷의 내용을 살펴볼 수 없기 때문에 섬세한 라우팅이 불가능 </br> - 사용자의 IP가 수시로 바뀌는 경우에는 연속적인 서비스를 제공하기 어려움 - 패킷의 내용을 복호화해야 하기 때문에 높은 비용을 지불해야 함 </br> - 클라이언트가 로드밸런서와 인증서를 공유해야하기 때문에 공격자가 로드밸런서를 통해서 클라이언트의 데이터에 접근할 보안 상의 위험성이 존재함


스크린샷 2023-11-27 오후 5 32 44

EC2에서 로드밸런서 들어가기

스크린샷 2023-11-27 오후 5 33 11

로드밸런서 생성 전 대상그룹 먼저 생성

스크린샷 2023-11-27 오후 5 34 07

스크린샷 2023-11-27 오후 5 34 56 ECS 등 IP 주소가 바뀌는 경우에는 네트워크 로드밸런서 사용
지금 만들 것은 애플리케이션 로드밸런서

스크린샷 2023-11-27 오후 5 35 51

스크린샷 2023-11-27 오후 5 37 40

6. VPC

  • 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있도록 하는 서비스
  • AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 유사

스크린샷 2023-11-27 오후 5 49 33

기능

  • Virtual Private Cloud (VPC)
    • 자체 데이터 센터에서 운영하는 기존 네트워크와 아주 유사한 가상 네트워크
    • VPC를 생성한 후 각각 서브넷을 추가할 수 있음
  • 서브넷
    • VPC의 IP 주소 범위
    • 단일 가용 영역에 상주해야 함
    • 서브넷을 추가한 후에는 VPC에 AWS 리소스를 배포할 수 있음
  • IP 주소 지정
    • VPC와 서브넷에 IPv4 주소와 IPv6 주소를 할당할 수 있음
    • 또한, 퍼블릭 IPv4 및 IPv6 GUA 주소를 AWS로 가져오고 VPC의 리소스에 할당할 수 있음 (EC2 인스턴스, NAT 게이트웨이, Network Load Balancer 등)
  • 라우팅
    • 라우팅 테이블을 사용하여 서브넷 또는 게이트웨이의 네트워크 트래픽이 전달되는 위치 결정
  • 게이트웨이 및 엔드포인트
    • 게이트웨이는 VPC를 다른 네트워크에 연결함
    • 예를 들어 인터넷 게이트웨이를 사용하여 VPC를 인터넷에 연결
    • VPC 엔드포인트를 사용하여 인터넷 게이트웨이 또는 NAT 장치를 사용하지 않고 AWS 서비스에 비공개로 연결할 수 있음
  • 피어링 연결
    • VPC 피어링 연결을 사용하여 두 VPC의 리소스 간 트래픽을 라우팅
  • 트래픽 미러링
    • 네트워크 인터페이스에서 네트워크 트래픽을 복사하고 심층 패킷 검사를 위해 보안 및 모니터링 어플라이언스로 전송
  • Transit Gateway
    • 중앙 허브 역할을 하는 전송 게이트웨이를 사용하여 VPC, VPN 연결 및 AWS Direct Connect 연결 간에 트래픽을 라우팅
  • VPC 흐름 로그
    • 흐름 로그는 VPC의 네트워크 인터페이스로 들어오고 나가는 IP 트래픽에 대한 정보 캡쳐
  • VPN 연결
    • AWS VPN을 사용하여 온프레미스 네트워크에 VPC 연결

CIDR

  • Classless Inter-Domain Routing (사이더)
  • 클래스 없는 도메인 간 라우팅 기법
  • IP 대역 (A/B/C/D 클래스)을 굳이 나누지 않고 도메인 간 라우팅

스크린샷 2023-11-27 오후 6 16 34


스크린샷 2023-11-27 오후 6 23 45

CIDR 표기법: 네트워크 영역과 호스트 영역을 얼마나 나눌 것인지 표기하는 방법

VPC 생성

1) IP 주소 범위 선택
2) 가용 영역(AZ)별 서브넷 설정
3) 인터넷으로 향하는 경로 (route) 만들기
4) VPC 로/부터의 트래픽 설정

NAT Gateway

스크린샷 2023-11-27 오후 6 48 04

  • private 서브넷에서 외부로 나갈 수 있게 하기 위해 Nat gateway를 설정해야함
  • 인터넷 게이트웨이는 public 망이 있음

VPC 구성

스크린샷 2023-11-27 오후 6 49 34

  • 가용영역 : 2a, 2c
  • 서브넷 : 각각 public 1개, private 2개


스크린샷 2023-11-27 오후 7 00 23

  • private IP 대역
    • 10.0.0.0 ~ 10.255.255.255
    • 172.16.0.0 ~ 172.31.255.255
    • 192.168.0.0 ~ 192.168.255.255


스크린샷 2023-11-27 오후 6 59 18

VPC 등 을 선택하면 자동으로 서브넷, 가용영역, 라우팅 테이블을 설정해 줌