Fargate에서 Amazon ECS 컨테이너의 디스크 공간을 늘리려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2022년 1월 29일

AWS Fargate의 Amazon Elastic Container Service(Amazon ECS) 컨테이너에 대한 디스크 공간을 늘리려고 합니다.

간략한 설명

기본적으로 플랫폼 버전 1.40으로 시작되는 Fargate 태스크에는 단일 임시 볼륨으로 20GiB 크기의 태스크 스토리지가 포함됩니다. 20GiB보다 큰 스토리지가 필요한 경우 다음 두 가지 옵션을 사용하여 추가 스토리지를 구성할 수 있습니다.

  • 최대 200GiB의 스토리지에 대해서는 Fargate의 임시 스토리지 옵션을 사용합니다. 임시 스토리지는 비영구 스토리지입니다.
  • 확장 가능한 파일 스토리지에 대해서는 Amazon Elastic File System(Amazon EFS) 볼륨을 사용합니다. Amazon EFS 볼륨은 영구 스토리지를 제공합니다.

중요: Amazon EFS 볼륨을 생성할 때 Fargate 서비스에 할당된 것과 동일한 Amazon Virtual Private Cloud(Amazon VPC) 및 서브넷을 사용합니다.

해결 방법

임시 스토리지 구성

  1. Amazon ECS 콘솔에 액세스합니다.
  2. 새 태스크 정의를 생성하거나 기존 태스크 정의를 편집합니다.
  3. 볼륨(Volumes)에서 JSON을 통해 구성(Configure via JSON)을 선택합니다.
  4. 태스크 정의 JSON에서는 ephemeralStorage 객체를 정의합니다. sizeInGiB21에서 200 사이의 정수여야 합니다. 예를 들면 다음과 같습니다.
"ephemeralStorage": {    "sizeInGiB": integer}

참고: integer를 필요한 스토리지 크기(GiB)로 바꿉니다. 임시 스토리지 구성에 대한 더 많은 예제는 바인드 탑재 예제를 참조하세요.

Amazon EFS 볼륨을 사용하여 스토리지 구성

  1. Amazon EFS 탑재 대상에 대한 보안 그룹을 생성합니다. 그런 다음, 소스의 태스크 보안 그룹으로부터 포트 2049의 NFS 트래픽을 수락하는 인바운드 규칙을 추가합니다.
  2. Amazon EFS 파일 시스템을 생성한 다음, 1단계의 보안 그룹을 탑재 대상에 연결합니다.
    참고: 기본적으로 마운트 대상은 지정된 AWS 리전의 각 가용 영역에 구성됩니다. Fargate 서비스에 대한 VPC 서브넷이 있는 모든 가용 영역을 선택합니다.
  3. 파일 시스템의 파일 시스템 ID(예: fs-12345678)를 기록합니다.
  4. Amazon EFS 파일 시스템이 있는 Amazon ECS 태스크의 볼륨을 구성하도록 태스크 정의를 생성 또는 업데이트합니다. 예를 들어, 다음과 같습니다.
>"volumes": [ 
   {
      "name": "efs-test-volume",
      "efsVolumeConfiguration": {
           "fileSystemId": "fs-12345678", 
           "transitEncryption": "ENABLED" 
      }
   } 
 ]

참고: fs-12345678을 파일 시스템 ID로 바꿉니다.

  • 컨테이너 정의 섹션을 사용하여 컨테이너 내부의 볼륨에 대한 탑재 지점을 생성합니다. 예를 들어, 다음과 같습니다.
  • "containerDefinitions": [ 
    {
       "memory": 128, 
        "portMappings": [ 
           {
              "hostPort": 80, 
              "containerPort": 80, 
               "protocol": "tcp" 
            } 
         ], 
         "essential": true, 
         "mountPoints": [ 
            {
            "containerPath": "/mount/path/inside/container", 
            "sourceVolume": "efs-test-volume" 
            } 
          ], 
          "name": "nginx", 
          "image": "nginx" 
       }
    ]
    참고: containerPath는 볼륨을 마운트하는 컨테이너 내 경로입니다. sourceVolume은 4단계에서 정의한 볼륨과 이름이 같아야 합니다.
  • 업데이트된 태스크 정의를 사용하여 태스크를 실행합니다. 참고: 서비스와 연결된 태스크의 경우 새 태스크 정의 개정을 선택하여 서비스를 업데이트합니다.

  • 이 문서가 도움이 되었나요?


    결제 또는 기술 지원이 필요하세요?