fargatecli로 컨테이너를 세워주세요.

fargatecli는 제1회 AWS Fargate Simple Design 챔피언십에 소개된 CLI 도구로 바보처럼 간단하게 설계할 수 있다.그냥 두다가 갑자기 움직여봤어요.
https://github.com/awslabs/fargatecli

차리다


나는 아무것도 할 줄 모른다.내가 너를 좀 돌볼 필요가 있다.

VPC 준비


fargatecli는 나에게 VPC 한 세트를 주지 않는다.클라미수 씨는 우리를 위해 최강의 학습용 VPC 클라우드 포메이션을 준비했기 때문에 우리는 이 VPC를 준비했다.마음에 드는 구역으로 가세요.
https://dev.classmethod.jp/articles/create_nat_gateway/
FronteendSubnet 1,2의 ID와 Application Subnet 1,2의 ID를 저장합니다.

ALB 준비 보안 팀


fargatecli는 우리에게 안전팀을 주지 않을 것이다.만들다검은 테이프에서 ALB 80에 접근할 수 있도록 미리 열어 두세요.이것은 네트워크 연결을 억지로 허용할 필요가 없고, 자신의 IP 주소에서 열기만 하면 충분하다.

컨테이너에 실을 안전팀을 준비하다


fargatecli는 우리에게 안전팀을 주지 않을 것이다.만들다컨테이너 80에 액세스할 수 있도록 ALB의 보안 그룹 ID에서 엽니다.

ECS에 클러스터 구성


fargatecli는 ECS 클러스터에 대해 작동하지 않습니다.만들다
$ aws ecs create-cluster --cluster-name nginx-cluster

fargatecli 설치


googet은fargatecli의 명령명으로 바이너리를 생성합니다.
$ go get github.com/awslabs/fargatecli
$ which fargatecli

fargatecli로 세워주세요.


fargatecli에서 oneshot의Task, 세워진 서비스로 외부에 공개된 LB, LB에 부착된 Certificate를 관리할 수 있습니다.여기서 NGNX를 한꺼번에 세워서 아주 간단한 분위기를 보세요.

fargatecli로 ALB 만들기


Ib 명령을 사용하여 ALB를 구성할 수 있습니다.
$ fargatecli lb create nginx-lb \
      --port 80 --scheme internet-facing \
      --subnet-id subnet-0807a5c3c2e826742,subnet-0d6b6251136c18fa0 \
      --security-group-id sg-0b21077fb303c2e2a
[i] Created load balancer nginx-lb
성공하면 ALB의 제작이 시작된다.STATUS가 Active가 될 때까지 기다립니다.
$ fargatecli lb list
NAME		TYPE		STATUS		DNS NAME					PORTS
nginx-lb	Application	Provisioning	nginx-lb-845291675.us-east-1.elb.amazonaws.com	HTTP:80
이상한 데 없는 ALB.AWS CLI 및 AWS 에이전트도 일반적으로 ALB로 존재합니다.
$ aws elbv2 describe-load-balancers --names nginx-lb

fargatecli로 컨테이너를 세워주세요.


드디어 컨테이너가 가동되었다.
CLI 매개 변수가 많습니다.ECS 클러스터 이름, 컨테이너의 VPC 서브넷 ID, 컨테이너에 부착된 보안 그룹 ID, 머신 리소스, 부팅된 컨테이너 수, 컨테이너 이미지, 열린 포트, 연관된 ALB 이름을 지정합니다.
$ fargatecli service create nginx-service \
    --cluster nginx-cluster \
    --subnet-id subnet-0f53ebfa6d0c7a323,subnet-0b37fdb04471d9495 \
    --cpu 256 --memory 512 --num 2 \
    --image nginx:stable --port 80 \
    --security-group-id sg-04834761e4cb48b21 \
    --lb nginx-lb
[i] Created service nginx-service
cluster 지정은 다음과 같은 시작 상황을 볼 수 있습니다.
$ fargatecli service list --cluster nginx-cluster
NAME		IMAGE		CPU	MEMORY	LOAD BALANCER	DESIRED	RUNNING	PENDING	
nginx-service	nginx:stable	256	512	nginx-lb	2	0	2	
RUNNING이 되면 ALB의 URL에 액세스하여 NGNX의 초기 페이지를 볼 수 있습니다.이번에는 HTTPS가 설정되지 않았습니다. HTTP를 사용하여 액세스하십시오.

fargatecli로 용기 이미지 바꾸기


작업 중에 사용하면 새로운 버전의 용기 이미지도 디자인할 수 있다.stable를nginx:latest로 바꾸면 재미있을 것 같아요.
$ fargatecli service deploy nginx-service \
      --cluster nginx-cluster \
      --image nginx:latest
[i] Deployed nginx:latest to service nginx-service
$ fargatecli service list --cluster nginx-cluster
NAME		IMAGE		CPU	MEMORY	LOAD BALANCER	DESIRED	RUNNING	PENDING	
nginx-service	nginx:latest	256	512	nginx-lb	2	2	0
이렇게 간단하게 디자인할 수 있습니다.

fargatecli로 치우고.


서비스를 먼저 데스크톱에 놓고 데스크톱에 놓고 삭제할 수 있다.
$ fargatecli service scale nginx-service "0" \
    --cluster nginx-cluster
[i] Scaled service nginx-service to 0
$ fargatecli service destroy nginx-service \
    --cluster nginx-cluster
[i] Destroyed service nginx-service
도 ALB를 삭제할 수 있습니다.
$ fargatecli lb destroy nginx-lb
[i] Destroyed load balancer nginx-lb

얼마나 사용할 수 있습니까?


위에서 말한 바와 같이 ECS와Fargate에서 아무것도 모르는 곳에서 어쨌든 컨테이너를 세울 수 있는 것이 최고다.컨테이너 이미지의 디자인을 제외하고 README.md를 읽으면Fargate의 축소, 확대, 다시 시작해도 됩니다. 일련의 스크립트를 덮어쓸 수 있을 것 같습니다.
하지만 fargatecli의 제출 로그를 보니 특별히 활발한 개발이 아닌 것으로 밝혀져 장기적으로 불안하다.작업상 까다로운 제품의 CD 라인을 잘 엮으면 갑자기 움직일 수 없게 된다.거기서 포크 일련토생의 뿌리가 있다면 곧 사용할 것이다.
학습용도, 신제품 시동을 걸 때는 지금이라도 사용하기 편할 때ecspresso,docker-compose,Copilot 등으로 도피 준비를 하는 것이 좋을 것 같다(과하다).

좋은 웹페이지 즐겨찾기