AWS的CloudFormation和Elastic Beanstalk的简单测试

CloudFormation CloudFormation归类在Management & Governance下,它有很多模板可以直接使用,模板实际上是包含配置的文本文件,使用模板可以用很简单的操作可以创建,重复创建和设置很复杂的应用。 这里做一个简单的测试,点Create stack,取名: XiongStack,再使用Use a sample template,使用已有的模板,创建一个Wordpress blog,并进行各种设置。在这里可以看到模板的细节,也可以对模板进行编辑。 创建后可以在Events下看到进度。创建完成后,在Resource下查看网址:http://ec2-13-229-131-47.ap-southeast-1.compute.amazonaws.com/wordpress/,输入后有以下提示: ==Your server is running PHP version 5.3.29 but WordPress 5.3 requires at least 5.6.20.== 这个问题以前碰到过,需要升级PHP版本,参见使用AWS云安装WordPress + RDS MySQL方法进行解决,解决后以下网址可以正常访问: http://ec2-13-229-131-47.ap-southeast-1.compute.amazonaws.com/wordpress/ 测试完成后,删除这个Stack,那么这个Stack下所有的资源全部都被删除。 Elastic Beanstalk Elastic Beanstalk是在EC2界面里,它主要实现了容器的功能,使你不用担心底层的架构,例如负载均衡,扩展,运行健康检查等,使用者只需关注于应用层的创建和设置。 创建一个Elastic Beanstalk,进入Create a web app,取名为XiongElasticBeanstalk,使用PHP,并使用Sample Application,也就是样例应用,这里是简单起见。当然也可以上传代码(上传ZIP或者WAR),发布成功后,查看以下生成的 DNS网址,成功访问。 http://xiongelasticbeanstalk-env-1.pysmrc6iwc.ap-southeast-1.elasticbeanstalk.com/ 可以对样例程序进行下载,修改,再上传,进行发布,出现以下问题: ==Forbidden== ==You don’t have permission to access this resource.== 查找原因,参见403 […]

AWS通过自动扩展实现高可用 – 创建一个高可用WordPress站点

创建两个S3 Bucket,分别存放Image和Code 创建两个S3,分别存放Image和Code,一个S3 Bucket命名为xiongwpmedia2019,存放图片,另一个S3 Bucket命名为xiongcode2019,用来存放Wordpress代码。 使用CloudFront来访问图片 在Networking & Content Delivery下的CloudFront,做以下设置, Origin Domain Name选择刚刚创建的S3 Bucket, 为xiongwpmedia2019.s3.amazonaws.com。 其它设置为默认。 创建一个Security Group,开放 ipv4 and ipv6的http, port 80, 和 ssh, 22 port,名字设置为Webdmz。 再创建一个 RDS使用的Security Group,取名为MyRDSSG, 允许 3306 port, TCP, Mysql/Aurora, 确保它开放给刚刚创建的 名为Webdmz的 Security Group. 这里的DNS域名地址是: df3jgic6atm3p.cloudfront.net 创建一个RDS和一个EC2 创建一个RDS,记得在Availability & durability里, 设置Create a standby instance (recommended for production usage)。这里要收费。RDS的Endpoint是:xiongrds.cn63rtxgzraf.ap-southeast-1.rds.amazonaws.com。 参见使用AWS云安装WordPress + […]

AWS中使用负载均衡

进行实验,创建两个EC2, 每一个EC2在一个AZ (Availability Zone)里,再创建一个ELB,达到负载均衡的目的。 AWS负载均衡有三种: Application Load Balancer Network Load Balancer Classic Load Balancer,如果应用没有反应,那么ELB会返回504 这三种负载均衡有一些区别,首先,Application Load Balancers 和 Network Load Balancers需要使用Target Group,注册实例到Target Group,流量会用到Target Group, Classic Load Balancer需要直接注册实例到Load Balancers。 另外, Application Load Balancers的cross-zone load balancing设置是一直开启的,Network Load Balancer的cross-zone load balancing设置默认关闭,可以设置开启。Classic Load Balancer,如果使用API 或者 CLI创建,cross-zone load balancing设置默认关闭,如果使用界面进行创建,cross-zone load balancing设置默认开启。 创建两个EC2 创建两个EC2,分别在不同的AZ里,启动脚本分别是: 第一个EC2, #!/bin/bash yum update -y yum install […]

新加坡开埠200年纪念币

