淄企业网站建设公司,wordpress 地址栏,创意设计,网站导航栏兼容性aws(学习笔记第三课) 使用AWS CloudFormation 学习内容#xff1a;
AWS CloudFormation的模板解析使用AWS CloudFormation启动ec2 server 1. AWS CloudFormation 的模版解析
CloudFormation模板结构 CloudFormation是AWS的配置管理工具#xff0c;属于Infrastructure as Co…aws(学习笔记第三课) 使用AWS CloudFormation 学习内容
AWS CloudFormation的模板解析使用AWS CloudFormation启动ec2 server 1. AWS CloudFormation 的模版解析
CloudFormation模板结构 CloudFormation是AWS的配置管理工具属于Infrastructure as Code, IaC。基础设施即代码Infrastructure as Code, IaC是一种管理和配置计算机基础设施如服务器、网络、存储等的方法通过编写代码来自动化这些过程而不是手动进行配置。IaC 使得基础设施管理更为自动化、可重复、可靠和高效。{AWSTemplateFormatVersion:2010-09-09,Description:CloudFormation template structure,Parameters:{[...]},Resources:{[...]},Outputs:{[...]}
}大体分为 版本 2010-09-09是目前的唯一合法版本描述 这个模板是关于什么的参数 参数使用值用来定义模板。例如域名客户ID和数据库密码等。资源 资源是用户能描述的AWS最小组件例如虚拟服务器负载均衡器或者弹性IP地址。输出 输出和参数有点像输出从模板返回的信息。
2. CloudFormation参数类型
类型描述StringCommaDelimitedList一个字符串或有都好分割的字符串列表NumberListNumber一个整数或浮点数或整数列表或浮点数列表AWS::EC2::Instance::IdListAWS::EC2::Instance::Id一个EC2实例ID或列表AWS::EC2::Image::IdListAWS::EC2::Image::Id一个AMI ID或列表AWS::EC2::KeyPair::KeyName一个Amazon EC2密钥对名AWS::EC2::SecurityGroup::IdListAWS::EC2::SecurityGroup::Id一个安全组ID或列表
3. CloudFormation的具体实例
实例代码{AWSTemplateFormatVersion: 2010-09-09,Description: AWS cloudformation practice,Parameters: {KeyName: {Description: Key Pair name,Type: AWS::EC2::KeyPair::KeyName,Default: my-cli-key},VPC: {Description: Just select the one and only default VPC,Type: AWS::EC2::VPC::Id},Subnet: {Description: Just select one of the available subnets,Type: AWS::EC2::Subnet::Id},InstanceType: {Description: Select one of the possible instance types,Type: String,Default: t2.micro,AllowedValues: [t2.micro, t2.small, t2.medium]}},Mappings: {EC2RegionMap: {ap-northeast-1: {AmazonLinuxAMIHVMEBSBacked64bit: ami-cbf90ecb},ap-southeast-1: {AmazonLinuxAMIHVMEBSBacked64bit: ami-68d8e93a},ap-southeast-2: {AmazonLinuxAMIHVMEBSBacked64bit: ami-fd9cecc7},eu-central-1: {AmazonLinuxAMIHVMEBSBacked64bit: ami-a8221fb5},eu-west-1: {AmazonLinuxAMIHVMEBSBacked64bit: ami-a10897d6},sa-east-1: {AmazonLinuxAMIHVMEBSBacked64bit: ami-b52890a8},us-east-1: {AmazonLinuxAMIHVMEBSBacked64bit: ami-1ecae776},us-west-1: {AmazonLinuxAMIHVMEBSBacked64bit: ami-d114f295},us-west-2: {AmazonLinuxAMIHVMEBSBacked64bit: ami-e7527ed7}}},Resources: {SecurityGroup: {Type: AWS::EC2::SecurityGroup,Properties: {GroupDescription: My security group,VpcId: {Ref: VPC},SecurityGroupIngress: [{CidrIp: 0.0.0.0/0,FromPort: 22,IpProtocol: tcp,ToPort: 22}]}},Server: {Type: AWS::EC2::Instance,Properties: {ImageId: {Fn::FindInMap: [EC2RegionMap, {Ref: AWS::Region}, AmazonLinuxAMIHVMEBSBacked64bit]},InstanceType: {Ref: InstanceType},KeyName: {Ref: KeyName},SecurityGroupIds: [{Ref: SecurityGroup}],SubnetId: {Ref: Subnet}}}},Outputs: {PublicName: {Value: {Fn::GetAtt: [Server, PublicDnsName]},Description: Public name (connect via SSH as user ec2-user)}}
}为堆栈执行创建role step1step2step3 权限策略选择AdministratorAccess step4 建立堆栈执行CloudFormation step1step2step3step4step5 最后点击提交 查看CloudFormation执行结果 执行结果如下 成功的话会出现CREATE_COMPLETE。查看ec2 server查看CloudFormation的Outputs 登录CloudFormation创建的ec2 server CloudFormation执行结果清理 CloudFormation属于整体执行执行清理如果不想使用该stack那么删除这个stack这个stack创建的所有resources将全部被删除。