以下是一个关于ECS蓝绿部署的CloudFormation模板示例:
# Define ECS service and task definition
Resources:
ECSBlueGreenService:
Type: AWS::ECS::Service
Properties:
ServiceName: !Ref ServiceName
Cluster: !Ref ECSCluster
LaunchType: !Ref LaunchType
TaskDefinition: !Ref TaskDefinitionArn
DeploymentController:
Type: CODE_DEPLOY
CodeDeployDeploymentConfig: !Ref CodeDeployDeploymentConfig
DeploymentConfiguration:
MinimumHealthyPercent: 50
MaximumPercent: 200
NetworkConfiguration:
AwsvpcConfiguration:
AssignPublicIp: ENABLED
SecurityGroups:
- !Ref ECSSecurityGroup
Subnets:
- !Ref SubnetIdA
- !Ref SubnetIdB
ECSBlueGreenTaskDefinition:
Type: AWS::ECS::TaskDefinition
Properties:
Family: !Ref TaskFamily
NetworkMode: awsvpc
RequiresCompatibilities:
- !Ref LaunchType
Cpu: !Ref Cpu
Memory: !Ref Memory
ExecutionRoleArn: !Ref TaskExecutionRoleArn
ContainerDefinitions:
- Name: !Ref ContainerName
Image: !Ref Image
Memory: