将暂存站点部署到 AWS
Deploying a staging site to AWS
您好:希望将暂存站点部署到 AWS。生产是 EC2 实例上的 Rails 应用程序链接到 MYSQL 引擎上的 RDS 数据库,使用 Nginx / Phusion Passenger 作为网络 server.Currently 通过 github 部署。
目前的计划大致如下:
1. 截取我现有服务器的 AMI 并创建一个复制它的新 EC2 实例。
2. 也复制RDS和S2? (?)
3. 在 github 代码中添加一些环境变量,以便在暂存和生产时连接到正确的数据库
4. 尝试将代码部署到新的测试站点
这听起来对吗?任何人都可以提供以前做过的任何好的指导吗?
我看到了很多关于单独的 AWS 账户的信息 - 这对于小型开发团队(即只有我和偶尔的自由职业者)是否有必要?
单独的 AWS 账户是最佳实践(当架构需要时)。二级解决方案可能是将它放在不同的区域,而三级解决方案只是将它放在同一区域但至少是一个单独的 VPC,显然每次都会失去一些安全优势。
就设置而言 - 因为您没有提到网络连接 - 我希望您为简洁起见省略了它,但是设置一个带有私有子网的 VPC 来托管您的数据库绝对值得您的 EC2 实例直接与 RDS 实例通信。在 Internet 上公开提供数据库是一个禁忌。 (details)
至于你的堆栈(你已经覆盖了它)-备份你的EC2/RDS(图像,rds快照)-如果需要,将它们复制到region/account并启动克隆。让代码知道它在哪个环境中运行,并据此确定端点。您没有提供有关 nginx 方面的太多细节,但如果那也是 EC2,请冲洗并重复。
PS:如果您认为自己可能会更频繁地这样做,请考虑创建一个 CloudFormation 堆栈来概述您的环境,这样,如果需要,您可以创建另一个堆栈来启动一个新的适合你的环境。
祝你好运!
您好:希望将暂存站点部署到 AWS。生产是 EC2 实例上的 Rails 应用程序链接到 MYSQL 引擎上的 RDS 数据库,使用 Nginx / Phusion Passenger 作为网络 server.Currently 通过 github 部署。
目前的计划大致如下: 1. 截取我现有服务器的 AMI 并创建一个复制它的新 EC2 实例。 2. 也复制RDS和S2? (?) 3. 在 github 代码中添加一些环境变量,以便在暂存和生产时连接到正确的数据库 4. 尝试将代码部署到新的测试站点
这听起来对吗?任何人都可以提供以前做过的任何好的指导吗?
我看到了很多关于单独的 AWS 账户的信息 - 这对于小型开发团队(即只有我和偶尔的自由职业者)是否有必要?
单独的 AWS 账户是最佳实践(当架构需要时)。二级解决方案可能是将它放在不同的区域,而三级解决方案只是将它放在同一区域但至少是一个单独的 VPC,显然每次都会失去一些安全优势。
就设置而言 - 因为您没有提到网络连接 - 我希望您为简洁起见省略了它,但是设置一个带有私有子网的 VPC 来托管您的数据库绝对值得您的 EC2 实例直接与 RDS 实例通信。在 Internet 上公开提供数据库是一个禁忌。 (details)
至于你的堆栈(你已经覆盖了它)-备份你的EC2/RDS(图像,rds快照)-如果需要,将它们复制到region/account并启动克隆。让代码知道它在哪个环境中运行,并据此确定端点。您没有提供有关 nginx 方面的太多细节,但如果那也是 EC2,请冲洗并重复。
PS:如果您认为自己可能会更频繁地这样做,请考虑创建一个 CloudFormation 堆栈来概述您的环境,这样,如果需要,您可以创建另一个堆栈来启动一个新的适合你的环境。
祝你好运!