Cloud/AWS

AWS -ECS (ECR에 이미지 푸시)

잇(IT) 2022. 7. 10. 19:43

- 환경 구축

 

vpc 생성
subnet 생성
인터넷 게이트웨이 생성
라우팅 테이블에 서브넷 연결 Pub
라우팅 테이블에 서브넷 연결 Pri
보안 그룹 설정
로드 벨런서 보안 그룹 설정 2

 

컨테이너 보안 그룹 설정

- 컨테이너의 보안 그룹의 경우 로드 밸런서를 통해 들어 오도록 소스를 로드 밸런서 보안 그룹으로 설정한다.


- 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. 작업 정의 생성

- 이전에 생성한 이미지를 집어넣는다.

- 생성해준다.

- 서비스 생성

728x90

'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