JSCODE Logo
블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[실습] Nginx 기반 ECS 테스크 정의 생성하기

JSCODE 시니
JSCODE 시니
2026. 04. 09.
author
JSCODE 시니
category
Jenkins CI/CD
createdAt
Apr 9, 2026 12:57 PM
isPublic
isPublic
series
Jenkins를 활용한 CI/CD 입문 (with.AWS)
slug
defining-nginx-task-on-ecs-jenkins
type
post
updatedAt

✅ 1. ECS 테스크 정의 생성하기

notion image
notion image
 
notion image
Image Layer Details - nginx:1.26-alpine
Image Layer Details - nginx:1.26-alpine
https://hub.docker.com/layers/library/nginx/1.26-alpine/images/sha256-6566fca4271325b15a944d32e0bbdfab5fba0447713689d5a610d2c8077d3c9f
  • 우리는 테스트를 위해 Nginx 도커 이미지를 기반으로 실습을 진행해 볼 것이다.
  • 해당 사이트에 들어가 도커 이미지 버전을 확인한다.
  • Nginx 이미지를 해당 버전과 꼭 동일한 버전을 사용하지 않아도 무방하나, 버전 차이로 어려움을 겪지 않기 위해 부득이한 경우를 제외하고는 해당 버전으로 실습을 진행하는 것을 추천한다.
notion image
{ "requiresCompatibilities": [ "FARGATE" ], "family": "LearnJenkinsApp-TaskDefinition-Prod", "containerDefinitions": [ { "name": "learnjenkinsapp", "image": "nginx:1.26-alpine", "portMappings": [{ "name": "nginx-80-tip", "containerPort": 80, "hostPort": 80, "protocol": "tcp", "appProtocol": "http" }], "essential": true } ], "volumes": [], "networkMode": "awsvpc", "memory": "512", "cpu": "256", "executionRoleArn": "" }
  • 해당 설정은 도커 이미지를 활용하여 Nginx 웹 서버를 AWS Fargate 환경에서 80번 포트로 띄우기 위한 기본 설정임.
  • 기타 세부 설정을 전부 다 알 필요는 없으나, 학습하길 원하는 경우 AWS의 문서 혹은 검색을 통하여 설정을 알아보는 것을 추천함.
  • 오탈자 없이 기입 후 확인할 것.
 
 

✅ 2. task-definition-prod.json 파일 생성하기

  • 우리 프로젝트 루트 폴더에 aws 라는 이름의 디렉터리 생성
  • aws 폴더 내부에 task-definition-prod.json 파일 생성
task-definition-prod.json
{ "requiresCompatibilities": [ "FARGATE" ], "family": "", "containerDefinitions": [ { "name": "learnjenkinsapp", "image": "nginx:1.26-alpine", "portMappings": [{ "name": "nginx-80-tip", "containerPort": 80, "hostPort": 80, "protocol": "tcp", "appProtocol": "http" }], "essential": true } ], "volumes": [], "networkMode": "awsvpc", "memory": "512", "cpu": "256", "executionRoleArn": "" }
notion image
  • 방금 생성했던 클러스터를 클릭한 뒤 서비스 탭에서 생성 버튼을 클릭한다.
notion image
  • 이전에 생성했던 테스크 정의 패밀리를 선택하고 서비스 이름을 기입해준다.
  • 서비스 이름은 자유롭게 해도 무방하다.
  • 생성을 클릭하고 몇 분 정도 기다리면 생성이 완료된다.
notion image
  • 배포가 진행되고 나서 퍼블릭 IP 주소를 클릭하여 Nginx의 배포를 확인해야 한다.
  • 하지만, 접속이 되지 않을 것이다. 보안그룹 설정을 하지 않았기 때문이다.
 
author
category
Jenkins CI/CD
createdAt
Apr 9, 2026 01:25 PM
isPublic
isPublic
series
Jenkins를 활용한 CI/CD 입문 (with.AWS)
slug
type
series-footer
updatedAt
📎
이 글은 Jenkins를 활용한 CI/CD 입문 (with.AWS) 강의의 수업 자료 중 일부입니다.