- 환경 구축
- 컨테이너의 보안 그룹의 경우 로드 밸런서를 통해 들어 오도록 소스를 로드 밸런서 보안 그룹으로 설정한다.
- Docker 설치 및 Dockerfile 작성
- 새로운 인스턴스를 하나 생성하여 docker 환경을 구축 할 것이다.
sudo su -
yum install -y docker
systemctl start docker
docker images
- 도커 설치 및 기본 index.html 파일을 작성한다. (내용은 간단하게 작성한다.)
vi dockerfile
- 도커 파일 작성
FROM nginx:latest
COPY ./index.html /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
- nginx를 설치하는 간단한 dockerfile이다.
docker build -t ecs-nginx .
- 위에 작성한 dockerfile을 이미지로 생성한다.
docker run -itd --name ecs-nginx-container -p 8080:80 ecs-nginx
- 컨테이너를 생성한다.
docker ps -a
- process 확인 및 웹 서버가 정상적으로 동작하는 것을 볼 수 있다.
- 위의 웹 페이지를 띄우기 위해선 해당 포트에 해당하는 방화벽을 열어주어야 한다.
- ECR 리포지토리 생성
- docker image와 동일한 이름으로 설정하고 리포지토리를 생성한다.
- EC2에서 프로필 설정
- ECR에 이미지를 푸시하기 위해서는 EC2 인스턴스에서 롤 전환을 할 필요가 있다.
- 액세스 키를 가지고 프로필을 설정한다.
aws configure
aws ecr get-login --no-include-email --region ap-northeast-2
docker login -u AWS -p ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 아래 코드를 복사 붙여넣기 한다.
- ECR에 이미지를 업로드하기
docker images
- 이미지를 확인 한 다음
- ecs에서 생성한 리포지토리의 URI로 tag를 생성한다.
- 이미지가 올라오는 것을 볼 수 있다.
- ECS 클러스터링
1. ECS Cluster 생성
- 인스턴스가 생성되고 private network에 있는 경우 해당 라우터에 NAT GATEWAY가 설정되어 있어야 클러스터에 인식된다.
- 작업 정의
1. ALB 생성
- 작업 정의에서 로드 밸런서를 선택할 필요가 있기 떄문에 먼저 로드 밸런서를 생성해야 한다.
- 우선 대상 없이 생성한다.
2. 작업 정의 생성
- 이전에 생성한 이미지를 집어넣는다.
- 생성해준다.
- 서비스 생성
'Cloud > AWS' 카테고리의 다른 글
Lambda 실습 (0) | 2022.07.08 |
---|---|
AWS - Auto Scaling, Load Balancer (0) | 2022.06.23 |
AWS - Wordpress와 RDS를 이용한 DB Server 연결하기 (0) | 2022.06.23 |
AWS - Auto Scaling (0) | 2022.06.23 |
AWS - RDS (Relational Database Service) (0) | 2022.06.22 |