brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 04. 2020

518. 컨테이너,ECS,EKS

<1> 컨테이너

<2> 오케스트레이션

<3> ECS

<4> EKS

<5> 파게이트

<6> 스토리지

<7> 파게이트 보안 ?

<8> 비용 최적화



<1> 컨테이너


1

OS커널을 공유 - 효율성

이미지 기반 배포 - 이식성

마이크로 서비스 모듈화- 유연성

가벼운 도커 이미지 - 신속성


2

구성 3가지 ?


클라이언트 ?

도커 빌드


도커 이미지 저장소?

ECR (컨테이너 레파지토리)


도커 호스트?

이미지를  가져와서 컨터이너를 돌림

도커 데몬으로 돌림



3

도커 파일 지정하는것들은 ?


베이스 이미지

어플리케이션 설치

디렉토리 컨피그

워킹 디렉토리 설정

디폴트 커멘트 설치

포트 80



<2> 오케스트레이션


효과적으로 제어하기 위한 솔루션


1

종류?


AWS ECS

Kubernetes

docker SWARM

Nomad

MESOS


2

관리 - ECS , EKS 사용

호스팅 - EC2 , Fargate 사용

IMAGE - ECR 사용



<3> ECS


1

Cluster


2

Task

일의 최소 단위

한번 수행

10 cpu  units

300M memory


3

Service

계속 수행이 되는 어플리케이션

ELB와 연결 된다.

스케일 업다운

// Cloudwatch로 모니터링 -  이벤트 확인  - Scale out 발생하게 한다.



<4> EKS


쿠버네티스를 AWS에서 좀 더 쉽게 만들어놓은 솔루션


1

Master 환경 ?

Master는 aws에서 관리한다.


2

Worker node가 데이터 플레인 ?

워커노드를 사용자가 관리한다.

Pod 안에 컨테이너가 있다.

Pod가 ip를 갖는다.

Pod안에 컨테이너가 여러개 가능. Ip는 같아짐.


3

변하지 않는 데이터는 etcd 에 저장해 관리한다.

yaml로 관리한다.


4

Master , etcd  --->  AWS 관리한다.


Workers node만 ----------->  사용자가 설정 가능하다.

워커 노드는 VPC안에서 서비스 하는 형태로 되어 있다.


5

마스터 노드가 있는 EKS VPC 는 따로 있다.aws관리


워커노드는 회사 VPC에 있다.

ENI로 통신 한다.

EKS VPC 와 워커노드는  서로 다른 VPC에서 통신한다.

구성도  ?


6

쿠버네티스 클러스터  ?


ELB나 NLB 사용

LB----------Service -----------Pod  구성이다


7

구성 ?


트래픽 ----- 인그래스룰   ALB로 L7 으로 도메인으로 구분해 서비스 등----------- Service --------Pod


AWS ELB Controller  솔루션으로 사용한다.

인그래스 필요시 사용한다.

// EKS 는 충분히 관리하려면  많이 알아야 한다.

기본적으로 어렵다.

// 쿠버네티는 업데이트가 빠르다.  유지보수가 필요하다. 리소스가 들어간다. 생각보다 유지보수 업무가 많다.

// 컨트롤 플래인 자체에 대해서는 변동에 대해 체크해야 한다.

기능은 강력하다.

그러나 좀 어렵다.



<5> 파게이트


1

배치하고

어떤상황에서 스케일링 할건지 관리해야 한다.


2

파게이트는 서버리스이다.

EC2를 안쓴다.

스케일 업다운 잘 된다.

다른 서비스와 연계  된다.


3

EC2는   ?

인스턴스를 뭘쓸건지 관리해야 한다.

Service,  TASK도  관리 필요


4

파게이트는 컨테이너는  ?

인스턴스를  뭘 쓸지 고민하지 않아도 된다.

Service,  TASK 2개만  관리 필요


5

파게이트 랜치 타입?

256

512

cpu를 1024  기준  -- 2G, 3G , 4G

2048

4096


6

사용한 만큼 지불

CPU, MEME units

초단위 과금.

디폴트 1분으로 과금한다.

바로 한번 실행하면 1분 과금이 된다.


7

Fargate lanuch type 만 맟춰주면 된다.


8

레파지토리 3가지 사용 ?

ECR

public 레파지토리

서드파트 사용


9

VPC 와 관계 ?

어떤 VPC가서 파게이트웨이를 할건지  정한다.

ENI를 만들게 된다.

ENI로 통신 한다.

인터넷 통신한다.

네트워크 모드를 AWS VPC로 선택해야 한다.  1개만 지원한다.

CPU설정, 메모리 설정한다.


10

인터넷 접근 ?

로그를 cloud watch로 내 보낼때 사용한다.

// endpoint로도 내부 통신하게 가능하다.



<6> 스토리지

EBS 기반   임시 스토리지

파게이트



3가지


1

컨터이너 이미지를 사용 - writeable layer sorage


2

켄터이너 데이터 - 볼륨 스토리지


3

EFS는 영구 보관하기 위한것.


4

 layer storage ?

20 GB  layer sorage 가용 per task

임시 저장공간

task 완료되면 사라지는 스토리지이다.


5

볼륨 스토리지 ?

외부에 데이터를 두고 서비스하는 경우.

task당 4GB제공

서로다른 경로에 마운트 가능.

임시 스토리지이다.


6

EFS 스토리지 ?

NFS 마운트해서 사용.




<7> 파게이트 보안 ?


1

파게이트는 패치 안해도 된다.  AWS가 해준다.


2

보안 그룹, ENI와   ENI과련된 SG   관리 필요



<8> 비용 최적화


1

Fargate 는 사용한 만큼 발생


2

Fargate는  EC2 리소스 만큼 비용 지불.  

Compute Savings Plan 가능하다.

Fargate Spot이 있다.  비용 저렴하다 .  70% 저렴하다.




https://brunch.co.kr/@topasvga/1769

감사합니다.



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari