Logo
Section 1 / 8

云:我们的最终边疆

了解将您的应用部署到云平台所需的先决条件。

导入

云:我们的最终边疆

了解将您的应用部署到云平台所需的先决条件。

本章内容概览

我们已经了解了如何将应用部署到本地的 Swarm 集群,尽管目前仅限于单个节点。在本章中,我们将更进一步,在云端创建基础设施。我们将于 Amazon Web Services (AWS) 上创建一个集群。到本章结束时,我们的应用将已在 AWS 上部署并运行。

虽然本章的云部署并非生产级别的,但你将获得一些宝贵的经验,并开始理解实际应用中的一些关键考虑因素。请注意,本章使用的云服务并非免费,因此运行应用会产生少量费用。然而,只要你在完成操作后及时清理或停止资源,成本将微乎其微——仅以便士计。

在本章中,我们将了解将应用部署到云服务商 AWS 所需的步骤:

AWS 账户

如果你还没有 AWS 账户,请前往 https://aws.amazon.com/ 注册。

AWS 密钥

创建账户后,你需要生成一个访问密钥 ID 和一个秘密密钥 ID,以便通过命令行设置基础设施。登录 AWS 控制台后,选择 IAM,你会看到类似以下页面的内容。在左侧 IAM 菜单中,选择 Users(已高亮)。

...
IAM Dashboard

点击 Add User 按钮。在下一页中,需要为用户账户输入一个名称。将其命名为 "docker-for-rails-developer"。然后,在“Select AWS access type”部分,选择 Programmatic access。

...
Add User and Access Type

点击 Next: Permissions 按钮后,选择 Attach existing policies directly 选项。在策略列表中,选择 PowerUserAccess 和 IAMFullAccess 策略。其余向导步骤可跳过。最终页面将显示访问密钥 ID 和隐藏的秘密密钥。请将这两个密钥复制保存。

在终端中设置 AWS 密钥

在终端中设置密钥有两种方法。

  1. 通过以下环境变量设置:

    1export AWS_ACCESS_KEY_ID=<your access key id> 2export AWS_SECRET_ACCESS_KEY=<your secret access key> 3export AWS_DEFAULT_REGION=<your default region>
  2. 如果不想在终端中运行命令来导出环境变量,可以使用另一种方法:

    1. 在 variables.bash_rc 文件或等效文件中添加。
    2. 通过 chmod +x variables.bash_rc 使其可执行。
    3. 运行 source ./variables.bash_rc,使它在当前终端会话中可用。

🍀 实践

在创建密钥后,点击 Edit 按钮并添加值。保存,然后点击 Run 按钮。

这完成了我们在云端部署的第一步。✨

No configuration found for ID: 111c6f64bd23da644936042d11907bd951d71f2158798355916354a7550d7d62

S3 存储桶

AWS 提供了在存储桶中存储和保护任意数量数据的功能。你可以在 AWS 控制台中找到你的存储桶。窗口界面类似于:

...
AWS s3 buckets

我们将使用这些存储桶来存储与创建的机器和实例相关的数据。一旦部署完成,这些数据将被删除。本课程默认使用存储桶名为 railscloudbucket。如果你想使用自己的名称,请在以下内容中将 BUCKET 替换为唯一的存储桶名称并保存。

为了验证你的存储桶名称是否唯一,请点击 Run 按钮。 如果看到提示 "**Your bucket is unique!**",说明可以继续。🎉

如果看到提示 "Bucket exists, please try again...",请修改存储桶名称并保存。点击 Run 按钮,执行以下命令:

1source ./bucketExists.sh

No configuration found for ID: 69f6239985ab6bc8e6bc36f1012198d3a05ee1b9158806c4126120afe3e852f8

一个类生产环境的沙盒

部署到 AWS