|
|
@@ -1,332 +1,208 @@
|
|
|
-{
|
|
|
- "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": "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"
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
+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: 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
|
|
|
+
|