사용하기 쉬운 ECS

9677 단어 ecsterraform
Elastic Container Service(ECS)는 확장성이 뛰어나고 빠른 컨테이너 관리 서비스로 클러스터에서 컨테이너를 쉽게 실행, 중지 및 관리할 수 있습니다.

오늘은 사용법을 알려드릴께요!

건축물





아래와 같이 여러 단계가 있으며 모든 소스 코드는 내 github repo(infrastructuregolang-web )에 있습니다.

전제 조건


  • IAMAdministratorAccess 권한으로 aws account 생성
  • 설치 및 구성aws CLI
  • 설치 및 구성Terraform

  • 설정 환경



    Terraform은 모든 변경 사항을 *.tfstate 파일에 저장하므로 로컬 시스템 대신 *.tfstateaws s3 bucket를 저장하는 것이 좋습니다. 이 단계에서는 aws s3 bucket 파일을 저장할 *.tfstate 파일을 빌드합니다.
  • Terraform 초기화

  • 먼저 다운로드infrastructure

    $ cd setup
    $ terraform init
    


  • s3 버킷 생성

  • $ terraform apply
    

    aws region code 와 같이 us-east-1 를 입력하라는 메시지가 표시됩니다. 그런 다음 나열된 리소스가 크레이트인지 확인한 다음 yes를 입력해야 합니다.

    아래에서 출력s3_bucket_terraform_state을 볼 수 있습니다.

    Outputs:
    
    s3_bucket_terraform_state = "**********-us-east-1"
    


    리소스 구축



    이제 VPC, 서브넷, ECS 및 파이프라인을 포함한 리소스를 구축하기 시작합니다.
  • 원격 백업 설정

  • $ cd ../region/virginia 
    


    그런 다음 s3 파일에서 providers.tf의 블록을 업데이트합니다.

    backend "s3" {
        bucket  = "**********-us-east-1"
        key     = "terraform/backend.tfstate"
        region  = "us-east-1"
        encrypt = "true"
      }
    


    다음 사항을 수정해야 할 수 있습니다.
  • buckets3_bucket_terraform_state의 출력으로 설정
  • s3 버킷
  • 에 파일key을 저장할 경로로 *.tfstate를 설정합니다.
  • 위의 s3 버킷 생성 시 입력한 지역 코드region로 업데이트
  • encrypttrue로 설정
  • 리소스 생성

  • 필요에 따라 main.tf 파일의 구성을 수정한 후 다음 명령을 실행할 수 있습니다.

    $ terraform init
    $ terraform apply
    


    나열된 리소스를 확인한 후 yes를 입력하라는 메시지가 표시됩니다.


    10분 후에 모든 리소스가 생성됩니다.

    코드 배포



    먼저 golang-web을 다운로드한 다음 아래와 같이 git remote를 설정합니다.

    $ git remote add aws ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/golang-web
    
    $ git remote -v
    




    $ git push aws master:master
    Enumerating objects: 62, done.
    Counting objects: 100% (62/62), done.
    Delta compression using up to 12 threads
    Compressing objects: 100% (55/55), done.
    Writing objects: 100% (62/62), 25.36 KiB | 6.34 MiB/s, done.
    Total 62 (delta 26), reused 3 (delta 0), pack-reused 0
    To ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/golang-web
     * [new branch]      master -> master
    


    이제 모든 작업이 완료되었으므로 aws의 출력을 살펴보겠습니다.

    출력



    먼저 VPC와 서브넷이 생성된 것을 확인할 수 있습니다.
  • VPC

  • 서브넷


  • 그런 다음 코드 파이프가 빌드되었습니다.
  • 코드커밋
  • 코드빌드
  • 코드파이프라인

  • ECR

  • 또한 공용 끝점이 생성된 것을 볼 수 있습니다.
  • 엘비
  • 대상 그룹

  • 자, 이제 CES를 볼 시간입니다.
  • ECS 대시보드
  • ECS 클러스터
  • ECS 서비스
  • 작업 정의

  • 확인


  • 공용 끝점에 액세스
  • 확장
    액세스start api가 CPU 리소스 서비스 시간을 소진합니다.

  • 그런 다음 Cloud watch에서 모니터를 봅니다.


    ecs가 2개의 새로운 작업을 생성했습니다.

  • 축소
    액세스stop api가 CPU 리소스 서비스 시간을 해제합니다.


  • 그런 다음 Cloud watch에서 모니터를 봅니다.


    ecs는 작업을 소모하고 있습니다.

    좋은 웹페이지 즐겨찾기