Amazon ECS 작업 정의에서 컨테이너 재시작 정책 지정 - Amazon Elastic Container Service

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 서비스 생성 단원을 참조하세요.