Created
December 3, 2019 03:08
-
-
Save inductor/83b2b14fdf0893cfd417ab66b951f199 to your computer and use it in GitHub Desktop.
昔のノードグループ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
AWSTemplateFormatVersion: '2010-09-09' | |
Description: 'EKS nodes' | |
Resources: | |
EgressInterCluster: | |
Type: AWS::EC2::SecurityGroupEgress | |
Properties: | |
Description: Allow control plane to communicate with worker nodes in group ng-1 | |
(kubelet and workload TCP ports) | |
DestinationSecurityGroupId: | |
Ref: SG | |
FromPort: 1025 | |
GroupId: | |
Fn::ImportValue: eksctl-foo-2-cluster::SecurityGroup | |
IpProtocol: tcp | |
ToPort: 65535 | |
EgressInterClusterAPI: | |
Type: AWS::EC2::SecurityGroupEgress | |
Properties: | |
Description: Allow control plane to communicate with worker nodes in group ng-1 | |
(workloads using HTTPS port, commonly used with extension API servers) | |
DestinationSecurityGroupId: | |
Ref: SG | |
FromPort: 443 | |
GroupId: | |
Fn::ImportValue: eksctl-foo-2-cluster::SecurityGroup | |
IpProtocol: tcp | |
ToPort: 443 | |
IngressInterCluster: | |
Type: AWS::EC2::SecurityGroupIngress | |
Properties: | |
Description: Allow worker nodes in group ng-1 to communicate with control plane | |
(kubelet and workload TCP ports) | |
FromPort: 1025 | |
GroupId: | |
Ref: SG | |
IpProtocol: tcp | |
SourceSecurityGroupId: | |
Fn::ImportValue: eksctl-foo-2-cluster::SecurityGroup | |
ToPort: 65535 | |
IngressInterClusterAPI: | |
Type: AWS::EC2::SecurityGroupIngress | |
Properties: | |
Description: Allow worker nodes in group ng-1 to communicate with control plane | |
(workloads using HTTPS port, commonly used with extension API servers) | |
FromPort: 443 | |
GroupId: | |
Ref: SG | |
IpProtocol: tcp | |
SourceSecurityGroupId: | |
Fn::ImportValue: eksctl-foo-2-cluster::SecurityGroup | |
ToPort: 443 | |
IngressInterClusterCP: | |
Type: AWS::EC2::SecurityGroupIngress | |
Properties: | |
Description: Allow control plane to receive API requests from worker nodes in | |
group ng-1 | |
FromPort: 443 | |
GroupId: | |
Fn::ImportValue: eksctl-foo-2-cluster::SecurityGroup | |
IpProtocol: tcp | |
SourceSecurityGroupId: | |
Ref: SG | |
ToPort: 443 | |
NodeGroup: | |
Type: AWS::AutoScaling::AutoScalingGroup | |
Properties: | |
DesiredCapacity: '3' | |
LaunchTemplate: | |
LaunchTemplateName: | |
Fn::Sub: "${AWS::StackName}" | |
Version: | |
Fn::GetAtt: NodeGroupLaunchTemplate.LatestVersionNumber | |
MaxSize: '4' | |
MinSize: '1' | |
Tags: | |
- Key: Name | |
PropagateAtLaunch: 'true' | |
Value: foo-2-ng-1-Node | |
- Key: kubernetes.io/cluster/foo-2 | |
PropagateAtLaunch: 'true' | |
Value: owned | |
- Key: k8s.io/cluster-autoscaler/enabled | |
PropagateAtLaunch: 'true' | |
Value: 'true' | |
- Key: k8s.io/cluster-autoscaler/foo-2 | |
PropagateAtLaunch: 'true' | |
Value: owned | |
VPCZoneIdentifier: | |
Fn::Split: | |
- "," | |
- Fn::ImportValue: eksctl-foo-2-cluster::SubnetsPublic | |
UpdatePolicy: | |
AutoScalingRollingUpdate: | |
MaxBatchSize: '1' | |
MinInstancesInService: '0' | |
NodeGroupLaunchTemplate: | |
Type: AWS::EC2::LaunchTemplate | |
Properties: | |
LaunchTemplateData: | |
IamInstanceProfile: | |
Arn: | |
Fn::GetAtt: NodeInstanceProfile.Arn | |
ImageId: ami-0361e14efd56a71c7 | |
InstanceType: t3.medium | |
NetworkInterfaces: | |
- AssociatePublicIpAddress: true | |
DeviceIndex: 0 | |
Groups: | |
- Fn::ImportValue: eksctl-foo-2-cluster::SharedNodeSecurityGroup | |
- Ref: SG | |
UserData: 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 | |
LaunchTemplateName: | |
Fn::Sub: "${AWS::StackName}" | |
NodeInstanceProfile: | |
Type: AWS::IAM::InstanceProfile | |
Properties: | |
Path: "/" | |
Roles: | |
- Ref: NodeInstanceRole | |
NodeInstanceRole: | |
Type: AWS::IAM::Role | |
Properties: | |
AssumeRolePolicyDocument: | |
Statement: | |
- Action: | |
- sts:AssumeRole | |
Effect: Allow | |
Principal: | |
Service: | |
- ec2.amazonaws.com | |
Version: '2012-10-17' | |
ManagedPolicyArns: | |
- arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy | |
- arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy | |
- arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly | |
- arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy | |
Path: "/" | |
PolicyALBIngress: | |
Type: AWS::IAM::Policy | |
Properties: | |
PolicyDocument: | |
Statement: | |
- Action: | |
- acm:DescribeCertificate | |
- acm:ListCertificates | |
- acm:GetCertificate | |
- ec2:AuthorizeSecurityGroupIngress | |
- ec2:CreateSecurityGroup | |
- ec2:CreateTags | |
- ec2:DeleteTags | |
- ec2:DeleteSecurityGroup | |
- ec2:DescribeAccountAttributes | |
- ec2:DescribeAddresses | |
- ec2:DescribeInstances | |
- ec2:DescribeInstanceStatus | |
- ec2:DescribeInternetGateways | |
- ec2:DescribeNetworkInterfaces | |
- ec2:DescribeSecurityGroups | |
- ec2:DescribeSubnets | |
- ec2:DescribeTags | |
- ec2:DescribeVpcs | |
- ec2:ModifyInstanceAttribute | |
- ec2:ModifyNetworkInterfaceAttribute | |
- ec2:RevokeSecurityGroupIngress | |
- elasticloadbalancing:AddListenerCertificates | |
- elasticloadbalancing:AddTags | |
- elasticloadbalancing:CreateListener | |
- elasticloadbalancing:CreateLoadBalancer | |
- elasticloadbalancing:CreateRule | |
- elasticloadbalancing:CreateTargetGroup | |
- elasticloadbalancing:DeleteListener | |
- elasticloadbalancing:DeleteLoadBalancer | |
- elasticloadbalancing:DeleteRule | |
- elasticloadbalancing:DeleteTargetGroup | |
- elasticloadbalancing:DeregisterTargets | |
- elasticloadbalancing:DescribeListenerCertificates | |
- elasticloadbalancing:DescribeListeners | |
- elasticloadbalancing:DescribeLoadBalancers | |
- elasticloadbalancing:DescribeLoadBalancerAttributes | |
- elasticloadbalancing:DescribeRules | |
- elasticloadbalancing:DescribeSSLPolicies | |
- elasticloadbalancing:DescribeTags | |
- elasticloadbalancing:DescribeTargetGroups | |
- elasticloadbalancing:DescribeTargetGroupAttributes | |
- elasticloadbalancing:DescribeTargetHealth | |
- elasticloadbalancing:ModifyListener | |
- elasticloadbalancing:ModifyLoadBalancerAttributes | |
- elasticloadbalancing:ModifyRule | |
- elasticloadbalancing:ModifyTargetGroup | |
- elasticloadbalancing:ModifyTargetGroupAttributes | |
- elasticloadbalancing:RegisterTargets | |
- elasticloadbalancing:RemoveListenerCertificates | |
- elasticloadbalancing:RemoveTags | |
- elasticloadbalancing:SetIpAddressType | |
- elasticloadbalancing:SetSecurityGroups | |
- elasticloadbalancing:SetSubnets | |
- elasticloadbalancing:SetWebACL | |
- iam:CreateServiceLinkedRole | |
- iam:GetServerCertificate | |
- iam:ListServerCertificates | |
- waf-regional:GetWebACLForResource | |
- waf-regional:GetWebACL | |
- waf-regional:AssociateWebACL | |
- waf-regional:DisassociateWebACL | |
- tag:GetResources | |
- tag:TagResources | |
- waf:GetWebACL | |
Effect: Allow | |
Resource: "*" | |
Version: '2012-10-17' | |
PolicyName: | |
Fn::Sub: "${AWS::StackName}-PolicyALBIngress" | |
Roles: | |
- Ref: NodeInstanceRole | |
PolicyAutoScaling: | |
Type: AWS::IAM::Policy | |
Properties: | |
PolicyDocument: | |
Statement: | |
- Action: | |
- autoscaling:DescribeAutoScalingGroups | |
- autoscaling:DescribeAutoScalingInstances | |
- autoscaling:DescribeLaunchConfigurations | |
- autoscaling:DescribeTags | |
- autoscaling:SetDesiredCapacity | |
- autoscaling:TerminateInstanceInAutoScalingGroup | |
- ec2:DescribeLaunchTemplateVersions | |
Effect: Allow | |
Resource: "*" | |
Version: '2012-10-17' | |
PolicyName: | |
Fn::Sub: "${AWS::StackName}-PolicyAutoScaling" | |
Roles: | |
- Ref: NodeInstanceRole | |
PolicyCertManagerChangeSet: | |
Type: AWS::IAM::Policy | |
Properties: | |
PolicyDocument: | |
Statement: | |
- Action: | |
- route53:ChangeResourceRecordSets | |
Effect: Allow | |
Resource: arn:aws:route53:::hostedzone/* | |
Version: '2012-10-17' | |
PolicyName: | |
Fn::Sub: "${AWS::StackName}-PolicyCertManagerChangeSet" | |
Roles: | |
- Ref: NodeInstanceRole | |
PolicyCertManagerGetChange: | |
Type: AWS::IAM::Policy | |
Properties: | |
PolicyDocument: | |
Statement: | |
- Action: | |
- route53:GetChange | |
Effect: Allow | |
Resource: arn:aws:route53:::change/* | |
Version: '2012-10-17' | |
PolicyName: | |
Fn::Sub: "${AWS::StackName}-PolicyCertManagerGetChange" | |
Roles: | |
- Ref: NodeInstanceRole | |
PolicyCertManagerHostedZones: | |
Type: AWS::IAM::Policy | |
Properties: | |
PolicyDocument: | |
Statement: | |
- Action: | |
- route53:ListHostedZones | |
- route53:ListResourceRecordSets | |
- route53:ListHostedZonesByName | |
Effect: Allow | |
Resource: "*" | |
Version: '2012-10-17' | |
PolicyName: | |
Fn::Sub: "${AWS::StackName}-PolicyCertManagerHostedZones" | |
Roles: | |
- Ref: NodeInstanceRole | |
SG: | |
Type: AWS::EC2::SecurityGroup | |
Properties: | |
GroupDescription: Communication between the control plane and worker nodes in | |
group ng-1 | |
Tags: | |
- Key: kubernetes.io/cluster/foo-2 | |
Value: owned | |
- Key: Name | |
Value: | |
Fn::Sub: "${AWS::StackName}/SG" | |
VpcId: | |
Fn::ImportValue: eksctl-foo-2-cluster::VPC | |
Outputs: | |
FeatureLocalSecurityGroup: | |
Value: true | |
FeaturePrivateNetworking: | |
Value: false | |
FeatureSharedSecurityGroup: | |
Value: true | |
InstanceProfileARN: | |
Export: | |
Name: | |
Fn::Sub: "${AWS::StackName}::InstanceProfileARN" | |
Value: | |
Fn::GetAtt: NodeInstanceProfile.Arn | |
InstanceRoleARN: | |
Export: | |
Name: | |
Fn::Sub: "${AWS::StackName}::InstanceRoleARN" | |
Value: | |
Fn::GetAtt: NodeInstanceRole.Arn |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment