Amazon ECS 작업 정의에서 컨테이너 재시작 정책 지정
작업 정의에서 컨테이너의 재시작 정책을 지정하려면 컨테이너 정의 내에서 restartPolicy
객체를 지정하십시오. restartPolicy
객체에 대한 자세한 정보는 재시작 정책 단원을 참조하세요.
다음은 웹 서버를 설정하는 Fargate 시작 유형에서 Linux 컨테이너를 사용하는 태스크 정의입니다. 컨테이너 정의에는 restartPolicy
객체가 포함되며, 컨테이너의 재시작 정책을 활성화하려면 true로 enabled
가 설정됩니다. 컨테이너를 180초 동안 실행해야 다시 시작할 수 있으며, 성공했음을 나타내는 종료 코드 0
과 함께 종료되면 다시 시작되지 않습니다.
{ "containerDefinitions": [ { "command": [ "/bin/sh -c \"echo '<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> </div></body></html>' > /usr/local/apache2/htdocs/index.html && httpd-foreground\"" ], "entryPoint": ["sh", "-c"], "essential": true, "image": "httpd:2.4", "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/fargate-task-definition", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" } }, "name": "sample-fargate-app", "portMappings": [ { "containerPort": 80, "hostPort": 80, "protocol": "tcp" } ], "restartPolicy": { "enabled": true, "ignoredExitCodes":
[0]
, "restartAttemptPeriod":180
} } ], "cpu": "256", "executionRoleArn": "arn:aws:iam::012345678910
:role/ecsTaskExecutionRole", "family": "fargate-task-definition", "memory": "512", "networkMode": "awsvpc", "runtimePlatform": { "operatingSystemFamily": "LINUX" }, "requiresCompatibilities": ["FARGATE"] }
컨테이너 정의에서 restartPolicy
객체로 작업 정의를 등록한 후 해당 작업 정의를 사용하여 작업을 실행하거나 서비스를 생성할 수 있습니다. 자세한 내용은 애플리케이션을 Amazon ECS 태스크로 실행 및 콘솔을 사용하여 Amazon ECS 서비스 생성 단원을 참조하세요.