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 […]

在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 […]

使用AWS云安装WordPress + RDS MySQL

创建EC2实例 使用以下AWS实例: === Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type – ami-05c859630889c79c8 The Amazon Linux AMI is an EBS-backed, AWS-supported image. The default image includes AWS command line tools, Python, Ruby, Perl, and Java. The repositories include Docker, PHP, MySQL, PostgreSQL, and other packages. Root device type: ebs Virtualization type: hvm ENA Enabled: Yes […]