在AWS上搭建动态网站

简介

在AWS上设置自定义虚拟私有云(VPC),然后使用WordPress构建动态网站时的记录。

构成 (one option)

将WordPress运行的EC2实例和MySQL的RDS实例部署在自定义VPC上的网络上。
通过冗余配置实现负载均衡。

str.png

建立自定义VPC

通过AWS控制台 → VPC仪表板 → 创建VPC
虽然可以使用向导简单快速地创建VPC,但为了学习目的,我们选择不使用向导进行操作。

AWS控制台→VPC面板→VPC→创建VPC
①创建VPC网络
名称标签:test-vpc
IPv4 CIDR块设置:10.0.0.0/16
租户:默认
创建VPC后,从菜单中选择”是”以编辑DNS主机名。
②创建子网
VPC→子网→创建子网
创建4个子网
名称标签 VPC 可用区 IPv4 CIDR块
test-public-A / test-vlc/ ap-northeast-1a/ 10.1.11.0/24
test-private-A / test-vpc/ ap-northeast-1a/ 10.1.15.0/24
test-public-C / test-vpc/ ap-northeast-1c/ 10.1.51.0/24
tes-private-C / test-vpc/ ap-northeast-1c/ 10.1.55.0/24

将test-public-A和test-public-C配置为自动分配公共IP。
在菜单中找到”自动分配IP设置”,并勾选”自动分配IP”。

③ 创建互联网网关(相当于配置网关)
VPC→互联网网关→创建互联网网关
标签名称:test-InternetGateway
将创建的互联网网关附加到自定义VPC(test-vpc)。

创建路由表以便将Internet Gateway路由到公共子网
VPC -> 路由表 -> 创建路由表
名称标签:test-publicRouteTable
VPC:test-vpc
添加test-publicRouteTable的路由
目标指定为test-InternetGateway

スクリーンショット 2018-08-12 13.50.46.png

将test-publicRouteTable设置为test-public-A和test-public-C的路由表。在VPC仪表盘中,转到子网,将test-public-A和test-public-C的路由表设置为test-publicRouteTable。

スクリーンショット 2018-08-12 14.03.03.png

⑥ 设置安全组
设置WordPress和数据库的安全组
VPC→安全组→安全组设置
名称标签:WordPress用(WP-Web-DMZ)和数据库用(WP-DB)
组名:WP-Web-DMZ,WP-DB
VPC:测试VPC

スクリーンショット 2018-08-12 14.17.08.png
スクリーンショット 2018-08-12 14.19.21.png

⑦DB子网组设置
如果在VPC上使用RDB实例,则需要创建DB子网组。
关系型数据库服务 → 子网组 → DB子网组
名称:wp-dbsublent
VPC:test-vlc

スクリーンショット 2018-08-12 14.24.00.png

创建RDS实例

关系型数据库服务 → 实例 → 启动数据库实例
选择以下项目:
引擎选项:MySQL
用例:生产环境 – MySQL

DB的详细设置
DB引擎版本:MySQL 5.6.39
DB实例类别:db.t2.micro
多AZ配置:在另一个区域创建复制实例

详细设置(设置)
数据库实例标识符:wp-mysql
主用户名称:root
主密码:****
确认密码:****

スクリーンショット 2018-08-12 14.39.12.png

启动 EC2 实例

创建一个用于运行WordPress的EC2实例。
AMI:Amazon Linux AMI
网络:vpc-test
子网:test-public-A
自动分配公共IP:启用
名称标签:WP-WebAPP
安全组:WP-Web-DMZ

起動的细节,请查看https://qiita.com/hanasaku/items/b112cdef5e07ecdee4ff

将WordPress安装

chmod 0600 was-key.pem
ssh -i was.key.pem ec2-user@<パブリックDNS名>

sudo yum install php php-mysql php-gb php-mbstring -y
sudo yum install mysql -y
wget -O /tmp/wordpress-4.9.4-ja.tar.gz https://ja.wordpress.org/wordpress-4.9.4-ja.tar.gz
sudo tar dxf /tmp/wordpress-4.9.4-ja.tar.gz -C /opt
sudo ln -s /opt/wordpress /var/www/html
sudo chown -R apache:apache /opt/wordpress
sudo chkconfig http on
sudo service httpd start

MySQL的安装

# RDSインスタンスにログイン(ログインはRDSインスタンスのエントリポイントに記載)
mysql -u root -p -h wp-mysql.**********

mysql> CREATE USER 'wordpress-user'@'%' IDENTIFIED BY 'wordpress';
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE DATABASE wordpress;
Query OK, 0 rows affected (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "wordpress-user"@"%";
Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES
Query OK, 0 rows affected (0.01 sec)

进行 WordPress 安装

请帮忙将以下内容改写成中文原生语言,仅提供一种选项:
http:///wordpress/wp-admin/install.php

负载平衡的设定

使用AMI
EC2 → 在实例上右键单击 → 启动DB实例

在另一个可用区启动EC2实例
EC2 → AMI → 选择AMI → 创建
AMI: Amazon Linux AMI

スクリーンショット 2018-08-12 15.24.43.png

听众
http:80
AZ
vpc:test-vpc
子网:test-public-A,test-public-C
标签
键:名称
值:WP-ELB
目标组
名称:WpTargetNew

スクリーンショット 2018-08-12 15.32.32.png

进行配置以使设置可以在冗余配置的服务器之间共享会话信息(进行粘滞会话设置)。
EC2 → 目标组
选择WpTarget
解除注册的延迟:300秒
保持设置:启用
保持设置的时间:30分钟

スクリーンショット 2018-08-12 15.47.35.png
bannerAds