1. 登录CloudRaiser平台
1.步骤:
2.打开CloudRaiser平台网站。
3.输入您的用户名和密码进行登录。
4.登录后,您可能需要设置或选择项目名称,例如“API Web Application”。
2. 登录AWS控制台
5.步骤:
6.访问 AWS管理控制台。
7.输入您的AWS账户凭证进行登录。
3. 创建EC2实例
8.选择EC2服务:
9.在AWS控制台中,选择“EC2”服务。
10.启动实例:
11.点击“Launch Instance”按钮。
12.选择AMI:
13.在“Choose an Amazon Machine Image (AMI)”页面,选择“Amazon Linux 2 AMI (HVM), SSD Volume Type”。
14.选择实例类型:
15.选择t2.micro(适合免费套餐),然后点击“Next: Configure Instance Details”。
16.配置实例详细信息:
17.在“Configure Instance Details”页面,确保选择正确的VPC和子网,其他设置保持默认即可。
18.点击“Next: Add Storage”。
19.添加存储:
20.默认的8GB存储足够,点击“Next: Add Tags”。
21.添加标签:
22.点击“Add Tag”,输入以下内容:
23.Key: Name
24.Value: MyGoApp
25.点击“Next: Configure Security Group”。
26.配置安全组:
27.创建一个新的安全组,添加以下规则:
28.规则1:
29.类型: HTTP
30.协议: TCP
31.端口范围: 80
32.来源: 0.0.0.0/0
33.规则2:
34.类型: PostgreSQL
35.协议: TCP
36.端口范围: 5432
37.来源: 您的IP地址(或0.0.0.0/0,取决于安全性要求)
38.点击“Review and Launch”。
39.启动实例:
40.点击“Launch”按钮,选择或创建一个密钥对(.pem文件),然后点击“Launch Instances”。
41.记下实例的公共IP地址。
4. 创建PostgreSQL数据库
42.在AWS控制台中,选择“RDS”服务。
43.点击“Create database”。
44.选择数据库引擎:
45.选择“Standard Create”。
46.数据库引擎选择“PostgreSQL”。
47.配置数据库实例:
48.在“Templates”中选择“Dev/Test”。
49.DB instance identifier: unicorndb
50.Master username: unicorndb
51.Master password: unicorndb(请记住此密码)
52.选择实例类型:
53.选择db.t2.micro。
54.配置网络和安全:
55.在“Connectivity”部分,选择您的VPC和子网,确保“Public accessibility”设置为“YES”。
56.在“VPC security group”中,选择“Create new”并添加规则,允许来自EC2实例的流量。
57.点击“Create database”,等待数据库创建完成。
5. 创建数据库表
58.连接到RDS实例:
59.在您的本地终端或EC2实例上,使用psql工具连接到RDS实例:
psql -h <RDS-endpoint> -U unicorndb -d unicorndb
(将<RDS-endpoint>替换为您的RDS实例的终端节点,您可以在RDS控制台中找到)
60.创建表:
61.连接成功后,输入以下SQL命令创建表:
CREATE TABLE IF NOT EXISTS unicorntable (
id SERIAL PRIMARY KEY,
requestid VARCHAR(255),
requestvalue VARCHAR(255),
hits INT
);
62.输入\q退出psql。
6. 配置server.ini文件
63.SSH连接到EC2实例:
ssh -i <your-key-pair>.pem ec2-user@<your-ec2-public-ip>
(将<your-key-pair>替换为您的密钥对文件名,将<your-ec2-public-ip>替换为您的EC2实例的公共IP地址)
64.创建或编辑server.ini文件:
nano server.ini
65.输入以下内容:
"LogLocation"="./"
"PgsqlHost"="<RDS-endpoint>" # 替换为RDS实例的endpoint
"PgsqlPort"="5432"
"PgsqlUser"="unicorndb"
"PgsqlPass"="unicorndb"
"PgsqlDb"="unicorndb"
"PgsqlTable"="unicorntable"
66.保存并退出编辑器:
67.在nano中,按CTRL + X,然后按Y确认保存。
7. 配置自动扩展
68.在AWS控制台中,选择“EC2”服务,点击“Auto Scaling Groups”。
69.点击“Create Auto Scaling group”。
70.选择启动配置:
71.选择之前创建的启动配置。
72.配置组的规模:
73.最小实例数: 1
74.最大实例数: 5
75.期望实例数: 2
76.设置扩展策略:
77.选择“Create a scaling policy”。
78.根据CPU使用率设置阈值,例如:
79.当CPU使用率超过70%时,增加实例数量。
80.当CPU使用率低于30%时,减少实例数量。
81.点击“Create Auto Scaling group”。
8. 部署Go应用程序
82.将Go二进制文件上传到EC2实例:
scp -i <your-key-pair>.pem <your-go-binary> ec2-user@<your-ec2-public-ip>:~/
(将<your-go-binary>替换为您的Go二进制文件名)
83.SSH连接到EC2实例:
ssh -i <your-key-pair>.pem ec2-user@<your-ec2-public-ip>
84.运行Go应用程序:
chmod +x <your-go-binary> # 赋予可执行权限
./<your-go-binary> # 启动应用程序
9. 监控应用程序性能
85.在AWS控制台中,选择“CloudWatch”服务。
86.点击“Metrics”,然后选择“EC2”。
87.添加自定义仪表板,监控以下指标:
88.CPU使用率
89.内存使用率(需要安装CloudWatch Agent)
90.网络流量
91.设置警报以便在达到某些阈值时通知您。
10. 测试应用程序
92.使用Postman或curl发送请求到您的API:
curl http://<your-ec2-public-ip>
(将<your-ec2-public-ip>替换为您的EC2实例的公共IP地址)
93.检查响应:
94.确保应用程序能够正常响应并记录请求。
11. 监控评分
95.定期检查“ScoreEvents”和“Scoreboard”以获取应用程序的评分情况。