Amazon ECS 작업 정의에서 볼륨 구성을 시작 시간으로 연기
작업에 연결하도록 Amazon EBS 볼륨을 구성하려면 작업 정의에 탑재 지점 구성을 지정하고 볼륨 이름을 지정해야 합니다. 또한 작업 정의에서 연결하도록 Amazon EBS 볼륨을 구성할 수 없으므로 configuredAtLaunch
를 true
로 설정해야 합니다. 대신 Amazon EBS 볼륨은 배포 중에 연결하도록 구성됩니다.
AWS Command Line Interface(AWS CLI)를 사용하여 작업 정의를 등록하려면 템플릿을 JSON 파일로 저장하고, 파일을 register-task-definition
명령의 입력으로 전달합니다.
AWS Management Console을 사용하여 작업 정의를 생성하고 등록하려면 콘솔을 사용하여 Amazon ECS 작업 정의 생성 섹션을 참조하세요.
다음 작업 정의는 작업 정의에서 mountPoints
및 volumes
객체의 구문을 표시합니다. 작업 정의 파라미터에 대한 자세한 내용은 Fargate 시작 유형에 대한 Amazon ECS 태스크 정의 파라미터 섹션을 참조하세요. 이 예제를 사용하려면
를 사용자의 정보로 대체합니다.user input placeholders
{ "family":
"mytaskdef"
, "containerDefinitions": [ { "name": "nginx
", "image": "public.ecr.aws/nginx/nginx:latest
", "networkMode": "awsvpc", "portMappings": [ { "name": "nginx-80-tcp
", "containerPort": 80, "hostPort": 80, "protocol": "tcp", "appProtocol": "http" } ], "mountPoints": [ { "sourceVolume": "myEBSVolume
", "containerPath": "/mount/ebs
", "readOnly":true
} ] } ], "volumes": [ { "name": "myEBSVolume
", "configuredAtLaunch": true } ], "requiresCompatibilities": [ "FARGATE", "EC2" ], "cpu": "1024", "memory": "3072", "networkMode": "awsvpc" }
{ "family":
"mytaskdef"
, "memory": "4096", "cpu": "2048", "family": "windows-simple-iis-2019-core", "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole", "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"}, "requiresCompatibilities": ["EC2"] "containerDefinitions": [ { "command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc"], "entryPoint": [ "powershell", "-Command" ], "essential": true, "cpu": 2048, "memory": 4096, "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "name": "sample_windows_app", "portMappings": [ { "hostPort": 443, "containerPort": 80, "protocol": "tcp" } ], "mountPoints": [ { "sourceVolume": "myEBSVolume
", "containerPath": "drive:\ebs
", "readOnly":true
} ] } ], "volumes": [ { "name": "myEBSVolume
", "configuredAtLaunch": true } ], "requiresCompatibilities": [ "FARGATE", "EC2" ], "cpu": "1024", "memory": "3072", "networkMode": "awsvpc" }
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
로 둡니다.
name
-
유형: 문자열
필수 여부: 아니요
볼륨의 이름입니다. 최대 255자의 문자(대문자 및 소문자), 숫자, 하이(
-
) 및 밑줄(_
)이 허용됩니다. 이 이름은 컨테이너 정의mountPoints
객체의sourceVolume
파라미터에서 참조됩니다. configuredAtLaunch
-
유형: 부울
필수: 예. EBS 볼륨을 작업에 직접 연결하려는 경우 필수입니다.
시작 시 볼륨을 구성할 수 있는지 여부를 지정합니다.
true
로 설정하면 독립 실행형 작업을 실행하거나 서비스를 생성 또는 업데이트할 때 볼륨을 구성할 수 있습니다.false
로 설정하면 작업 정의에서 다른 볼륨 구성을 제공할 수 없습니다. Amazon EBS 볼륨을 작업에 연결하도록 구성하려면 이 파라미터를 제공하고true
로 설정해야 합니다.