{ "Resources": { "VPCB9E5F0B4": { "Type": "AWS::EC2::VPC", "Properties": { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC" } ] } }, "VPCPublicSubnet1SubnetB4246D30": { "Type": "AWS::EC2::Subnet", "Properties": { "CidrBlock": "10.0.0.0/19", "VpcId": { "Ref": "VPCB9E5F0B4" }, "AvailabilityZone": "test-region-1a", "MapPublicIpOnLaunch": true, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PublicSubnet1" }, { "Key": "aws-cdk:subnet-name", "Value": "Public" }, { "Key": "aws-cdk:subnet-type", "Value": "Public" } ] } }, "VPCPublicSubnet1RouteTableFEE4B781": { "Type": "AWS::EC2::RouteTable", "Properties": { "VpcId": { "Ref": "VPCB9E5F0B4" }, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PublicSubnet1" } ] } }, "VPCPublicSubnet1RouteTableAssociation0B0896DC": { "Type": "AWS::EC2::SubnetRouteTableAssociation", "Properties": { "RouteTableId": { "Ref": "VPCPublicSubnet1RouteTableFEE4B781" }, "SubnetId": { "Ref": "VPCPublicSubnet1SubnetB4246D30" } } }, "VPCPublicSubnet1DefaultRoute91CEF279": { "Type": "AWS::EC2::Route", "Properties": { "RouteTableId": { "Ref": "VPCPublicSubnet1RouteTableFEE4B781" }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "VPCIGWB7E252D3" } }, "DependsOn": [ "VPCVPCGW99B986DC" ] }, "VPCPublicSubnet1EIP6AD938E8": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } }, "VPCPublicSubnet1NATGatewayE0556630": { "Type": "AWS::EC2::NatGateway", "Properties": { "AllocationId": { "Fn::GetAtt": [ "VPCPublicSubnet1EIP6AD938E8", "AllocationId" ] }, "SubnetId": { "Ref": "VPCPublicSubnet1SubnetB4246D30" }, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PublicSubnet1" } ] } }, "VPCPublicSubnet2Subnet74179F39": { "Type": "AWS::EC2::Subnet", "Properties": { "CidrBlock": "10.0.32.0/19", "VpcId": { "Ref": "VPCB9E5F0B4" }, "AvailabilityZone": "test-region-1b", "MapPublicIpOnLaunch": true, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PublicSubnet2" }, { "Key": "aws-cdk:subnet-name", "Value": "Public" }, { "Key": "aws-cdk:subnet-type", "Value": "Public" } ] } }, "VPCPublicSubnet2RouteTable6F1A15F1": { "Type": "AWS::EC2::RouteTable", "Properties": { "VpcId": { "Ref": "VPCB9E5F0B4" }, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PublicSubnet2" } ] } }, "VPCPublicSubnet2RouteTableAssociation5A808732": { "Type": "AWS::EC2::SubnetRouteTableAssociation", "Properties": { "RouteTableId": { "Ref": "VPCPublicSubnet2RouteTable6F1A15F1" }, "SubnetId": { "Ref": "VPCPublicSubnet2Subnet74179F39" } } }, "VPCPublicSubnet2DefaultRouteB7481BBA": { "Type": "AWS::EC2::Route", "Properties": { "RouteTableId": { "Ref": "VPCPublicSubnet2RouteTable6F1A15F1" }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "VPCIGWB7E252D3" } }, "DependsOn": [ "VPCVPCGW99B986DC" ] }, "VPCPublicSubnet2EIP4947BC00": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } }, "VPCPublicSubnet2NATGateway3C070193": { "Type": "AWS::EC2::NatGateway", "Properties": { "AllocationId": { "Fn::GetAtt": [ "VPCPublicSubnet2EIP4947BC00", "AllocationId" ] }, "SubnetId": { "Ref": "VPCPublicSubnet2Subnet74179F39" }, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PublicSubnet2" } ] } }, "VPCPublicSubnet3Subnet631C5E25": { "Type": "AWS::EC2::Subnet", "Properties": { "CidrBlock": "10.0.64.0/19", "VpcId": { "Ref": "VPCB9E5F0B4" }, "AvailabilityZone": "test-region-1c", "MapPublicIpOnLaunch": true, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PublicSubnet3" }, { "Key": "aws-cdk:subnet-name", "Value": "Public" }, { "Key": "aws-cdk:subnet-type", "Value": "Public" } ] } }, "VPCPublicSubnet3RouteTable98AE0E14": { "Type": "AWS::EC2::RouteTable", "Properties": { "VpcId": { "Ref": "VPCB9E5F0B4" }, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PublicSubnet3" } ] } }, "VPCPublicSubnet3RouteTableAssociation427FE0C6": { "Type": "AWS::EC2::SubnetRouteTableAssociation", "Properties": { "RouteTableId": { "Ref": "VPCPublicSubnet3RouteTable98AE0E14" }, "SubnetId": { "Ref": "VPCPublicSubnet3Subnet631C5E25" } } }, "VPCPublicSubnet3DefaultRouteA0D29D46": { "Type": "AWS::EC2::Route", "Properties": { "RouteTableId": { "Ref": "VPCPublicSubnet3RouteTable98AE0E14" }, "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": { "Ref": "VPCIGWB7E252D3" } }, "DependsOn": [ "VPCVPCGW99B986DC" ] }, "VPCPublicSubnet3EIPAD4BC883": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } }, "VPCPublicSubnet3NATGatewayD3048F5C": { "Type": "AWS::EC2::NatGateway", "Properties": { "AllocationId": { "Fn::GetAtt": [ "VPCPublicSubnet3EIPAD4BC883", "AllocationId" ] }, "SubnetId": { "Ref": "VPCPublicSubnet3Subnet631C5E25" }, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PublicSubnet3" } ] } }, "VPCPrivateSubnet1Subnet8BCA10E0": { "Type": "AWS::EC2::Subnet", "Properties": { "CidrBlock": "10.0.96.0/19", "VpcId": { "Ref": "VPCB9E5F0B4" }, "AvailabilityZone": "test-region-1a", "MapPublicIpOnLaunch": false, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PrivateSubnet1" }, { "Key": "aws-cdk:subnet-name", "Value": "Private" }, { "Key": "aws-cdk:subnet-type", "Value": "Private" }, { "Key": "kubernetes.io/role/internal-elb", "Value": "1" } ] } }, "VPCPrivateSubnet1RouteTableBE8A6027": { "Type": "AWS::EC2::RouteTable", "Properties": { "VpcId": { "Ref": "VPCB9E5F0B4" }, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PrivateSubnet1" }, { "Key": "kubernetes.io/role/internal-elb", "Value": "1" } ] } }, "VPCPrivateSubnet1RouteTableAssociation347902D1": { "Type": "AWS::EC2::SubnetRouteTableAssociation", "Properties": { "RouteTableId": { "Ref": "VPCPrivateSubnet1RouteTableBE8A6027" }, "SubnetId": { "Ref": "VPCPrivateSubnet1Subnet8BCA10E0" } } }, "VPCPrivateSubnet1DefaultRouteAE1D6490": { "Type": "AWS::EC2::Route", "Properties": { "RouteTableId": { "Ref": "VPCPrivateSubnet1RouteTableBE8A6027" }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "VPCPublicSubnet1NATGatewayE0556630" } } }, "VPCPrivateSubnet2SubnetCFCDAA7A": { "Type": "AWS::EC2::Subnet", "Properties": { "CidrBlock": "10.0.128.0/19", "VpcId": { "Ref": "VPCB9E5F0B4" }, "AvailabilityZone": "test-region-1b", "MapPublicIpOnLaunch": false, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PrivateSubnet2" }, { "Key": "aws-cdk:subnet-name", "Value": "Private" }, { "Key": "aws-cdk:subnet-type", "Value": "Private" }, { "Key": "kubernetes.io/role/internal-elb", "Value": "1" } ] } }, "VPCPrivateSubnet2RouteTable0A19E10E": { "Type": "AWS::EC2::RouteTable", "Properties": { "VpcId": { "Ref": "VPCB9E5F0B4" }, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PrivateSubnet2" }, { "Key": "kubernetes.io/role/internal-elb", "Value": "1" } ] } }, "VPCPrivateSubnet2RouteTableAssociation0C73D413": { "Type": "AWS::EC2::SubnetRouteTableAssociation", "Properties": { "RouteTableId": { "Ref": "VPCPrivateSubnet2RouteTable0A19E10E" }, "SubnetId": { "Ref": "VPCPrivateSubnet2SubnetCFCDAA7A" } } }, "VPCPrivateSubnet2DefaultRouteF4F5CFD2": { "Type": "AWS::EC2::Route", "Properties": { "RouteTableId": { "Ref": "VPCPrivateSubnet2RouteTable0A19E10E" }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "VPCPublicSubnet2NATGateway3C070193" } } }, "VPCPrivateSubnet3Subnet3EDCD457": { "Type": "AWS::EC2::Subnet", "Properties": { "CidrBlock": "10.0.160.0/19", "VpcId": { "Ref": "VPCB9E5F0B4" }, "AvailabilityZone": "test-region-1c", "MapPublicIpOnLaunch": false, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PrivateSubnet3" }, { "Key": "aws-cdk:subnet-name", "Value": "Private" }, { "Key": "aws-cdk:subnet-type", "Value": "Private" }, { "Key": "kubernetes.io/role/internal-elb", "Value": "1" } ] } }, "VPCPrivateSubnet3RouteTable192186F8": { "Type": "AWS::EC2::RouteTable", "Properties": { "VpcId": { "Ref": "VPCB9E5F0B4" }, "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC/PrivateSubnet3" }, { "Key": "kubernetes.io/role/internal-elb", "Value": "1" } ] } }, "VPCPrivateSubnet3RouteTableAssociationC28D144E": { "Type": "AWS::EC2::SubnetRouteTableAssociation", "Properties": { "RouteTableId": { "Ref": "VPCPrivateSubnet3RouteTable192186F8" }, "SubnetId": { "Ref": "VPCPrivateSubnet3Subnet3EDCD457" } } }, "VPCPrivateSubnet3DefaultRoute27F311AE": { "Type": "AWS::EC2::Route", "Properties": { "RouteTableId": { "Ref": "VPCPrivateSubnet3RouteTable192186F8" }, "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": { "Ref": "VPCPublicSubnet3NATGatewayD3048F5C" } } }, "VPCIGWB7E252D3": { "Type": "AWS::EC2::InternetGateway", "Properties": { "Tags": [ { "Key": "Name", "Value": "eks-integ-test/VPC" } ] } }, "VPCVPCGW99B986DC": { "Type": "AWS::EC2::VPCGatewayAttachment", "Properties": { "VpcId": { "Ref": "VPCB9E5F0B4" }, "InternetGatewayId": { "Ref": "VPCIGWB7E252D3" } } }, "EKSClusterClusterRoleB72F3251": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" } } ], "Version": "2012-10-17" }, "ManagedPolicyArns": [ { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition" }, ":iam::aws:policy/AmazonEKSClusterPolicy" ] ] }, { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition" }, ":iam::aws:policy/AmazonEKSServicePolicy" ] ] } ] } }, "EKSClusterControlPlaneSecurityGroup580AD1FE": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "GroupDescription": "EKS Control Plane Security Group", "SecurityGroupEgress": [ { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1" } ], "VpcId": { "Ref": "VPCB9E5F0B4" } } }, "EKSClusterControlPlaneSecurityGroupfromeksintegtestEKSClusterNodesInstanceSecurityGroup1F94DB4244376AEF332": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties": { "IpProtocol": "tcp", "Description": "from eksintegtestEKSClusterNodesInstanceSecurityGroup1F94DB42:443", "FromPort": 443, "GroupId": { "Fn::GetAtt": [ "EKSClusterControlPlaneSecurityGroup580AD1FE", "GroupId" ] }, "SourceSecurityGroupId": { "Fn::GetAtt": [ "EKSClusterNodesInstanceSecurityGroup460A275E", "GroupId" ] }, "ToPort": 443 } }, "EKSClusterBA6ECF8F": { "Type": "AWS::EKS::Cluster", "Properties": { "ResourcesVpcConfig": { "SecurityGroupIds": [ { "Fn::GetAtt": [ "EKSClusterControlPlaneSecurityGroup580AD1FE", "GroupId" ] } ], "SubnetIds": [ { "Ref": "VPCPublicSubnet1SubnetB4246D30" }, { "Ref": "VPCPublicSubnet2Subnet74179F39" }, { "Ref": "VPCPublicSubnet3Subnet631C5E25" }, { "Ref": "VPCPrivateSubnet1Subnet8BCA10E0" }, { "Ref": "VPCPrivateSubnet2SubnetCFCDAA7A" }, { "Ref": "VPCPrivateSubnet3Subnet3EDCD457" } ] }, "RoleArn": { "Fn::GetAtt": [ "EKSClusterClusterRoleB72F3251", "Arn" ] } } }, "EKSClusterNodesInstanceSecurityGroup460A275E": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "GroupDescription": "eks-integ-test/EKSCluster/Nodes/InstanceSecurityGroup", "SecurityGroupEgress": [ { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1" } ], "Tags": [ { "Key": "Name", "Value": "eks-integ-test/EKSCluster/Nodes" }, { "Key": { "Fn::Join": [ "", [ "kubernetes.io/cluster/", { "Ref": "EKSClusterBA6ECF8F" } ] ] }, "Value": "owned" } ], "VpcId": { "Ref": "VPCB9E5F0B4" } } }, "EKSClusterNodesInstanceSecurityGroupfromeksintegtestEKSClusterNodesInstanceSecurityGroup1F94DB42ALLTRAFFIC8DF6EC00": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties": { "IpProtocol": "-1", "Description": "from eksintegtestEKSClusterNodesInstanceSecurityGroup1F94DB42:ALL TRAFFIC", "GroupId": { "Fn::GetAtt": [ "EKSClusterNodesInstanceSecurityGroup460A275E", "GroupId" ] }, "SourceSecurityGroupId": { "Fn::GetAtt": [ "EKSClusterNodesInstanceSecurityGroup460A275E", "GroupId" ] } } }, "EKSClusterNodesInstanceSecurityGroupfromeksintegtestEKSClusterControlPlaneSecurityGroup99328DC644383C2D9E9": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties": { "IpProtocol": "tcp", "Description": "from eksintegtestEKSClusterControlPlaneSecurityGroup99328DC6:443", "FromPort": 443, "GroupId": { "Fn::GetAtt": [ "EKSClusterNodesInstanceSecurityGroup460A275E", "GroupId" ] }, "SourceSecurityGroupId": { "Fn::GetAtt": [ "EKSClusterControlPlaneSecurityGroup580AD1FE", "GroupId" ] }, "ToPort": 443 } }, "EKSClusterNodesInstanceSecurityGroupfromeksintegtestEKSClusterControlPlaneSecurityGroup99328DC61025655350D985847": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties": { "IpProtocol": "tcp", "Description": "from eksintegtestEKSClusterControlPlaneSecurityGroup99328DC6:1025-65535", "FromPort": 1025, "GroupId": { "Fn::GetAtt": [ "EKSClusterNodesInstanceSecurityGroup460A275E", "GroupId" ] }, "SourceSecurityGroupId": { "Fn::GetAtt": [ "EKSClusterControlPlaneSecurityGroup580AD1FE", "GroupId" ] }, "ToPort": 65535 } }, "EKSClusterNodesInstanceRoleEE5595D6": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": { "Fn::Join": [ "", [ "ec2.", { "Ref": "AWS::URLSuffix" } ] ] } } } ], "Version": "2012-10-17" }, "ManagedPolicyArns": [ { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition" }, ":iam::aws:policy/AmazonEKSWorkerNodePolicy" ] ] }, { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition" }, ":iam::aws:policy/AmazonEKS_CNI_Policy" ] ] }, { "Fn::Join": [ "", [ "arn:", { "Ref": "AWS::Partition" }, ":iam::aws:policy/AmazonEC2ContainerRegistryReadOnly" ] ] } ], "Tags": [ { "Key":"Name", "Value":"eks-integ-test/EKSCluster/Nodes" }, { "Key": { "Fn::Join": [ "", [ "kubernetes.io/cluster/", { "Ref": "EKSClusterBA6ECF8F" } ] ] }, "Value": "owned" } ] } }, "EKSClusterNodesInstanceProfile0F2DB3B9": { "Type": "AWS::IAM::InstanceProfile", "Properties": { "Roles": [ { "Ref": "EKSClusterNodesInstanceRoleEE5595D6" } ] } }, "EKSClusterNodesLaunchConfig921F1106": { "Type": "AWS::AutoScaling::LaunchConfiguration", "Properties": { "ImageId": { "Ref": "SsmParameterValueawsserviceeksoptimizedami114amazonlinux2recommendedimageidC96584B6F00A464EAD1953AFF4B05118Parameter" }, "InstanceType": "t2.medium", "IamInstanceProfile": { "Ref": "EKSClusterNodesInstanceProfile0F2DB3B9" }, "SecurityGroups": [ { "Fn::GetAtt": [ "EKSClusterNodesInstanceSecurityGroup460A275E", "GroupId" ] } ], "UserData": { "Fn::Base64": { "Fn::Join": [ "", [ "#!/bin/bash\nset -o xtrace\n/etc/eks/bootstrap.sh ", { "Ref": "EKSClusterBA6ECF8F" }, " --kubelet-extra-args \"--node-labels lifecycle=OnDemand\"\n/opt/aws/bin/cfn-signal --exit-code $? --stack eks-integ-test --resource EKSClusterNodesASGC2597E34 --region test-region" ] ] } } }, "DependsOn": [ "EKSClusterNodesInstanceRoleEE5595D6" ] }, "EKSClusterNodesASGC2597E34": { "Type": "AWS::AutoScaling::AutoScalingGroup", "Properties": { "MaxSize": "1", "MinSize": "1", "DesiredCapacity": "1", "LaunchConfigurationName": { "Ref": "EKSClusterNodesLaunchConfig921F1106" }, "Tags": [ { "Key": "Name", "PropagateAtLaunch": true, "Value": "eks-integ-test/EKSCluster/Nodes" }, { "Key": { "Fn::Join": [ "", [ "kubernetes.io/cluster/", { "Ref": "EKSClusterBA6ECF8F" } ] ] }, "PropagateAtLaunch": true, "Value": "owned" } ], "VPCZoneIdentifier": [ { "Ref": "VPCPrivateSubnet1Subnet8BCA10E0" }, { "Ref": "VPCPrivateSubnet2SubnetCFCDAA7A" }, { "Ref": "VPCPrivateSubnet3Subnet3EDCD457" } ] }, "UpdatePolicy": { "AutoScalingRollingUpdate": { "WaitOnResourceSignals": false, "PauseTime": "PT0S", "SuspendProcesses": [ "HealthCheck", "ReplaceUnhealthy", "AZRebalance", "AlarmNotification", "ScheduledActions" ] }, "AutoScalingScheduledAction": { "IgnoreUnmodifiedGroupSizeProperties": true } } } }, "Parameters": { "SsmParameterValueawsserviceeksoptimizedami114amazonlinux2recommendedimageidC96584B6F00A464EAD1953AFF4B05118Parameter": { "Type": "AWS::SSM::Parameter::Value<String>", "Default": "/aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended/image_id" } }, "Outputs": { "EKSClusterConfigCommand3809C9C9": { "Value": { "Fn::Join": [ "", [ "aws eks update-kubeconfig --name ", { "Ref": "EKSClusterBA6ECF8F" }, " --region test-region" ] ] } }, "EKSClusterGetTokenCommand10DBF41A": { "Value": { "Fn::Join": [ "", [ "aws eks get-token --cluster-name ", { "Ref": "EKSClusterBA6ECF8F" }, " --region test-region" ] ] } }, "EKSClusterNodesInstanceRoleARN10992C84": { "Value": { "Fn::GetAtt": [ "EKSClusterNodesInstanceRoleEE5595D6", "Arn" ] } } } }