Amazon Elastic Container Service · 2020-06-11 · Amazon Elastic Container Service 개발자...

743
Amazon Elastic Container Service 개발자 안내서 API 버전 2014-11-13

Transcript of Amazon Elastic Container Service · 2020-06-11 · Amazon Elastic Container Service 개발자...

  • Amazon Elastic Container Service개발자 안내서

    API 버전 2014-11-13

  • Amazon Elastic Container Service 개발자 안내서

    Amazon Elastic Container Service: 개발자 안내서Copyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

    Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

  • Amazon Elastic Container Service 개발자 안내서

    Table of ContentsAmazon ECS란 무엇입니까? ................................................................................................................ 1

    Amazon ECS의 기능 ................................................................................................................... 1컨테이너 및 이미지 ............................................................................................................. 2작업 정의 .......................................................................................................................... 3작업 및 예약 ...................................................................................................................... 3클러스터 ............................................................................................................................ 4컨테이너 에이전트 .............................................................................................................. 4

    처음으로 Amazon ECS 사용하기 .................................................................................................. 5관련 서비스 ............................................................................................................................... 5Amazon ECS에 액세스 ................................................................................................................ 6

    설정 .................................................................................................................................................. 7AWS에 가입 .............................................................................................................................. 7IAM 사용자 생성 ......................................................................................................................... 7키 페어 생성 .............................................................................................................................. 9VPC(가상 사설 클라우드) 생성 .................................................................................................... 11보안 그룹 생성 ......................................................................................................................... 12AWS CLI 설치 .......................................................................................................................... 13

    시작하기 .......................................................................................................................................... 14Docker 기본 사항 ...................................................................................................................... 14

    Amazon Linux 2에 Docker 설치 .......................................................................................... 14도커 이미지 생성 .............................................................................................................. 15Amazon Elastic Container Registry에 이미지 푸시 .................................................................. 17정리합니다 ....................................................................................................................... 18

    Amazon EC2를 사용하여 Amazon ECS 시작하기 .......................................................................... 18사전 조건 ......................................................................................................................... 181단계: 작업 정의 등록 ....................................................................................................... 182단계: 클러스터 생성 ......................................................................................................... 193단계: 서비스 생성 ............................................................................................................ 204단계: 서비스 보기 ............................................................................................................ 205단계: 정리 ...................................................................................................................... 21

    Fargate를 사용하여 Amazon ECS 시작하기 .................................................................................. 21사전 조건 ......................................................................................................................... 221단계: 작업 정의 생성 ....................................................................................................... 222단계: 서비스 구성 ............................................................................................................ 233단계: 클러스터 구성 ......................................................................................................... 234단계: 검토 ...................................................................................................................... 235단계: 서비스 보기 ............................................................................................................ 246단계: 정리 ...................................................................................................................... 24

    AWS Fargate ................................................................................................................................... 25작업 정의 ................................................................................................................................. 26

    네트워크 모드 .................................................................................................................. 27작업 CPU 및 메모리 .......................................................................................................... 27작업 리소스 제한 .............................................................................................................. 27로깅 ................................................................................................................................ 27Amazon ECS 작업 실행 IAM 역할 ....................................................................................... 28예제 작업 정의 ................................................................................................................. 28작업 스토리지 .................................................................................................................. 29

    작업 및 서비스 ......................................................................................................................... 29작업 네트워킹 .................................................................................................................. 29

    프라이빗 레지스트리 인증 .......................................................................................................... 30클러스터 .................................................................................................................................. 30Fargate 스팟 ............................................................................................................................ 31Fargate 작업 만료 ..................................................................................................................... 31Fargate Savings Plans ............................................................................................................... 31

    API 버전 2014-11-13iii

  • Amazon Elastic Container Service 개발자 안내서

    플랫폼 버전 .............................................................................................................................. 31플랫폼 버전 고려 사항 ....................................................................................................... 31사용 가능한 플랫폼 버전 .................................................................................................... 32플랫폼 버전 1.3.0에서 1.4.0으로 마이그레이션 ...................................................................... 33

    클러스터 .......................................................................................................................................... 35클러스터 개념 .......................................................................................................................... 35클러스터 생성 .......................................................................................................................... 36용량 공급자 .............................................................................................................................. 38

    용량 공급자 개념 .............................................................................................................. 39용량 공급자 고려 사항 ....................................................................................................... 39Auto Scaling 그룹 용량 공급자 ............................................................................................ 40AWS Fargate 용량 공급자 .................................................................................................. 44

    클러스터 Auto Scaling ............................................................................................................... 47클러스터 Auto Scaling 고려 사항 ......................................................................................... 48

    클러스터 설정 업데이트 ............................................................................................................. 48클러스터 삭제 .......................................................................................................................... 49

    작업 정의 ......................................................................................................................................... 50애플리케이션 아키텍처 .............................................................................................................. 50

    Fargate 시작 유형 사용 ...................................................................................................... 51EC2 시작 유형 사용 .......................................................................................................... 51

    작업 정의 생성하기 ................................................................................................................... 52작업 정의 템플릿 .............................................................................................................. 57

    작업 정의 파라미터 ................................................................................................................... 61패밀리 ............................................................................................................................. 61작업 역할 ......................................................................................................................... 61작업 실행 역할 ................................................................................................................. 61네트워크 모드 .................................................................................................................. 61컨테이너 정의 .................................................................................................................. 62볼륨 ................................................................................................................................ 86작업 배치 제약 ................................................................................................................. 90시작 유형 ......................................................................................................................... 90작업 크기 ......................................................................................................................... 90프록시 구성 ...................................................................................................................... 92기타 작업 정의 파라미터 .................................................................................................... 93

    시작 유형 ................................................................................................................................. 95Fargate 시작 유형 ............................................................................................................. 95EC2 시작 유형 ................................................................................................................. 96

    Amazon ECS의 GPU 작업 ......................................................................................................... 97GPU 작업 시 고려사항 ...................................................................................................... 98작업 정의 시 GPU 지정 ..................................................................................................... 99

    작업에서 데이터 볼륨 사용 ....................................................................................................... 100Fargate 작업 스토리지 ..................................................................................................... 101도커 볼륨 ....................................................................................................................... 102바인드 탑재 .................................................................................................................... 107Amazon EFS 볼륨 ........................................................................................................... 113

    작업 네트워킹 ......................................................................................................................... 116작업 네트워킹 관련 고려 사항 ........................................................................................... 117작업 네트워킹 활성화 ...................................................................................................... 119

    awslogs 로그 드라이버 사용 ..................................................................................................... 119컨테이너에 대해 awslogs 로그 드라이버 활성화 ................................................................... 119로그 그룹 생성 ................................................................................................................ 120사용 가능한 awslogs 로그 드라이버 옵션 ............................................................................ 120작업 정의에서 로그 구성 지정 ........................................................................................... 122CloudWatch Logs에서 awslogs 컨테이너 로그 보기 .............................................................. 123

    사용자 지정 로그 라우팅 .......................................................................................................... 125고려 사항 ....................................................................................................................... 125필요한 IAM 권한 ............................................................................................................. 126

    API 버전 2014-11-13iv

  • Amazon Elastic Container Service 개발자 안내서

    Fluent Bit 이미지에 AWS 사용 .......................................................................................... 127FireLens 구성을 사용하는 작업 정의 생성 ........................................................................... 129Fluent Logger 라이브러리 사용 ......................................................................................... 132정규 표현식을 사용하여 로그 필터링 .................................................................................. 132예제 작업 정의 ................................................................................................................ 132

    작업에 대한 프라이빗 레지스트리 인증 ....................................................................................... 135프라이빗 레지스트리 인증에 대한 필수 IAM 권한 ................................................................. 136프라이빗 레지스트리 인증 활성화 ...................................................................................... 136

    중요한 데이터 지정 ................................................................................................................. 138사용 Secrets Manager ..................................................................................................... 138시스템 관리자 파라미터 스토어 사용 .................................................................................. 145

    환경 변수 지정 ........................................................................................................................ 149환경 변수 파일 지정에 대한 고려 사항 ................................................................................ 150필수 IAM 권한 ................................................................................................................ 151

    예제 작업 정의 ........................................................................................................................ 151예: Webserver ................................................................................................................ 152예: splunk 로그 드라이버 ................................................................................................ 152예: fluentd 로그 드라이버 .............................................................................................. 153예: gelf 로그 드라이버 ................................................................................................... 153예: Amazon ECR 이미지 및 작업 정의 IAM 역할 .................................................................. 154예: 명령 포함 진입점 ....................................................................................................... 154예제: 컨테이너 종속성 ...................................................................................................... 154

    작업 정의 업데이트 ................................................................................................................. 156작업 정의 개정 등록 취소 ......................................................................................................... 156

    계정 설정 ....................................................................................................................................... 158Amazon 리소스 이름(ARN) 및 ID ............................................................................................... 159계정 설정 보기 ........................................................................................................................ 160계정 설정 수정 ........................................................................................................................ 161

    컨테이너 인스턴스 ........................................................................................................................... 163컨테이너 인스턴스 개념 ........................................................................................................... 163컨테이너 인스턴스 수명 주기 .................................................................................................... 164계정의 인스턴스 역할 확인 ....................................................................................................... 165Amazon ECS-optimized AMI ..................................................................................................... 165

    AMI 버전 ........................................................................................................................ 173AMI 스토리지 구성 .......................................................................................................... 182

    Amazon ECS-Optimized AMI 메타데이터 가져오기 ....................................................................... 186Amazon ECS-Optimized Amazon Linux AMI 업데이트 알림 구독 .................................................... 190

    Amazon SNS 메시지 형식 ................................................................................................ 192컨테이너 인스턴스 시작 ........................................................................................................... 194사용 스팟 인스턴스 ................................................................................................................. 197

    스팟 인스턴스 드레이닝 ................................................................................................... 197컨테이너 인스턴스 부트스트랩 .................................................................................................. 198

    Amazon ECS 컨테이너 에이전트 ....................................................................................... 198Docker 데몬 ................................................................................................................... 199cloud-init-per 유틸리티 ..................................................................................................... 199MIME 멀티파트 아카이브를 사용하여 여러 사용자 데이터 블록 지정 ........................................ 200사용자 데이터 스크립트 예제 ............................................................................................ 201

    탄력적 네트워크 인터페이스 트렁킹 ........................................................................................... 205ENI 트렁킹 고려 사항 ...................................................................................................... 205늘어난 ENI 제한이 있는 컨테이너 인스턴스 작업 .................................................................. 206지원되는 Amazon EC2 인스턴스 유형 ................................................................................ 208

    컨테이너 인스턴스에 연결 ........................................................................................................ 211CloudWatch Logs .................................................................................................................... 212

    CloudWatch Logs IAM 정책 .............................................................................................. 212CloudWatch 에이전트 설치 및 구성 .................................................................................... 213CloudWatch Logs 보기 ..................................................................................................... 213

    컨테이너 인스턴스 드레이닝 ..................................................................................................... 214

    API 버전 2014-11-13v

  • Amazon Elastic Container Service 개발자 안내서

    인스턴스 드레이닝 ........................................................................................................... 214메모리 관리 ............................................................................................................................ 215

    시스템 메모리 예약 ......................................................................................................... 215컨테이너 인스턴스 메모리 보기 ......................................................................................... 216

    컨테이너 스왑 공간 관리 .......................................................................................................... 216컨테이너 스왑 고려 사항 .................................................................................................. 217

    원격으로 컨테이너 인스턴스 관리 .............................................................................................. 217Run Command IAM 정책 .................................................................................................. 218Amazon ECS-Optimized AMI에 SSM 에이전트 설치 ............................................................. 218Run Command 사용 ........................................................................................................ 219

    컨테이너 인스턴스 시작 시간에 작업 시작 ................................................................................... 220컨테이너 인스턴스 등록 취소 .................................................................................................... 222

    컨테이너 에이전트 ........................................................................................................................... 224Amazon ECS 컨테이너 에이전트 설치 ........................................................................................ 224

    Amazon Linux 2 EC2 인스턴스에 Amazon ECS 컨테이너 에이전트 설치 .................................. 225Amazon Linux AMI EC2 인스턴스에 Amazon ECS 컨테이너 에이전트 설치 .............................. 225비 Amazon Linux EC2 인스턴스에 Amazon ECS 컨테이너 에이전트 설치 ................................. 226호스트 네트워크 모드로 Amazon ECS 컨테이너 에이전트 실행 ............................................... 233

    컨테이너 에이전트 버전 ........................................................................................................... 233Amazon ECS-Optimized Amazon Linux 2 AMI 컨테이너 에이전트 버전 .................................... 233Amazon ECS-Optimized Amazon Linux AMI 컨테이너 에이전트 버전 ....................................... 235

    Amazon ECS 컨테이너 에이전트 업데이트 .................................................................................. 238Amazon ECS 컨테이너 에이전트 버전 확인 ......................................................................... 239Amazon ECS-optimized AMI에서 Amazon ECS 컨테이너 에이전트 업데이트 ............................ 240수동으로 Amazon ECS 컨테이너 에이전트(비Amazon ECS-Optimized AMI용) 업데이트 .............. 242

    Amazon ECS 컨테이너 에이전트 구성 ........................................................................................ 244사용 가능한 파라미터 ...................................................................................................... 245Amazon S3에서 컨테이너 인스턴스 구성 저장 ..................................................................... 256

    컨테이너 인스턴스에 대한 프라이빗 레지스트리 인증 .................................................................... 257인증 형식 ....................................................................................................................... 258프라이빗 레지스트리 활성화 ............................................................................................. 259

    자동 작업 및 이미지 정리 ......................................................................................................... 260조정 가능한 파라미터 ...................................................................................................... 261정리 워크플로우 .............................................................................................................. 261

    컨테이너 메타데이터 파일 ........................................................................................................ 262컨테이너 메타데이터 활성화 ............................................................................................. 262컨테이너 메타데이터 파일 위치 ......................................................................................... 262컨테이너 메타데이터 파일 형식 ......................................................................................... 263

    작업 메타데이터 엔드포인트 ..................................................................................................... 265작업 메타데이터 엔드포인트 버전 4 ................................................................................... 266작업 메타데이터 엔드포인트 버전 3 ................................................................................... 274작업 메타데이터 엔드포인트 버전 2 ................................................................................... 279

    Amazon ECS 컨테이너 에이전트 내부 검사 ................................................................................. 283HTTP 프록시 구성 ................................................................................................................... 284

    Amazon Linux 컨테이너 인스턴스 구성 ............................................................................... 285Windows 컨테이너 인스턴스 구성 ...................................................................................... 287

    작업 예약 ....................................................................................................................................... 289작업 실행하기 ......................................................................................................................... 290

    Fargate 시작 유형을 사용하여 작업 실행 ............................................................................ 290EC2 시작 유형을 사용하여 작업 실행 ................................................................................. 292

    작업 배치 ............................................................................................................................... 295작업 배치 전략 ................................................................................................................ 295작업 배치 제약 ................................................................................................................ 297클러스터 쿼리 언어 ......................................................................................................... 301

    예약된 작업(cron) .................................................................................................................. 304작업 수명 주기 ........................................................................................................................ 306

    수명 주기 상태 ................................................................................................................ 307

    API 버전 2014-11-13vi

  • Amazon Elastic Container Service 개발자 안내서

    작업 만료 ............................................................................................................................... 308만료 예약된 작업에 대한 작업 ........................................................................................... 308

    Fargate 작업 재생 ................................................................................................................... 309AWS CLI를 사용하여 예약 작업 생성 ......................................................................................... 310

    서비스 ........................................................................................................................................... 311서비스 스케줄러 개념 .............................................................................................................. 311

    데몬 .............................................................................................................................. 312복제본 ........................................................................................................................... 312

    추가 서비스 개념 ..................................................................................................................... 313서비스 정의 파라미터 .............................................................................................................. 313

    시작 유형 ....................................................................................................................... 313용량 공급자 전략 ............................................................................................................. 313작업 정의 ....................................................................................................................... 314플랫폼 버전 .................................................................................................................... 315클러스터 ........................................................................................................................ 315서비스 이름 .................................................................................................................... 315일정 전략 ....................................................................................................................... 315원하는 개수 .................................................................................................................... 316배포 구성 ....................................................................................................................... 316배포 컨트롤러 ................................................................................................................. 317작업 배치 ....................................................................................................................... 318Tags .............................................................................................................................. 319네트워크 구성 ................................................................................................................. 320클라이언트 토큰 .............................................................................................................. 323서비스 정의 템플릿 ......................................................................................................... 323

    서비스 생성 ............................................................................................................................ 3251단계: 기본적 서비스 파라미터 구성 .................................................................................. 3252단계: 네트워크 구성 ....................................................................................................... 3273단계: 로드 밸런서를 사용하도록 서비스를 구성 .................................................................. 3284단계: 서비스 검색을 사용하도록 서비스 구성 ..................................................................... 3325단계: 서비스 자동 조정을 사용하도록 서비스 구성 .............................................................. 3336단계: 서비스 검토 및 생성 ............................................................................................... 335

    서비스 업데이트하기 ................................................................................................................ 335서비스 삭제하기 ...................................................................................................................... 337배포 유형 ............................................................................................................................... 338

    롤링 업데이트 ................................................................................................................. 338CodeDeploy을 사용한 블루/그린 배포 ................................................................................. 339외부 배포 ....................................................................................................................... 343

    서비스 로드 밸런싱 ................................................................................................................. 348서비스 로드 밸런싱 고려사항 ............................................................................................ 348로드 밸런서 유형 ............................................................................................................. 350로드 밸런서 만들기 ......................................................................................................... 353서비스에 여러 대상 그룹 등록 ........................................................................................... 364

    서비스 자동 조정 ..................................................................................................................... 366서비스 자동 조정에 필요한IAM 권한 ................................................................................... 366대상 추적 조정 정책 ........................................................................................................ 367단계 조정 정책 ................................................................................................................ 371

    서비스 검색 ............................................................................................................................ 373서비스 검색 개념 ............................................................................................................. 373서비스 검색 고려 사항 ..................................................................................................... 374Amazon ECS 콘솔 경험 ................................................................................................... 375서비스 검색 요금 ............................................................................................................. 375

    서비스 스로틀 로직 ................................................................................................................. 375리소스 및 태그 ................................................................................................................................ 377

    리소스에 태그 지정 ................................................................................................................. 377태그 기본 사항 ................................................................................................................ 377리소스에 태그 지정 ......................................................................................................... 377

    API 버전 2014-11-13vii

  • Amazon Elastic Container Service 개발자 안내서

    태그 제한 ....................................................................................................................... 378리소스에 결제용 태그 지정 ............................................................................................... 379콘솔을 사용한 태그 작업 .................................................................................................. 379CLI 또는 API를 사용한 태그 작업 ...................................................................................... 381

    서비스 할당량 ......................................................................................................................... 382조정 가능한 서비스 할당량 ............................................................................................... 383조정 불가능한 서비스 할당량 ............................................................................................ 383사용 Service Quotas ........................................................................................................ 384

    사용 보고서 ............................................................................................................................ 384모니터링 ........................................................................................................................................ 386

    관리 도구 ............................................................................................................................... 386자동 도구 ....................................................................................................................... 387수동 도구 ....................................................................................................................... 387

    CloudWatch 지표 .................................................................................................................... 388CloudWatch 지표 활성화 .................................................................................................. 388사용 가능한 지표 및 차원 ................................................................................................. 388클러스터 예약 ................................................................................................................. 391클러스터 사용률 .............................................................................................................. 392서비스 사용률 ................................................................................................................. 393서비스 RUNNING 작업 수 .................................................................................................. 393Amazon ECS 지표 보기 ................................................................................................... 394자습서: CloudWatch 경보를 사용한 조정 ............................................................................. 395

    이벤트 및 EventBridge ............................................................................................................. 399Amazon ECS 이벤트 ....................................................................................................... 400이벤트 처리 .................................................................................................................... 409

    CloudWatch Container Insights .................................................................................................. 410Container Insights 고려 사항 ............................................................................................. 411Container Insights 활성화 클러스터 작업 ............................................................................. 411

    AWS CloudTrail을 사용하여 Amazon ECS API 호출 로깅 .............................................................. 412CloudTrail의 Amazon ECS 정보 ........................................................................................ 413Amazon ECS 로그 파일 항목 이해 ..................................................................................... 413

    보안 .............................................................................................................................................. 415ID 및 액세스 관리 ................................................................................................................... 415

    대상 .............................................................................................................................. 416자격 증명을 통한 인증 ..................................................................................................... 416정책을 사용하여 액세스 관리 ............................................................................................ 418Amazon Elastic Container Service에서 IAM를 사용하는 방식 .................................................. 419자격 증명 기반 정책 예제 ................................................................................................. 423지원되는 리소스 수준 권한 ............................................................................................... 434관리형 정책과 신뢰 관계 .................................................................................................. 435서비스 연결 역할 ............................................................................................................. 444작업 실행 IAM 역할 ......................................................................................................... 452컨테이너 인스턴스 IAM 역할 ............................................................................................. 456작업에 대한 IAM 역할 ...................................................................................................... 459CodeDeploy IAM 역할 ...................................................................................................... 464CloudWatch 이벤트 IAM 역할 ........................................................................................... 467문제 해결 ....................................................................................................................... 470

    로깅 및 모니터링 ..................................................................................................................... 472규정 준수 확인 ........................................................................................................................ 473인프라 보안 ............................................................................................................................ 473

    인터페이스 VPC 엔드포인트(AWS PrivateLink) .................................................................... 474Amazon ECS CLI 사용 .................................................................................................................... 476

    Amazon ECS CLI 설치 ............................................................................................................ 4761단계: Amazon ECS CLI 다운로드 ..................................................................................... 4762단계: Amazon ECS CLI 확인 ........................................................................................... 4763단계: 바이너리에 실행 권한 적용 ..................................................................................... 4814단계: 설치 완료 ............................................................................................................. 481

    API 버전 2014-11-13viii

  • Amazon Elastic Container Service 개발자 안내서

    Amazon ECS CLI 구성 ............................................................................................................ 482프로필 ........................................................................................................................... 482클러스터 구성 ................................................................................................................. 482우선 순위 ....................................................................................................................... 482

    구성 파일 마이그레이션 ........................................................................................................... 483이전 구성 파일을 v1.0.0 이후 버전 형식으로 마이그레이션 ..................................................... 484

    자습서: Amazon ECS CLI를 사용하여 Fargate 작업이 있는 클러스터 생성 ........................................ 484사전 조건 ....................................................................................................................... 4841단계: 작업 실행 IAM 역할 생성 ........................................................................................ 4842단계: Amazon ECS CLI 구성 ........................................................................................... 4853단계: 클러스터 생성 및 보안 그룹 구성 ............................................................................. 4854단계: 구성 파일 생성 ...................................................................................................... 4865단계: 클러스터에 Compose 파일 배포 ............................................................................... 4876단계: 클러스터에서 실행 컨테이너 보기 ............................................................................ 4877단계: 컨테이너 로그 보기 ................................................................................................ 4878단계: 클러스터에서 작업 규모 조정 .................................................................................. 4879단계: 웹 애플리케이션 보기 ............................................................................................. 48810단계: 정리 ................................................................................................................... 488

    자습서: Amazon ECS CLI를 사용하여 EC2 작업이 있는 클러스터 생성 ............................................ 488사전 조건 ....................................................................................................................... 4881단계: Amazon ECS CLI 구성 ........................................................................................... 4892단계: 클러스터 생성 ....................................................................................................... 4893단계: Compose 파일 생성 ............................................................................................... 4894단계: 클러스터에 Compose 파일 배포 ............................................................................... 4905단계: 클러스터에서 실행 컨테이너 보기 ............................................................................ 4906단계: 클러스터에서 작업 조정 .......................................................................................... 4907단계: Compose 파일로부터 ECS 서비스 생성 .................................................................... 4918단계: 웹 애플리케이션 보기 ............................................................................................. 4919단계: 정리 .................................................................................................................... 491

    자습서: 서비스 검색를 사용하는 Amazon ECS 서비스를 Amazon ECS CLI를 사용하여 생성 ................ 492사전 조건 ....................................................................................................................... 492Amazon ECS CLI 구성 .................................................................................................... 492서비스 검색를 사용하도록 구성된 Amazon ECS 서비스를 생성 ............................................... 492

    Amazon ECS 명령줄 레퍼런스 .................................................................................................. 494ecs-cli ............................................................................................................................ 495ecs-cli configure .............................................................................................................. 497ecs-cli up ....................................................................................................................... 503ecs-cli down ................................................................................................................... 511ecs-cli scale ................................................................................................................... 512ecs-cli ps ....................................................................................................................... 514ecs-cli push .................................................................................................................... 516ecs-cli pull ...................................................................................................................... 518ecs-cli images ................................................................................................................. 519ecs-cli license ................................................................................................................. 522ecs-cli compose .............................................................................................................. 523ecs-cli compose service ................................................................................................... 534ecs-cli logs ..................................................................................................................... 556ecs-cli check-attributes ..................................................................................................... 558ecs-cli registry-creds ........................................................................................................ 560ecs-cli local .................................................................................................................... 566Docker compose 파일 구문 사용 ....................................................................................... 572Amazon ECS 파라미터 사용 ............................................................................................. 574

    일반 사용 사례 ................................................................................................................................ 580마이크로서비스 ....................................................................................................................... 580

    Auto Scaling ................................................................................................................... 580서비스 검색 .................................................................................................................... 581권한 부여 및 암호 관리 .................................................................................................... 581

    API 버전 2014-11-13ix

  • Amazon Elastic Container Service 개발자 안내서

    로깅 .............................................................................................................................. 581지속적인 통합 및 지속적인 배포 ........................................................................................ 581

    배치 작업 ............................................................................................................................... 582다른 서비스와 함께 사용 .................................................................................................................. 583

    Amazon ECR을 Amazon ECS와 함께 사용 ................................................................................. 583Amazon ECS에서 Amazon ECR 이미지 사용 ...................................................................... 583

    AWS CloudFormation을 사용하여 Amazon ECS 리소스 생성 ......................................................... 584Amazon ECS 및 AWS CloudFormation 템플릿 .................................................................... 584AWS CloudFormation에 대해 자세히 알아보기 ..................................................................... 584

    AWS Outposts의 Amazon Elastic Container Service ..................................................................... 584사전 조건 ....................................................................................................................... 585제한 .............................................................................................................................. 585네트워크 연결 고려 사항 .................................................................................................. 585Outpost에 Amazon ECS 클러스터 생성 .............................................................................. 585

    AWS App Mesh 및 Amazon ECS 시작하기 ................................................................................. 588시나리오 ........................................................................................................................ 588사전 조건 ....................................................................................................................... 5881단계: 메시 및 가상 서비스 생성 ....................................................................................... 5882단계: 가상 노드 생성 ...................................................................................................... 5893단계: 가상 라우터 생성 및 라우팅 .................................................................................... 5904단계: 검토 및 생성 ......................................................................................................... 5915단계: 추가 리소스 생성 ................................................................................................... 5926단계: 서비스 업데이트 .................................................................................................... 596

    Savings Plans ......................................................................................................................... 606Amazon ECS의 AWS 딥 러닝 컨테이너 ...................................................................................... 606

    Amazon ECS에서 Elastic Inference가 있는 Deep Learning Containers ..................................... 606자습서 ........................................................................................................................................... 608

    자습서: VPC 생성 ................................................................................................................... 6081단계: NAT 게이트웨이에 대한 탄력적 IP 주소 만들기 .......................................................... 6082단계: VPC 마법사 실행 ................................................................................................... 6083단계: 추가 서브넷 생성 ................................................................................................... 609다음 단계 ....................................................................................................................... 610

    자습서: AWS CLI를 사용하여 Fargate 작업이 있는 클러스터 생성 ................................................... 610사전 조건 ....................................................................................................................... 6101단계: 클러스터 생성 ....................................................................................................... 6112단계: 작업 정의 등록 ...................................................................................................... 6113단계: 작업 정의 나열 ...................................................................................................... 6124단계: 서비스 생성 .......................................................................................................... 6125단계: 서비스 나열 .......................................................................................................... 6136단계: 실행 서비스 설명 ................................................................................................... 6137단계: 정리 .................................................................................................................... 615

    자습서: AWS CLI를 사용하여 EC2 작업이 있는 클러스터 생성 ....................................................... 615사전 조건 ....................................................................................................................... 6151단계: 클러스터 생성 ....................................................................................................... 6162단계: Amazon ECS AMI를 사용하여 인스터스 시작 ............................................................. 616단계 3: 컨테이너 인스턴스 나열 ........................................................................................ 6164단계: 컨테이너 인스턴스 설명 .......................................................................................... 6165단계: 작업 정의 등록 ...................................................................................................... 6186단계: 작업 정의 나열 ...................................................................................................... 6197단계: 작업 실행 ............................................................................................................. 6208단계: 작업 나열 ............................................................................................................. 6219단계: 실행 작업 설명 ...................................................................................................... 621

    자습서: AWS Management 콘솔를 통한 클러스터 Auto Scaling 사용 ............................................... 622사전 조건 ....................................................................................................................... 6221단계: Amazon ECS 클러스터 생성 ................................................................................... 6222단계: Auto Scaling 리소스 생성 ....................................................................................... 6233단계: 용량 공급자 생성 ................................................................................................... 624

    API 버전 2014-11-13x

  • Amazon Elastic Container Service 개발자 안내서

    4단계: 클러스터에 대한 기본 용량 공급자 전략 설정 ............................................................. 6255단계: 작업 정의 등록 ...................................................................................................... 6256단계: 작업 실행 ............................................................................................................. 6267단계: 확인 .................................................................................................................... 6268단계: 정리 .................................................................................................................... 627

    자습서: AWS CLI를 통한 클러스터 Auto Scaling 사용 ................................................................... 628사전 조건 ....................................................................................................................... 6281단계: Auto Scaling 리소스 생성 ....................................................................................... 6292단계: Amazon ECS 리소스 생성 ...................................................................................... 6313단계: 작업 정의 등록 ...................................................................................................... 6364단계: 작업 실행 ............................................................................................................. 6375단계: 확인 .................................................................................................................... 6396단계: 정리 .................................................................................................................... 642

    자습서: Secrets Manager 보안을 사용해 중요한 데이터 정의 .......................................................... 643사전 조건 ....................................................................................................................... 6431단계: Secrets Manager 보안 생성 .................................................................................... 6432단계: 작업 실행 IAM 역할 업데이트 .................................................................................. 6443단계: Amazon ECS 작업 정의 생성 .................................................................................. 6444단계: Amazon ECS 클러스터 생성 ................................................................................... 6465단계: Amazon ECS 작업 실행 ......................................................................................... 6466단계: 확인 .................................................................................................................... 6467단계: 정리 .................................................................................................................... 647

    자습서: 서비스 검색를 사용하여 서비스 생성 ............................................................................... 648사전 조건 ....................................................................................................................... 6481단계: 서비스 검색 리소스 생성 ........................................................................................ 6492단계: Amazon ECS 리소스 생성 ...................................................................................... 6503단계: 서비스 검색 확인 ................................................................................................... 6534단계: 정리 .................................................................................................................... 655

    자습서: 블루/그린 배포를 사용하여 서비스 생성 ........................................................................... 657사전 조건 ....................................................................................................................... 6571단계: Application Load Balancer 생성 ............................................................................... 6572단계: Amazon ECS 클러스터 만들기 ................................................................................ 6583단계: 작업 정의 등록 ...................................................................................................... 6594단계: Amazon ECS 서비스 생성 ...................................................................................... 6595단계: AWS CodeDeploy 리소스 생성 ................................................................................ 6606단계: CodeDeploy 배포 생성 및 모니터링 .......................................................................... 6627단계: 정리 .................................................................................................................... 664

    자습서: Amazon ECS CloudWatch 이벤트 수신 대기 .................................................................... 665필수 조건: 테스트 클러스터 설정 ....................................................................................... 6661단계: Lambda 함수 생성 ................................................................................................. 6662단계: 이벤트 규칙 등록 ................................................................................................... 6663단계: 규칙 테스트 .......................................................................................................... 667

    자습서: 작업 중지 이벤트에 대한 Amazon Simple Notification Service 알림 전송 ................................ 667필수 조건: 테스트 클러스터 설정 ....................................................................................... 6671단계: Amazon SNS 주제 생성 및 구독 .............................................................................. 6672단계: 이벤트 규칙 등록 ................................................................................................... 6683단계: 규칙 테스트 .......................................................................................................... 668

    자습서: Amazon EFS 사용 ....................................................................................................... 6691단계: Amazon ECS 클러스터 생성 ................................................................................... 6702단계: Amazon EFS 파일 시스템의 보안 그룹 생성 .............................................................. 6713단계: Amazon EFS 파일 시스템 생성 ............................................................................... 6714단계: Amazon EFS 파일 시스템에 콘텐츠 추가 .................................................................. 6725단계: 작업 정의 생성 ...................................................................................................... 6736단계: 작업 실행 및 결과 보기 .......................................................................................... 674

    문제 해결 ....................................................................................................................................... 675오류로 인해 중지된 작업 확인 ................................................................................................... 675CannotPullContainer 작업 오류 .................................................................................................. 677

    API 버전 2014-11-13xi

  • Amazon Elastic Container Service 개발자 안내서

    서비스 이벤트 메시지 .............................................................................................................. 679서비스 이벤트 메시지 ...................................................................................................... 679

    잘못 지정된 CPU 또는 메모리 값 .............................................................................................. 682CannotCreateContainerError: API error (500): devmapper ........................................ 683서비스 로드 밸런서 문제 해결 ................................................................................................... 683도커 디버그 출력 활성화 .......................................................................................................... 685Amazon ECS 로그 파일 위치 .................................................................................................... 686

    Amazon ECS 컨테이너 에이전트 로그 ................................................................................ 686Amazon ECS ecs-init 로그 ........................................................................................... 688작업 자격 증명 감사 로그를 위한 IAM 역할 ......................................................................... 688

    Amazon ECS 로그 수집기 ........................................................................................................ 689에이전트 내부 검사 진단 .......................................................................................................... 690도커 진단 ............................................................................................................................... 691

    도커 컨테이너 나열 ......................................................................................................... 692도커 로그 보기 ................................................................................................................ 692도커 컨테이너 검사 ......................................................................................................... 693

    API 오류 메시지 ...................................................................................................................... 694작업에 대한 IAM 역할 문제 해결 ............................................................................................... 695

    Windows 컨테이너 .......................................................................................................................... 698Windows 컨테이너 경고 ........................................................................................................... 698Windows 컨테이너 시작하기 ..................................................................................................... 699

    1단계: Windows 클러스터 생성 ......................................................................................... 6992단계: Windows 작업 정의 등록 ........................................................................................ 7013단계: 작업 정의를 사용하여 서비스 생성 ........................................................................... 7024단계: 서비스 보기 .......................................................................................................... 702

    Windows 작업 정의 ................................................................................................................. 703Windows 작업 정의 파라미터 ............................................................................................ 703Windows 샘플 작업 정의 .................................................................................................. 705

    작업을 위한 Windows IAM 역할 ................................................................................................ 706작업 컨테이너 부트스트랩 스크립트를 위한 IAM 역할 ........................................................... 706

    Windows 이미지를 Amazon ECR로 푸시 .................................................................................... 707Windows 컨테이너에 gMSA 사용하기 ......................................................................................... 708

    고려 사항 ....................................................................................................................... 708사전 조건 ....................................................................................................................... 708Amazon ECS에서 gMSA 지원 Windows 컨테이너 설정 ......................................................... 709

    문서 이력 ....................................................................................................................................... 712AWS Glossary ................................................................................................................................ 731

    API 버전 2014-11-13xii

  • Amazon Elastic Container Service 개발자 안내서Amazon ECS의 기능

    Amazon Elastic Container Service란무엇입니까?

    Amazon Elastic Container Service(Amazon ECS)는 클러스터에서 도커 컨테이너를 손쉽게 실행, 중지 및관리할 수 있게 해주는 컨테이너 관리 서비스로서 확장성과 속도가 뛰어납니다. Amazon ECS 시작 유형을 사용하는 서비스 또는 작업을 시작하여 Fargate에서 관리하는 서버를 사용하지 않는 인프라에서 클러스터를 호스팅할 수 있습니다. 인프라에 대한 더 세부적인 제어를 위해 EC2 시작 유형을 사용하여 관리하는Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 클러스터에서 작업을 호스팅할 수 있습니다. 시작 유형에 대한 자세한 내용은 Amazon ECS 시작 유형 (p. 95) 단원을 참조하십시오.

    Amazon ECS에서는 간단한 API 호출을 사용하여 컨테이너 기반 애플리케이션을 시작 및 중지할 수 있고 중앙 집중식 서비스를 사용하여 클러스터 상태를 확인할 수 있으며 다수의 친숙한 Amazon EC2 기능에 액세스할 수 있습니다.

    Amazon ECS를 사용하여 리소스 요구 사항, 격리 정책 및 가용성 요구 사항을 기반으로 클러스터에서의 컨테이너 배치를 예약할 수 있습니다. Amazon ECS를 사용하면 사용자가 자체 클러스터 관리 및 구성 관리 시스템을 운영하거나 관리 인프라 조정에 신경 쓸 필요가 없습니다.

    Amazon ECS를 사용하면 일관된 배포 및 구축 환경을 생성하고, 배치 및 ETL(Extract-Transform-Load) 워크로드를 관리 및 크기 조정하고, 마이크로 서비스 모델에 정교한 애플리케이션 아키텍처를 구축할 수 있습니다. Amazon ECS 사용 사례 및 시나리오에 대한 자세한 내용은 컨테이너 사용 사례를 참조하십시오.

    또한 AWS Elastic Beanstalk을 사용하면 애플리케이션 인프라의 다른 구성 요소와 연동하여 도커 컨테이너를 신속하게 개발, 테스트 및 배포할 수 있습니다. 다만 Amazon ECS를 직접 사용하면 보다 세부적인 제어가 가능하며 더 다양한 사용 사례를 이용할 수 있습니다. 자세한 내용은 AWS Elastic Beanstalk 개발자 안내서를 참조하십시오.

    AWS 컨테이너 서비스 팀은 GitHub에 대한 퍼블릭 로드맵을 유지 관리합니다. 여기에는 팀이 수행하는 작업에 대한 정보가 포함되어 있으며 모든 AWS 고객이 직접 피드백을 제공할 수 있습니다. 자세한 내용은 AWS컨테이너 로드맵을 참조하십시오.

    Amazon ECS의 기능Amazon ECS는 특정 리전 내의 여러 가용 영역에 걸쳐 고가용성 방식으로 애플리케이션 컨테이너를 실행하는 과정을 간소화하는 리전 서비스입니다. 새 또는 기존의 VPC에서 Amazon ECS 클러스터를 생성할 수 있습니다. 클러스터를 실행한 후 클러스터 사이에서 실행할 도커 컨테이너 이미지를 지정하는 작업 정의 및 서비스를 정의할 수 있습니다. 컨테이너 이미지는 컨테이너 레지스트리에서 저장 및 pull됩니다. 레지스트리는인프라 내부 또는 외부에 존재할 수 있습니다.

    다음 다이어그램은 Fargate 시작 유형을 사용하는 Amazon ECS 환경의 아키텍처를 나타낸 것입니다.

    API 버전 2014-11-131

    http://aws.amazon.com/containers/https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https://github.com/aws/containers-roadmaphttps://github.com/aws/containers-roadmap

  • Amazon Elastic Container Service 개발자 안내서컨테이너 및 이미지

    다음 단원에서는 Amazon ECS 아키텍처의 개별 요소에 대해 보다 자세히 알아봅니다.

    컨테이너 및 이미지Amazon ECS에서 애플리케이션을 배포하려면 애플리케이션 구성 요소가 컨테이너에서 실행되도록 구축되어야 합니다. 도커 컨테이너는 소프트웨어 애플리케이션이 필요한 모든 것(코드, 런타임, 시스템 도구, 시스템 라이브러리 등)을 포함하는, 소프트웨어 개발의 표준화된 단위입니다. 컨테이너는 이미지라고 하는 읽기전용 템플릿에서 생성됩니다.

    일반적으로 이미지는 컨테이너에 포함되는 모든 구성 요소를 지정하는 일반 텍스트 파일인 Dockerfile로부터빌드됩니다. 그런 다음 이 이미지는 레지스트리에 저장되어 여기로부터 다운로드되거나 클러스터에서 실행

    API 버전 2014-11-132

  • Amazon Elastic Container Service 개발자 안내서작업 정의

    될 수 있습니다. 컨테이너 기술에 대한 자세한 내용은 Amazon ECS의 Docker 기본 사항 (p. 14) 단원을 참조하십시오.

    작업 정의애플리케이션이 Amazon ECS에서 실행되도록 준비하려면 작업 정의를 생성합니다. 작업 정의는 애플리케이션을 구성하는 하나 이상(최대 10개)의 컨테이너를 설명하는 JSON 형식의 텍스트 파일입니다. 작업 정의를 애플리케이션의 청사진으로 생각할 수 있습니다. 작업 정의는 애플리케이션에 다양한 파라미터를 지정합니다. 작업 정의 파라미터 예제는 사용할 컨테이너, 사용할 시작 유형, 애플리케이션을 위해 개방할 포트, 작업의 컨테이너에 사용할 데이터 볼륨 등입니다. 작업 정의에 사용할 수 있는 특정 파라미터는 사용 중인 시작유형에 따라 달라집니다. 작업 정의 생성에 대한 자세한 내용은 Amazon ECS 작업 정의 (p. 50) 단원을 참조하십시오.

    다음은 Fargate 시작 유형을 사용하는 NGINX 웹 서버를 실행하는 단일 컨테이너가 포함된 작업 정의의 예제입니다. 작업 정의에서 여러 컨테이너를 사용하는 확대된 예제는 예제 작업 정의 (p. 151) 단원을 참조하십시오.

    { "family": "webserver", "containerDefinitions": [ { "name": "web", "image": "nginx", "memory": "100", "cpu": "99" }, ], "requiresCompatibilities": [ "FARGATE" ], "networkMode": "awsvpc", "memory": "512", "cpu": "256",}

    작업 및 예약작업은 클러스터 내 작업 정의를 인스턴스화하는 것입니다. Amazon ECS에서 애플리케이션에 대한 작업 정의를 생성하면 클러스터에서 실행할 작업 수를 지정할 수 있습니다.

    Fargate 시작 유형을 사용하는 각 작업은 자체 격리 경계를 포함하며 기본 커널, CPU 리소스, 메모리 리소스또는 탄력적 네트워크 인터페이스를 다른 작업과 공유하지 않습니다.

    API 버전 2014-11-133

  • Amazon Elastic Container Service 개발자 안내서클러스터

    Amazon ECS 작업 스케줄러는 클러스터 내에 작업을 배치하는 일을 맡습니다. 다양한 예약 옵션을 사용할수 있습니다. 예를 들어 지정된 개수의 작업을 동시에 실행 및 관리하는 서비스를 지정할 수 있습니다. 사용가능한 다양한 예약 옵션에 대한 자세한 내용은 Amazon ECS 작업 예약 (p. 289) 단원을 참조하십시오.

    클러스터Amazon ECS를 사용하여 작업을 실행하면 리소스의 논리적 그룹인 클러스터에 작업을 배치하는 것입니다.해당 클러스터 내 작업에서 Fargate 시작 유형을 사용하는 경우, Amazon ECS에서 클러스터 리소스를 관리합니다. EC2 시작 유형을 사용하면 클러스터는 사용자가 관리하는 컨테이너 인스턴스의 그룹이 됩니다.Amazon ECS 컨테이너 인스턴스는 Amazon ECS 컨테이너 에이전트를 실행하는 Amazon EC2 인스턴스입니다. Amazon ECS는 사용자가 지정하는 레지스트리에서 컨테이너 이미지를 다운로드하여 그 이미지를 클러스터 내에서 실행합니다.

    클러스터 생성에 관한 자세한 내용은 Amazon ECS 클러스터 (p. 35) 단원을 참조하십시오. EC2 시작 유형을 사용하고 있다면 Amazon ECS 컨테이너 인스턴스 (p. 163)에서 컨테이너 인스턴스 생성에 대한 내용을 읽을 수 있습니다.

    컨테이너 에이전트컨테이너 에이전트는 Amazon ECS 클러스터의 각 인프라 리소스에서 실행됩니다. 컨테이너 에이전트는리소스에서 현재 실행 중인 작업과 리소스 사용률에 대한 정보를 Amazon ECS에 전송하고 Amazon ECS로부터 요청을 수신할 때마다 작업을 시작 또는 중지합니다. 자세한 내용은 Amazon ECS 컨테이너 에이전트 (p. 224) 단원을 참조하십시오.

    API 버전 2014-11-134

  • Amazon Elastic Container Service 개발자 안내서처음으로 Amazon ECS 사용하기

    처음으로 Amazon ECS 사용하기Amazon ECS를 처음 사용하는 경우, Amazon ECS용 AWS Management 콘솔이 웹 서버용 작업 정의를 정의하고 서비스를 구성하며 첫 번째 Fargate 작업을 시작하는 과정을 단계별로 안내하는 처음 실행 마법사를제공합니다. Amazon ECS에 대한 사전 경험이 없는 사용자는 처음 실행 마법사를 사용하는 것이 가장 좋습니다. 자세한 내용은 Fargate를 사용하여 Amazon ECS 시작하기 (p. 21) 자습서를 참조하십시오.

    또는 AWS Command Line Interface(AWS CLI)를 설치하여 Amazon ECS를 사용할 수 있습니다. 자세한 내용은 Amazon ECS로 설정 (p. 7) 단원을 참조하십시오.

    관련 서비스Amazon ECS는 다음과 같은 AWS 서비스와 함께 사용할 수 있습니다.

    AWS Identity and Access Management

    IAM은 사용자를 위해 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스입니다. IAM을사용하여 AWS 리소스를 사용할 수 있는 사람을 제어(인증)하고 이들이 사용할 수 있는 리소스 및 그 사용 방법을 제어(권한 부여)합니다. Amazon ECS에서 IAM은 IAM 역할을 사용하는 컨테이너 인스턴스 레벨에서 그리고 IAM 작업 역할을 사용하는 작업 레벨에서 액세스를 제어하는 데 사용할 수 있습니다. 자세한 내용은 Amazon Elastic Container Service에 대한 Identity and Access Management (p. 415) 단원을 참조하십시오.

    Amazon EC2 Auto Scaling

    Auto Scaling는 사용자 정의 정책, 상태 확인 및 일정에 따라 작업의 규모를 자동으로 늘리거나 줄일 수있게 해주는 웹 서비스입니다. 서비스 내 Fargate 작업과 함께 Auto Scaling를 사용하여 여러 가지 지표

    API 버전 2014-11-135

  • Amazon Elastic Container Service 개발자 안내서Amazon ECS에 액세스

    에 대응해 규모를 조정하거나 EC2 작업을 함께 사용하여 클러스터 내 컨테이너 인스턴스의 규모를 조정할 수 있습니다. 자세한 내용은 서비스 자동 조정 (p. 366) 단원을 참조하십시오.

    Elastic Load Balancing

    Elastic Load Balancing에서는 애플리케이션의 수신 트래픽을 Amazon ECS 서비스의 여러 작업에 걸쳐자동으로 분산합니다. 따라서 애플리케이션의 내결함성 수준을 크게 높이고, 애플리케이션 트래픽을 배포하는 데 필요한 로드 밸런싱 용량을 원활하게 제공할 수 있습니다. Elastic Load Balancing를 사용하여클러스터의 서비스 사이에서 트래픽을 밸런싱하는 엔드포인트를 생성할 수 있습니다. 자세한 내용은 서비스 로드 밸런싱 (p. 348) 단원을 참조하십시오.

    Amazon Elastic Container Registry

    Amazon ECR은 안전하고 확장 가능하고 신뢰할 수 있는 관리형 AWS 도커 레지스트리 서비스입니다.Amazon ECR은 IAM을 사용하여 리소스 기반 권한으로 프라이빗 도커 리포지토리를 지원하므로 특정사용자나 작업은 리포지토리 및 이미지에 액세스할 수 있습니다. 개발자는 Docker CLI를 사용하여 이미지를 푸시, 가져오기 및 관리할 수 있습니다. 자세한 내용은 Amazon Elastic Container Registry 사용 설명서 단원을 참조하십시오.

    AWS CloudFormation

    AWS CloudFormation을 통해 개발자와 시스템 관리자는 쉽게 관련 AWS 리소스 모음을 생성 및 관리하고 순서에 따라 예측 가능한 방식으로 프로비저닝하고 업데이트할 수 있습니다. 클러스터, 작업 정의 및 서비스를 AWS CloudFormation 스크립트의 엔터티로 정의할 수 있습니다. 자세한