九月的时候注册申请了新加坡开埠200年纪念币,20元面值,每个人限申请10套,十月底收到MAS的短信说十一月中旬可以去换钱了,申请的时候选择了离家近的DBS银行。上周末去换了20套(加上老婆的)。这里有申请方式,收到的短信如下: Dear SXXXXXX, you are allotted 10 bicentennial notes. Please exchange them at POSB Hougang Central from 4 to 18 Nov 19 with your NRIC/Birth Cert. 每张纪念币配一个册子。以下是封面,展示的是新加坡河的过去和现在。 第一页是李总理致词。 第二页是两面透明的夹层,可以把纪念币放在里面,这样既可以起到保护作用,又可以清楚的看到正反两面,下面是20元纪念币的介绍。纪念币的反面是新加坡河的过去和现在作为背景,8个肖像人物是为新加坡做出杰出贡献的人士,具体介绍可以看这里。左上角注明了新加坡开埠200年, 也就是1819 ~ 2019。 纪念币的正面是旧的高等法院和市政厅,人物肖像是新加坡的第一任总统Yusof Ishak先生。 Reference About the Singapore Bicentennial Commemorative Note Online Application for Exchange of Singapore Bicentennial $20 Commemorative Note

在AWS中创建定制的虚拟私有云(VPC)

创建定制VPC AWS里一般默认有一个VPC,如果直接使用的话,可以省去很多麻烦。如果创建定制VPC,所有的组件需要各个创建,可以了解各个组件的细节。如果创建定制的VPC,会新创建一个默认的Route Table,Network ACL,和Security Group。不会创建Subnet和Internet Gateway。 创建一个定制的VPC并取名为XiongTestVPC, IPv4 CIDR block为10.0.0.0/16,如下图所示: 这里默认创建了Network ACL是允许所有的流量进出, 也就是所有的Source和Destination都是0.0.0.0/0允许。 以下未知,是否要设置DNS resolution和DNS hostnames为Enabled? DNS resolution Enabled DNS hostnames Enabled 在VPC里创建两个Subnet 首先创建公用Subnet,名字为XiongPublicSubnet,VPC选择新定制的VPC–>XiongTestVPC,IPv4 CIDR block为10.0.1.0/24,这里Availability Zone选择ap-southeast-1a。 ==注意==: 这里选择了ap-southeast-1a,如果在另一个帐户里也选择了ap-southeast-1a,这两个Availability Zone并不一定是同一个,因为AWS会随机分配,这样可以保证不会有大多数用户选择同一个Availability Zone。创建公用Subnet如下图所示: 对于公有的Subnet,改变设置公有的Subnet的自动分配公有地址,在Action –> Modify auto-assign IP settings里,如下图所示: 同理,创建另一个私有的Subnet,名字为XiongPrivateSubnet,VPC选择新定制的VPC–>XiongTestVPC,IPv4 CIDR block为10.0.2.0/24,这里Availability Zone选择ap-southeast-1b。 这里创建的两个Subnet, 默认Route Table里只能访问本地,需要在后面关联能够访问外网的Route Table,Network ACL默认为前面新创建的VPC所默认生成的Network ACL。 创建Internet Gateway 创建一个名为XiongTestInternetGateway的Internet Gateway,并把它附加到新创建的定制VPC上。如下图所示: ==注意==:一个VPC只能附加一个Internet gateway。 创建额外的Route table访问外部 […]

AWS Route53里使用Godady注册的域名

AWS的Route53是可以注册域名的,但是如果在外部注册的域名怎么在Route53里使用呢,这里使用外网的DNS服务的Godaddy注册域名,并在AWS的Route53里使用。 注册域名并下载Zonefile 在Godaddy里注册域名xionghuilin.club,并在管理域名里下载Zonefile, 自动下载并命名为xionghuilin.club.txt 在Route53里创建hosted zone 在Route53里创建hosted zone,会自动生成SOA和NS,如下: 在Godaddy中添加新生成的NS 以下四条NS需要添加到Godaddy中,xionghuilin.club的name server如下: ns-727.awsdns-26.net. ns-1182.awsdns-19.org. ns-1565.awsdns-03.co.uk. ns-211.awsdns-26.com. 这里在Godaddy里添加name server的时候要去掉最后的点,不然输入会不成功。 结果如下: 创建两个EC2实例 使用以下启动脚本在新加坡创建一个EC2的实例,public IP是18.141.25.16 #!/bin/bash yum update -y yum install httpd -y service httpd start chkconfig httpd on cd /var/www/html echo “<html><h1>Hello Xiong! This is the Singapore Web Server</h1></html>” > index.html 使用以下启动脚本在South America (São Paulo)创建另一个EC2的实例,public IP是52.67.73.251 #!/bin/bash yum […]