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"以获取应用程序的评分情况。

