在AWS ECS更新服务时,如果不希望清除Mongo容器,可以通过以下解决方法来实现:
Resources:
ECSFargateService:
Type: AWS::ECS::Service
Properties:
Cluster: !Ref ECSCluster
DesiredCount: !Ref DesiredCount
LaunchType: FARGATE
TaskDefinition: !Ref ECSTaskDefinition
ECSTaskDefinition:
Type: AWS::ECS::TaskDefinition
Properties:
Family: !Ref TaskFamily
Cpu: !Ref TaskCpu
Memory: !Ref TaskMemory
NetworkMode: awsvpc
ExecutionRoleArn: !Ref ExecutionRoleArn
TaskRoleArn: !Ref TaskRoleArn
RequiresCompatibilities:
- FARGATE
ContainerDefinitions:
- Name: mongodb
Image: mongo
...
ECSCluster:
Type: AWS::ECS::Cluster
...
import boto3
client = boto3.client('ecs')
response = client.update_service(
cluster='my-cluster',
service='my-service',
forceNewDeployment=True
)
通过以上两种方法,更新服务时不会清除Mongo容器,而是创建一个新的任务,并将新的Task Definition与该任务关联。这样可以确保Mongo容器的持久性。
上一篇:AWS ECS 服务安全
下一篇:AWS ECS 环境属性