

# Amazon ECS 작업 정의에서 바인드 탑재 지정
<a name="specify-bind-mount-config"></a>

Fargate 또는 Amazon EC2 인스턴스에 호스팅되는 Amazon ECS 작업의 경우 다음 작업 정의 JSON 코드 조각은 작업 정의에 대한 `volumes`, `mountPoints`, `ephemeralStorage` 객체 구문을 보여줍니다.

```
{
   "family": "",
   ...
   "containerDefinitions" : [
      {
         "mountPoints" : [
            {
               "containerPath" : "{{/path/to/mount_volume}}",
               "sourceVolume" : "{{string}}"
            }
          ],
          "name" : "{{string}}"
       }
    ],
    ...
    "volumes" : [
       {
          "name" : "{{string}}"
       }
    ],
    "ephemeralStorage": {
	   "sizeInGiB": {{integer}}
    }
}
```

Amazon EC2 인스턴스에서 호스팅되는 Amazon ECS 태스크의 경우, 태스크 볼륨 세부 정보를 지정할 때 `host` 파라미터 및 `sourcePath`를 선택 항목으로 사용할 수 있습니다. 지정된 경우, 바인드 탑재를 컨테이너가 아닌 태스크의 수명주기에 연결합니다.

```
"volumes" : [
    {
        "host" : {
            "sourcePath" : "{{string}}"
        },
        "name" : "{{string}}"
    }
]
```

다음은 각 태스크 정의 파라미터에 대해 자세한 설명입니다.

`name`  
유형: 문자열  
필수 여부: 아니요  
볼륨의 이름입니다. 최대 255자의 문자(대문자 및 소문자), 숫자, 하이(`-`) 및 밑줄(`_`)이 허용됩니다. 이 이름은 컨테이너 정의 `mountPoints` 객체의 `sourceVolume` 파라미터에서 참조됩니다.

`host`  
필수 여부: 아니요  
`host` 파라미터는 바인드 탑재의 수명 주기를 태스크가 아니라 호스트 Amazon EC2 인스턴스와 연결하는 데 사용합니다. `host` 파라미터가 비어 있으면 Docker 대몬이 데이터 볼륨의 호스트 경로를 할당하지만 해당 볼륨과 연결된 컨테이너가 실행을 중지한 후 데이터 유지가 보장되지 않습니다.  
Windows 컨테이너는 전체 디렉터리를 동일한 드라이브에 `$env:ProgramData`로 마운트할 수 있습니다.  
`sourcePath` 파라미터는 Amazon EC2 인스턴스 또는 Amazon ECS 관리형 인스턴스에 호스팅된 태스크를 사용하는 경우에만 지원됩니다.  
`sourcePath`  
유형: 문자열  
필수 여부: 아니요  
`host` 파라미터가 사용되는 경우 `sourcePath`를 지정하여 컨테이너에 제시되는 호스트 Amazon EC2 인스턴스 상의 경로를 선언합니다. 이 파라미터가 비어 있으면 Docker 대몬이 사용자 대신 호스트 경로를 할당합니다. `host` 파라미터에 `sourcePath` 파일 위치가 들어 있으면, 사용자가 수동으로 삭제하지 않는 한 데이터 볼륨이 호스트 Amazon EC2 인스턴스 상에 지정된 위치를 유지합니다. `sourcePath` 값이 호스트 Amazon EC2 인스턴스에 없을 경우 Docker 대몬이 해당 경로를 생성합니다. 해당 위치가 있을 경우 소스 경로 폴더의 콘텐츠를 내보냅니다.

`mountPoints`  
유형: 객체 배열  
필수 여부: 아니요  
컨테이너에서 데이터 볼륨의 탑재 지점입니다. 이 파라미터는 create-container Docker API의 `Volumes` 및 docker run에 대한 `--volume` 옵션에 매핑됩니다.  
Windows 컨테이너는 전체 디렉터리를 동일한 드라이브에 `$env:ProgramData`로 마운트할 수 있습니다. Windows 컨테이너는 디렉터리를 다른 드라이브에 탑재할 수 없으며, 탑재 지점은 여러 드라이브에 걸쳐 사용할 수 없습니다. Amazon EBS 볼륨을 Amazon ECS 작업에 직접 연결하려면 탑재 지점을 지정해야 합니다.    
`sourceVolume`  
유형: 문자열  
필수 항목 여부: 예(`mountPoints` 사용 시)  
탑재할 볼륨의 이름입니다.  
`containerPath`  
유형: 문자열  
필수 항목 여부: 예(`mountPoints` 사용 시)  
볼륨을 탑재할 컨테이너의 경로입니다.  
`readOnly`  
유형: 부울  
필수 여부: 아니요  
이 값이 `true`일 경우 컨테이너에는 볼륨에 대한 읽기 전용 액세스가 부여됩니다. 이 값이 `false`일 경우 컨테이너는 볼륨에 쓸 수 있습니다. 기본값은 `false`입니다.  
Windows 운영 체제를 실행하는 EC2 인스턴스에서 실행되는 태스크의 경우 값을 기본값인 `false`로 둡니다.

`ephemeralStorage`  
유형: 객체  
필수 여부: 아니요  
태스크에 할당되는 임시 스토리지 용량(GB)입니다. 이 파라미터는 플랫폼 버전 `1.4.0` 이상(Linux) 또는 `1.0.0` 이상(Windows)을 사용하는 AWS Fargate에서 호스팅되는 태스크에 대해 제공되는 임시 스토리지 총량을 기본 용량 이상으로 확장할 때 사용합니다.  
Copilot CLI, CloudFormation,AWS SDK 또는 CLI를 사용하여 바인드 탑재에 대한 임시 스토리지를 지정할 수 있습니다.