이제 순서는 아래와 같다.
1) AWS ECR repository를 생성한다.
2) IAM > 사용자에 ECR 관련 권한추가
3) 만들어 놓은 EC2 instance에서 ecr에 접속하고 docker push 하면 끝.
매우 간단하다.
1) AWS ECR 생성
간단히 ecrtest라는 repository를 생성했다.
2) IAM > 사용자에 ECR 관련 권한추가
권한은 AmazonEC2ContainerServiceforEC2Role , AmazonEC2ContainerRegistryFullAccess 두개를추가헀다.
3) 만들어 놓은 EC2 instance에서 ecr에 접속하고 docker push
먼저 docker push를 하기 위해 앞에서 만들어 놓은 docker images에 docker tag를 붙이고 aws ecr에 로그인을 해야한다.
1. aws configure 등록
root@~~# aws configure
AWS Access Key ID [None]: YOURACCESSKEY
AWS Secret Access Key [None]: YOURSECRETKEY
Default region name [None]: ap-northeast-2
Default output format [None]: json
2. aws ecr get-login --no-include-email --region ap-northeast-2 실행
docker login 부터 끝까지 복사해서 실행하면 ecr에 로긴이 된다.
3. docker login하기
4. docker images에 tag하기
ECR reporsitory를 만들고 나면 URI가 아래와 같은 형태로 만들어지는것이 보인다.
{account-number}.dkr.ecr.ap-northeast-2.amazonaws.com/ecrtest
저 형식으로 docker tag를 만들어 주자
5. docker push 하기
위와 같이 ecr에 이미지가 들어가는것을 확인할수 있다.
다음은 ecs를 설정하고 ecs ec2 에 ecr에 올려놓은 이미지로 배포하는것을 해보도록 하자.
ecs에서는 다음과 같은 장점을 가지고 있다.
- 작업 정의 (Task Definitions): 작업 정의는 컨테이너화된 애플리케이션을 실행하기 위한 구성 정보를 정의합니다. 컨테이너 이미지, 리소스 요구 사항, 환경 변수 등을 포함합니다.
- 작업 (Tasks): 작업은 작업 정의를 기반으로 생성되며 하나 이상의 컨테이너를 실행하는 단위입니다. 작업은 컨테이너 인스턴스에서 실행됩니다.
- 작업 스케줄링 (Task Scheduling): ECS 오케스트레이션은 작업을 클러스터의 컨테이너 인스턴스에 스케줄링하여 효율적으로 분산 실행할 수 있습니다.
- 자동 확장 (Auto Scaling): ECS 오케스트레이션은 애플리케이션의 부하에 따라 자동으로 작업의 수를 조정하여 확장할 수 있습니다. 이를 통해 자원 사용을 최적화하고 성능을 유지할 수 있습니다.
- 로드 밸런싱 (Load Balancing): ECS 오케스트레이션은 작업을 여러 컨테이너 인스턴스에 분산시키고 로드 밸런서를 통해 트래픽을 분산합니다. 이를 통해 애플리케이션의 가용성과 확장성을 개선할 수 있습니다.
- 서비스 (Services): 서비스는 지속적으로 실행되는 작업을 나타내는 ECS 개체입니다. 서비스는 작업의 수를 정의하고 관리하며, 작업이 실패하면 다시 시작합니다.
- 작업 이벤트 (Task Events): ECS 오케스트레이션은 작업에 대한 다양한 이벤트를 제공하여 상태 변경, 오류 또는 리소스 상태에 대한 정보를 알려줍니다.
- 컨테이너 인스턴스 상태 검사 (Container Instance State Check): ECS 오케스트레이션은 컨테이너 인스턴스의 상태를 주기적으로 확인하고 이상이 있는 경우 자동으로 조치합니다.
- 컨테이너 인스턴스 자동 복구 (Container Instance Auto Recovery): 컨테이너 인스턴스의 문제가 감지되면 ECS 오케스트레이션은 해당 인스턴스를 자동으로 복구하여 애플리케이션의 가용성을 유지합니다.
'AWS' 카테고리의 다른 글
AWS Dynamodb와 Lambda함수 및 ApigateWay를 사용해보자 (0) | 2023.06.14 |
---|---|
IAM 사용자설정 , 정책설정 , 정책시뮬레이션 적용하기 (0) | 2023.06.14 |
AWS 아키텍처설계 V1 (0) | 2023.05.28 |
Elastic Bean Stalk 대한 IAM 정책설정하기 (0) | 2023.03.30 |
VPC 및 RDS 환경설정 및 배포까지 (0) | 2023.03.28 |