AWSTemplateFormatVersion: 2010-09-09 Resources: CloudMap: Properties: Description: Service Map for Docker Compose project TestSimpleConvert Name: TestSimpleConvert.local Vpc: vpc-123 Type: AWS::ServiceDiscovery::PrivateDnsNamespace Cluster: Properties: ClusterName: TestSimpleConvert Tags: - Key: com.docker.compose.project Value: TestSimpleConvert Type: AWS::ECS::Cluster Default80Ingress: Properties: CidrIp: 0.0.0.0/0 Description: simple:80/tcp on default network FromPort: 80 GroupId: Ref: DefaultNetwork IpProtocol: TCP ToPort: 80 Type: AWS::EC2::SecurityGroupIngress DefaultNetwork: Properties: GroupDescription: TestSimpleConvert Security Group for default network Tags: - Key: com.docker.compose.project Value: TestSimpleConvert - Key: com.docker.compose.network Value: TestSimpleConvert_default VpcId: vpc-123 Type: AWS::EC2::SecurityGroup DefaultNetworkIngress: Properties: Description: Allow communication within network default GroupId: Ref: DefaultNetwork IpProtocol: "-1" SourceSecurityGroupId: Ref: DefaultNetwork Type: AWS::EC2::SecurityGroupIngress LoadBalancer: Properties: Scheme: internet-facing SecurityGroups: - Ref: DefaultNetwork Subnets: - subnet1 - subnet2 Tags: - Key: com.docker.compose.project Value: TestSimpleConvert Type: application Type: AWS::ElasticLoadBalancingV2::LoadBalancer LogGroup: Properties: LogGroupName: /docker-compose/TestSimpleConvert Type: AWS::Logs::LogGroup SimpleService: DependsOn: - SimpleTCP80Listener Properties: Cluster: Fn::GetAtt: - Cluster - Arn DeploymentConfiguration: MaximumPercent: 200 MinimumHealthyPercent: 100 DeploymentController: Type: ECS DesiredCount: 1 LaunchType: FARGATE LoadBalancers: - ContainerName: simple ContainerPort: 80 TargetGroupArn: Ref: SimpleTCP80TargetGroup NetworkConfiguration: AwsvpcConfiguration: AssignPublicIp: ENABLED SecurityGroups: - Ref: DefaultNetwork Subnets: - subnet1 - subnet2 PlatformVersion: 1.4.0 PropagateTags: SERVICE SchedulingStrategy: REPLICA ServiceRegistries: - RegistryArn: Fn::GetAtt: - SimpleServiceDiscoveryEntry - Arn Tags: - Key: com.docker.compose.project Value: TestSimpleConvert - Key: com.docker.compose.service Value: simple TaskDefinition: Ref: SimpleTaskDefinition Type: AWS::ECS::Service SimpleServiceDiscoveryEntry: Properties: Description: '"simple" service discovery entry in Cloud Map' DnsConfig: DnsRecords: - TTL: 60 Type: A RoutingPolicy: MULTIVALUE HealthCheckCustomConfig: FailureThreshold: 1 Name: simple NamespaceId: Ref: CloudMap Type: AWS::ServiceDiscovery::Service SimpleTCP80Listener: Properties: DefaultActions: - ForwardConfig: TargetGroups: - TargetGroupArn: Ref: SimpleTCP80TargetGroup Type: forward LoadBalancerArn: Ref: LoadBalancer Port: 80 Protocol: HTTP Type: AWS::ElasticLoadBalancingV2::Listener SimpleTCP80TargetGroup: Properties: Port: 80 Protocol: HTTP Tags: - Key: com.docker.compose.project Value: TestSimpleConvert TargetType: ip VpcId: vpc-123 Type: AWS::ElasticLoadBalancingV2::TargetGroup SimpleTaskDefinition: Properties: ContainerDefinitions: - Command: - .compute.internal - TestSimpleConvert.local Essential: false Image: docker/ecs-searchdomain-sidecar:1.0 LogConfiguration: LogDriver: awslogs Options: awslogs-group: Ref: LogGroup awslogs-region: Ref: AWS::Region awslogs-stream-prefix: TestSimpleConvert Name: Simple_ResolvConf_InitContainer - DependsOn: - Condition: SUCCESS ContainerName: Simple_ResolvConf_InitContainer Essential: true Image: nginx LinuxParameters: {} LogConfiguration: LogDriver: awslogs Options: awslogs-group: Ref: LogGroup awslogs-region: Ref: AWS::Region awslogs-stream-prefix: TestSimpleConvert Name: simple PortMappings: - ContainerPort: 80 HostPort: 80 Protocol: tcp Cpu: "256" ExecutionRoleArn: Ref: SimpleTaskExecutionRole Family: TestSimpleConvert-simple Memory: "512" NetworkMode: awsvpc RequiresCompatibilities: - FARGATE Type: AWS::ECS::TaskDefinition SimpleTaskExecutionRole: Properties: AssumeRolePolicyDocument: Statement: - Action: - sts:AssumeRole Condition: {} Effect: Allow Principal: Service: ecs-tasks.amazonaws.com Version: 2012-10-17 ManagedPolicyArns: - arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly Tags: - Key: com.docker.compose.project Value: TestSimpleConvert - Key: com.docker.compose.service Value: simple Type: AWS::IAM::Role