inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법

EC2에 컨테이너 배포 (실습)

Docker 설치 후 AMI 를 만든 이유

215

austin

작성한 질문수 6

1

안녕하세요 강사님!

 

해당 강의에서 docker 설치 후 custom AMI 를 만든 이유가 있을까요?

기본 AWS AMI 설정 및 port, IAM 설정 후 생성된 instance 에서 docker 를 설치하는 것과 어떤 차이가 있나요?

aws docker msa container ecs fargate

답변 2

1

Burger

안녕하세요 austin님!

강의 열심히 수강해주셔서 감사합니다.

 

custom ami와 기본으로 제공하는 ami 사용에 대한 차이는 어떤 목적으로 사용하냐에 따라 다를 수 있습니다.

먼저 기본 제공되는 ami를 austin님의 말씀대로 docker를 설치해서 사용하는 경우는 ec2인스턴스를 한번 생성하고, 삭제하지 않고 지속적으로 사용할 때 쉽게 시작할 수 있는 장점이 있을 수 있습니다.

만약 auto scaling같은 기능을 사용하지 않는다면 해당 방법으로 해도 문제가 되지 않습니다.

하지만 auto scaling을 사용하게 될 경우 트래픽이나 조건에 따라 인스턴스가 scale out, scale in을 자연스럽게 반복하게 됩니다. 이때 매번 인스턴스가 새로 실행되게 되는데, 이때 매번 접속해서 docker를 설치하는건 사실상 불가능하고, user data 스크립트를 통해 설치를 할 수도 있지만, 이 방법은 인스턴스가 생성된 후 docker를 설치하는 네트워크 요청이나 설치 시간 등 추가적은 작업이 필요하게 되어, 실제로 사용가능하게되기까지 상대적으로 오래걸릴 수 있습니다.

이때 custom ami를 사용하게되면 docker를 내장시킬 수 있고, 이로인해 docker를 설치하는 네트워크 트래픽, 설치시간 등 추가적인 작업을 줄일 수 있어, 비용적으로나 서비스의 전체적인 성능면에서도 유리할 수 있습니다.

 

또 강의 진행중에 궁금한점이 있다면 언제든 문의 남겨주세요!

감사합니다 😀

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. austin님.

AWS 환경에서 Docker 설치 후 커스텀 AMI를 생성하는 이유에 대한 질문을 주셨네요. 다음은 커스텀 AMI를 만드는 이유와 장점입니다:

  1. 일관된 환경 제공: 커스텀 AMI를 사용하여 Docker가 이미 설치된 이미지로 새로운 인스턴스를 시작하면, 실행 시점마다 동일한 소프트웨어 환경을 보장할 수 있습니다. 이는 개발 및 운영 환경에서 일관성을 유지하는 데 매우 유리합니다.

  2. 시간 절약: 인스턴스 시작 시마다 Docker를 설치할 필요가 없어, 설정 시간을 절약할 수 있습니다. 따라서 스케일링이나 복구 시 더 빠르게 인스턴스를 띄울 수 있습니다.

  3. 자동화: 커스텀 AMI를 만들면 추가 설정이나 설치 과정 없이 즉시 사용할 수 있어, 인프라 자동화를 더욱 효율적으로 만들 수 있습니다. 이를 통해 DevOps 파이프라인의 효율성을 높일 수 있습니다.

  4. 보안 및 컴플라이언스 기준 강화: 자체 커스텀 AMI를 사용함으로써, 보안 패치나 필수 소프트웨어가 설치된 상태로 배포함으로써 보안 및 컴플라이언스 기준을 강화할 수 있습니다.

  5. 라이브러리 및 종속성 관리: 필요한 AWS 설정이나 기타 라이브러리 및 종속성을 미리 설치한 상태로 이미지를 만들면 시스템 관리가 용이해집니다.

관련하여 상세한 내용 혹은 다른 접근 방법을 보시고 싶으시면 아래 질문을 참고하시면 도움이 될 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

4강-Postman 사용하여 health check

0

106

3

ECS 환경에서의 ELB 간헐적 504에러

0

354

3

EC2 Free tier Instance

0

160

1

라우팅 테이블 1개

1

152

2

Private EC2내 Userdata Script 동작 문제

0

194

2

기본 라우팅 테이블을 사용하지 않는 이유가 뭔가요?

1

160

1

private instance 80포트 연결불가

0

170

1

로드밸런서 HTTP/HTTPS 리스너 규칙 설정 질문

0

254

2

단일 AZ의 ECS 환경 구축에 대해서 질문드립니다!

1

198

2

AWS 계정 Budget 설정 (실습) 영상 오류?

0

167

1

NAT Gateway 와 RDS Proxy

0

219

2

ecs 컨테이너 인스턴스에 추가되지 않습니다.

0

248

2

Auto Scaling Group 인스턴스 개수 관련하여 질문드립니다.

0

169

2

goopang-target-group 에서 unhealthy

1

701

11

외부에서 private subnet 으로 HTTP 요청이 안되는 문제점

1

208

2

curl -XGET 'localhost/health_check' 명령어에 실패합니다.

0

217

1

aws ecs 클러스터 생성 중 dns에러

0

285

3

aws ecs의 service 생성 오류

1

503

4

ecs task error

0

228

3

lambda 인증

1

143

2

lamda node.js 16 버전

0

118

2

user-data의 git clone이 동작하지 않는것 같습니다.

0

169

2

장바구니 서비스 연결 실패

1

152

2

디비 연결 안돼요 ㅠ

0

166

2