AWS(Amazon Web Service)

[AWS] Docker(도커)

yunseohhe 2024. 8. 31. 16:39

Docker

  • 앱 배포를 위한 소프트웨어 개발 플랫폼이다.
  • 도커를 사용하면 컨테이너에 앱을 패키징하게 된다.
  • 앱이 컨테이너에 패키징되면 어떤 기계든 상관없이 호환성 문제가 없고, 동작을 예측할 수 있다.
  • 작업량도 적으며 유지 보수와 배포가 쉽다.
  • 모든 프로그래밍 언어로 작업할 수 있고 운영체제나 기술에도 구해받지 않습니다.
  • 도커는 시각화 기술에 해당하지만 정확히는 아니고, 리소스를 호스트와 공유한다.(= 하나의 서버에 여러 컨테이너를 둘 수 있다.)

 

 

ECS(Elastic Container Service)

  • 도커 컨테이너를 실행할 때 사용한다.
  • ECS에서는 반드시 우리가 프로비저닝해야 하고, 인프라를 자체적으로 유지해야 된다.(= EC2 인스턴스를 사전에 만들어야 한다.)
  • 밑의 이미지 설명 : 사전에 EC2 인스턴스를 만들어야 한다. 그리고  ECS 서비스에 의해 다른 컨테이너에서 실행된다. ECS 서비스는 새로운 도커 컨테이너를 가질 때마다 어떤 EC2 인스턴스를 도커 컨테이너에 위치할지 알고 있습니다.

(출처 : 구글 이미지)

 

Fargate

  • AWS에서 도커 컨테이너를 실행할 때 사용한다.
  • 인프라를 프로비저닝 할 필요가 없다. 그리고 EC2 인스턴스를 만들 필요도 없고 관리할 필요도 없다.
  • AWS가 제공하는 매우 간단한 서비스이다.
  • 관리할 서버가 없기 때문에 AWS는 우리가 필요한 컨테이너를 각 컨테이너의 CPU와 RAM 사양에 맞게 실행시켜준다.
  • 밑의 이미지 설명 : 새로운 도커 컨테이너가 Fargate에서 실행된다. 그리고 Fargate는 자동으로 이 컨테이너를 실행해 준다. (어디에 있는지 알지 못하지만 실행된다.)

(출처 : 구글 이미지)

 

ECR(Elastic Container Registry)

  • AWS에서 도커 컨테이너를 실행할 때 사용한다.
  • AWS의 사설 도커 레지스트리이다.(= AWS에서 실행되기 위해서 도커 이미지를 저장해야 하는데, 이때 컨테이너 레지스트리가 필요하다.)
  • 도커 이미지를 저장하여 ECS 서비스나 Fargate 서비스에 의해 실행된다.
  • 밑의 이미지 설명 : 애플리케이션의 이미지를 Amazon ECR에 저장하고자 한다. 그러면 Fargate는 이 이미지를 살펴보고 컨테이너를 만들어서 Fargate 서비스에서 직접 실행한다. 각각 컨테이너가 될 수 있다.

(출처 : 구글 이미지)

  •