| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328 |
- {
- "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 nextwork",
- "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": {
- "Ref": "Cluster"
- },
- "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",
- "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"
- ],
- "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"
- }
- }
- }
|