brunch

You can make anything
by writing

- C.S.Lewis -

by Master Seo Jun 07. 2020

401.  ECR

실습, 테스트 레포 이름은 myrepo

목표

ECR이용하여  ECS로 사이트를 띄워보자

ECR (Amazon Elastic Container Registry ) = 관리형 AWS 도커 레지스트리 서비스



순서

<1>  ECR  리포지토리를 만들자

<2> 리눅스  EC2 접속하기

<3> 도커 이미지 pull 

<4> 새이미지로 ECS  만들기

<5> 서비스 만들기



<1>  ECR  리포지토리를 만들자


1

Services > ECS >  리포지토리  > 리포지토리 생성 >  리포지토리 이름

seo-repo

리포지토리 생성


2

URI 복사해 놓자.                              

581442942746.dkr.ecr.us-west-2.amazonaws.com/myrepo            


3

seorepo 클릭  >  왼쪽 >  권한 >  편집  > 설명문 추가 > 설명문 이름

seo-statement

> IAM 개체 >

EC2InstanceRole  

> 작업 

모든 이름 선택

 > 저장




4

ecr

EC2기반의 ECS를 만드는 경우 EC2 권한 필요

ECS권한은 당연 필요

ECR권한도 당연 필요

Cloudwatch log에 저장하므로 로그 필요.


role 필요

{

    "Version": "2012-10-17",

    "Statement": [

        {

            "Effect": "Allow",

            "Action": [

                "ec2:DescribeTags",

                "ecs:CreateCluster",

                "ecs:DeregisterContainerInstance",

                "ecs:DiscoverPollEndpoint",

                "ecs:Poll",

                "ecs:RegisterContainerInstance",

                "ecs:StartTelemetrySession",

                "ecs:UpdateContainerInstancesState",

                "ecs:Submit*",

                "ecr:GetAuthorizationToken",

                "ecr:BatchCheckLayerAvailability",

                "ecr:GetDownloadUrlForLayer",

                "ecr:BatchGetImage",

                "logs:CreateLogStream",

                "logs:PutLogEvents"

            ],

            "Resource": "*"

        }

    ]

}



<2> 리눅스  EC2 접속하기




<3> 도커 이미지 pull 

ecr 리파지토리에서 ecs 이미지 가져오기

1

docker pull amazon/amazon-ecs-sample


2

형식

REPOSITORY=your-repository-uri  (받아놓은 리포지토리 링크 )

실행

REPOSITORY=087599397329.dkr.ecr.us-west-2.amazonaws.com/myrepo


3

테그

docker tag amazon/amazon-ecs-sample:latest $REPOSITORY


4

로그인

EC2_REGION=`wget -q -O - http://169.254.169.254/latest/meta-data/placement/availability-zone | sed s/.$//` `aws ecr get-login --region $EC2_REGION --no-include-email`




5

PUSH하기

docker push $REPOSITORY




6.  aws 에서 확인


ecr > 리포지토리 > myrepo 클릭 > images 에  이미지가 있는지 확인




<4>  새 이미지로 ECS  만들기


1

Serives > ECS > Task Definitions > 새작업 정의 생성  > EC2 > Next 


맨아래  Configure JSON


// JSON 코드

// YOUR-REPO URI 수정하기  ,

581442942746.dkr.ecr.us-west-2.amazonaws.com/myrepo

> 생성




<5>  서비스 만들기


1

Clusters  >  ECSClusters 클릭  >  생성  > Ec2  > 서비스  이름

seo-serivce1

Number of task

1

다음


2

로드 밸런서 유형

Network Load Balancer

Service IAM role

ecsServiceRole


로드밸런서 추가

80:TCP

> 다음 

> 다음

> 서비스 생성




3

작업 결과 확인하기

세부정보 탭 보기

작업 탭  보기

이벤트 탭 보기


4

세부정보 탭  > 대상 그룹 이름  클릭 > 대상 탭 보기

그룹 세부정보 탭  보기 >  MyLoadBalancer  클릭 



5

load balancer  > DNS네임 복사



6

사이트 접속





<6>  참고


https://docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/what-is-ecr.html

감사합니다.

매거진의 이전글 400. MediaLive, MediaStore ,CF

매거진 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari