aws - ECS, Docker, DynamoDB, NoSQL, System Architecture Design
ECS (Elastic Container Service)
- 도커, 쿠버네티스 관련 서비스
- 가상머신(EC2)을 제공하는 것이 아니라 컨테이너만 제공함
- EC2보다 가격이 저렴한 편
- 웹서비스 등 한 가지 서비스만 하는 경우에 적합
구성요소
- 클러스터 : 도커 컨테이너를 실행할 수 있는 가상의 공간, 논리적 단위
- 클러스터에 연결된 EC2 인스턴스를 컨테이너 인스턴스라고 합니다.
- 작업 : 컨테이너를 실행하는 단위
- 작업 정의 : 도커 컨테이너를 실행하기 위해 정의한 도면
- 서비스 : 작업을 하나의 오케스트레이션 단위로 묶는 것
- 컨테이너 인스턴스
클러스터 생성을 누르지 않고 시작하기를 누르는 이유
- ECS가 실행되려면 VPC, Subnet, Security Group 등을 모두 설치해야 동작하므로 시작하기를 눌러 *Fargate를 사용합니다.
*Fargate : ECS와 EKS를 기반으로 작동하는 서비스 (마법사)
- 람다 서비스보다 저렴하지만 EC2보다 비싼 편
Fargate를 사용하면 aws람다와 같이 추가적인 관리 없이 애플리케이션 실행이 가능
실습
Docker Hub Container Image Library | App Containerization
We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy
hub.docker.com
완성된 형태의 Docker 이미지를 다운로드해서 가져오는 방식
사용이 잘 되었던 Docker 이미지
- minhona/gnuboard5:0.4
- sagikazarmark/dvwa:latest
DynamoDB
*NoSQL
- MongoDB : 대표적인 NoSQL 데이터 베이스 (NoSQL 중에 가장 많이 사용)
- DynamoDB : aws에서 제공하는 NoSQL
NoSQL의 특징
- 데이터 입력시 항목을 추가 가능 (SQL에서 데이터를 입력할 때, 미리 정의되지 않은 항목은 오류 발생 또는 버려짐_
- 없는 데이터는 입력하지 않아도 됨 (Null 허용)
- 데이터 타입은 크게 분류되어 있음 (자세한 설정을 할 필요 없음)
System Architecture Design 실습
사용한 사이트, 이용 시 가입하면 14일간 무료로 사용이 가능합니다.
https://cacoo.com
Online Diagram and Flowchart Software | Cacoo
Online diagram software to create and securely share flowcharts, wireframes, UML models, network diagram and more. Start with a Free account!
cacoo.com
작성 예시 : 로드밸런서(NLB)는 Public Subnet을 배치, 웹서버는 Private Subnet에 배치, DB는 RDS를 사용, 백업은 S3에 백업