我有这个AWS练习场景,您的客户以前没有使用过AWS,并且在尝试启动Web应用程序作为概念证明时遇到问题。到目前为止,您的客户已经启动了充当网络服务器的AWS Elastic Load Balancer(ELB)和Amazon Elastic Compute Cloud(EC2)实例。两者都部署在AWS的虚拟私有云(VPC)中。客户的初始部署旨在向其用户显示静态网页(位于Web服务器文档根目录中的demo.html)>
在云形成脚本下面id
AWSTemplateFormatVersion: '2010-09-09' Description: | AWS CloudFormation SA Assignment - WARNING: You will be billed for the AWS resources used if you create a stack from this template and consume all your promotional credit. We recommend you create a billing alert. Once you submit your answers delete the CloudFormation stack and terminate any other resources launched in relation to this exercise. Feel free to do that as soon as you have submitted your document and before your interview. Parameters: CandidateName: Description: 'Please input your first and last name:' Type: String MaxLength: '50' MinLength: '3' ConstraintDescription: Please input your full name. Resources: SAVPC: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16 InstanceTenancy: default EnableDnsSupport: 'true' EnableDnsHostnames: 'true' Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [SAVPC, !Ref 'CandidateName']] PublicSubnetA: Type: AWS::EC2::Subnet Properties: CidrBlock: 10.0.0.0/24 AvailabilityZone: eu-west-1a MapPublicIpOnLaunch: 'True' VpcId: !Ref 'SAVPC' Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [PublicSubnetA, !Ref 'CandidateName']] PublicSubnetB: Type: AWS::EC2::Subnet Properties: CidrBlock: 10.0.1.0/24 AvailabilityZone: eu-west-1b MapPublicIpOnLaunch: 'True' VpcId: !Ref 'SAVPC' Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [PublicSubnetB, !Ref 'CandidateName']] PrivateSubnetA: Type: AWS::EC2::Subnet Properties: CidrBlock: 10.0.2.0/24 AvailabilityZone: eu-west-1a VpcId: !Ref 'SAVPC' Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [PrivateSubnetA, !Ref 'CandidateName']] PrivateSubnetB: Type: AWS::EC2::Subnet Properties: CidrBlock: 10.0.3.0/24 AvailabilityZone: eu-west-1b VpcId: !Ref 'SAVPC' Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [PrivateSubnetB, !Ref 'CandidateName']] SAIGW: Type: AWS::EC2::InternetGateway Properties: Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [IGW, !Ref 'CandidateName']] SANetworkACL: Type: AWS::EC2::NetworkAcl Properties: VpcId: !Ref 'SAVPC' Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [NACL, !Ref 'CandidateName']] SARoutePublic: Type: AWS::EC2::RouteTable Properties: VpcId: !Ref 'SAVPC' Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [PublicRoute, !Ref 'CandidateName']] SARoutePrivate: Type: AWS::EC2::RouteTable Properties: VpcId: !Ref 'SAVPC' Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [PrivateRoute, !Ref 'CandidateName']] SAInstance1: Type: AWS::EC2::Instance Properties: DisableApiTermination: 'false' InstanceInitiatedShutdownBehavior: stop ImageId: ami-047bb4163c506cd98 InstanceType: t2.micro Monitoring: 'false' UserData: IyEvYmluL2Jhc2gNCnl1bSB1cGRhdGUgLXkNCnl1bSBpbnN0YWxsIC15IGh0dHBkMjQNCnNlcnZpY2UgaHR0cGQgc3RhcnQNCmNoa2NvbmZpZyBodHRwZCBvbg0KZ3JvdXBhZGQgd3d3DQp1c2VybW9kIC1hIC1HIHd3dyBlYzItdXNlcg0KY2hvd24gLVIgcm9vdDp3d3cgL3Zhci93d3cNCmNobW9kIDI3NzUgL3Zhci93d3cNCmZpbmQgL3Zhci93d3cgLXR5cGUgZCAtZXhlYyBjaG1vZCAyNzc1IHt9ICsNCmZpbmQgL3Zhci93d3cgLXR5cGUgZiAtZXhlYyBjaG1vZCAwNjY0IHt9ICsNCmVjaG8gJzxodG1sPjxoZWFkPjx0aXRsZT5TdWNjZXNzITwvdGl0bGU+PC9oZWFkPjxib2R5PjxpZnJhbWUgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvSnMyMXhLTUZkd3ciIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+PC9ib2R5PjwvaHRtbD4nID4gL3Zhci93d3cvaHRtbC9kZW1vLmh0bWw= Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [Instance1, !Ref 'CandidateName']] NetworkInterfaces: - AssociatePublicIpAddress: 'true' DeleteOnTermination: 'true' Description: Primary network interface DeviceIndex: 0 SubnetId: !Ref 'PublicSubnetA' GroupSet: [!Ref 'SASGapp'] SAelb: Type: AWS::ElasticLoadBalancing::LoadBalancer Properties: Subnets: [!Ref 'PublicSubnetB'] Instances: [!Ref 'SAInstance1'] SecurityGroups: [!Ref 'SASGELB'] Listeners: - LoadBalancerPort: '80' InstancePort: '80' Protocol: HTTP HealthCheck: HealthyThreshold: '2' Interval: '15' Target: TCP:443 Timeout: '5' UnhealthyThreshold: '2' Tags: - Key: environment Value: sa-assignment - Key: Name Value: !Join ['-', [ELB, !Ref 'CandidateName']] SASGELB: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: SA Assignment - ELB security group VpcId: !Ref 'SAVPC' Tags: - Key: environment Value: sa-assignment - Key: Name Value: ELBSecurityGroup SASGapp: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: SA Assignment - App server security group VpcId: !Ref 'SAVPC' Tags: - Key: environment Value: sa-assignment - Key: Name Value: AppServerSecurityGroup SANACLEntry1: Type: AWS::EC2::NetworkAclEntry Properties: CidrBlock: 0.0.0.0/0 Egress: 'true' Protocol: '-1' RuleAction: allow RuleNumber: '100' NetworkAclId: !Ref 'SANetworkACL' SANACLEntry2: Type: AWS::EC2::NetworkAclEntry Properties: CidrBlock: 0.0.0.0/0 Protocol: '-1' RuleAction: allow RuleNumber: '100' NetworkAclId: !Ref 'SANetworkACL' subnetacl1: Type: AWS::EC2::SubnetNetworkAclAssociation Properties: NetworkAclId: !Ref 'SANetworkACL' SubnetId: !Ref 'PublicSubnetA' subnetacl2: Type: AWS::EC2::SubnetNetworkAclAssociation Properties: NetworkAclId: !Ref 'SANetworkACL' SubnetId: !Ref 'PublicSubnetB' subnetacl3: Type: AWS::EC2::SubnetNetworkAclAssociation Properties: NetworkAclId: !Ref 'SANetworkACL' SubnetId: !Ref 'PrivateSubnetA' subnetacl4: Type: AWS::EC2::SubnetNetworkAclAssociation Properties: NetworkAclId: !Ref 'SANetworkACL' SubnetId: !Ref 'PrivateSubnetB' SAIGWAttachment: Type: AWS::EC2::VPCGatewayAttachment Properties: VpcId: !Ref 'SAVPC' InternetGatewayId: !Ref 'SAIGW' subnetRoutePublicA: Type: AWS::EC2::SubnetRouteTableAssociation Properties: RouteTableId: !Ref 'SARoutePublic' SubnetId: !Ref 'PublicSubnetA' subnetRoutePublicB: Type: AWS::EC2::SubnetRouteTableAssociation Properties: RouteTableId: !Ref 'SARoutePublic' SubnetId: !Ref 'PublicSubnetB' subnetRoutePrivateA: Type: AWS::EC2::SubnetRouteTableAssociation Properties: RouteTableId: !Ref 'SARoutePrivate' SubnetId: !Ref 'PrivateSubnetA' subnetRoutePrivateB: Type: AWS::EC2::SubnetRouteTableAssociation Properties: RouteTableId: !Ref 'SARoutePrivate' SubnetId: !Ref 'PrivateSubnetB' publicroute: Type: AWS::EC2::Route Properties: DestinationCidrBlock: 0.0.0.0/0 RouteTableId: !Ref 'SARoutePublic' GatewayId: !Ref 'SAIGW' DependsOn: SAIGW Outputs: LoadBalancerDNSName: Description: The DNSName of the load balancer Value: !GetAtt SAelb.DNSName
这是什么问题,ELB配置是否正确?。
我有这个AWS练习场景,您的客户以前没有使用过AWS,并且在尝试启动Web应用程序作为概念证明时遇到问题。到目前为止,您的客户有...
我已使用CloudFormation Linter运行您的模板,并收到以下警告: