AWS 是一个极其完整和复杂的云,拥有大量的服务,但开始使用它并不难。您只需要设置一个 AWS 账户并从一些第一步开始。

如果您对如何开始使用 AWS 感到好奇,在这篇文章中,我将介绍您首先需要做什么。

我们会看到:

  • 如何创建新的 AWS 账户

  • 什么是 AWS 管理控制台 以及如何开始浏览它

  • 什么是 IAM 用户 以及如何创建

  • 什么是 AWS CLI 以及如何配置和开始使用它

  • 什么是 Boto3 库以及我们如何开始使用它

如何创建一个新的AWS账户

转到aws.amazon.com点击“免费开始”,然后“创建免费帐户”

今天开始在 AWS 上构建.png

记下您要使用的电子邮件地址并选择密码和帐户名称:

aws.png

然后,您必须提供有关您的更多详细信息,例如姓名、电话号码、地址以及选择个人或专业帐户类型。目前,我建议使用个人帐户:

注册 AWS.png

作为最后一步,您需要添加信用卡。这是因为使用 AWS 是有成本的。它们提供“免费套餐”,其中某些服务是免费的(有一定限制,或者在完全使用免费套餐中包含的配置时),但您应该记住,根据您使用 AWS 的方式,您最终可能会拥有即使您使用的是免费层,也会产生费用。

但不要担心,按照本文中的步骤操作不会在您的 AWS 账户中产生任何成本。

添加您的信用卡信息后(AWS 最初将保留 1 美元),您的帐户已创建,您需要对其进行验证。使用您的电话号码,您可以选择接收短信或自动呼叫,您只需输入收到的代码即可。之后,您应该会收到一封电子邮件,并且您的帐户应该可以正常使用。

您可以在此链接和此视频中查看有关如何创建 AWS 账户的更多详细信息:

https://youtu.be/v3WLJ_0hnOU

AWS 管理控制台

现在您的 AWS 账户已启动并运行,是时候检查 AWS 提供的内容了。 AWS Web 控制台是一个很好的首选,这是一个我们几乎可以使用 AWS 做任何事情的网站。这是您通常会访问的地方,以在 AWS 中创建新的基础设施或检查现有服务的运行情况。

此处列出了所有 AWS 服务,每项服务都有不同的 UI 和选项。我们将只做一个快速概述并检查一些服务以了解它们的外观。

访问控制台

转到aws.amazon.com/console,选择“重新登录”,然后在登录表单中,选择“根用户”并输入您用于创建帐户的电子邮件地址:

Screenshot 2022-01-19 at 14.04.20.png然后,输入你创建帐户时提供的密码,你就进去了!

截图 2022-01-19 at 14.06.36.png

上图显示了新 AWS 控制台最初的样子。这个新版本的控制台允许比以前的版本进行更多的自定义,因为我们可以添加小部件并根据需要对其进行排序。

控制台的一个重要部分是顶部栏,我们可以在其中找到服务浏览器、可以按名称查找服务的搜索框、区域选择器和 AWS 账户部分。

AWS 区域

AWS 是一个多区域云。这意味着 AWS 在全球拥有多个数据中心。我们可以让 AWS 服务在不同的区域运行。如果您需要让您的计算处理靠近您的客户,这将非常有用。

一些服务是“全球性的”(不附加到具体区域),但其中大部分可以跨不同区域使用。

最初,您可以将 AWS 区域视为 AWS 的不同部署,它们之间相互隔离。您通常会开始只使用一个区域,但如果稍后您为您构建的具体应用程序进行多区域部署,您可能会在每个区域上独立部署相同的应用程序,它们之间没有通信。 (这是一种简化,但我认为如果您刚从云开始,以这种方式看待它会有所帮助)。

在控制台中导航服务

访问服务的一种快速方法是在搜索框中输入它的名称。在那里输入“iam”,你会看到一些结果弹出:

截图 2022-01-19 at 14.17.03.png

让我们选择第一个,然后转到 IAM 服务。

现在我们在 IAM 服务 UI 中。

创建IAM用户

但是,IAM 服务到底是什么?它是 AWS 专门用于管理权限的部分。想象一下,您有一家拥有不同类型员工的公司:开发人员、云工程师、产品经理......等等。您可能希望创建具有特定权限的不同用户和组。这可以通过 IAM 用户和组来完成。

在您的 AWS 旅程的后期,您还需要服务与其他服务通信(例如:能够从 S3 读取和写入的 lambda 函数)。为此,您将使用 IAM 角色。

但是现在,让我们创建一个新的 IAM 用户,以避免将管理控制台与帐户 root 用户一起使用,不建议这样做。

为此,请转到左侧的Users,然后单击右侧的按钮Add Users。为您的新用户选择一个名称,然后您需要检查您想要该用户的访问类型。检查它们(访问密钥和密码),因为我们希望该用户能够从 Web 控制台和以编程方式使用 AWS(使用 API,我们将在稍后看到)。

选择密码,然后点击Next

截图 2022-01-19 at 14.29.31.png

在下一页,我们将暂时跳过创建组的建议,将转到Attach existing policies directly。在搜索框中键入“s3”并选择AmazonS3FullAccess策略。

这样,我们向用户授予了完全权限,但仅限于一项 AWS 服务:S3。他将无法访问所有其他服务。让我们检查。

完成用户创建进入Next页面。暂时不要选择标签,再次点击Next并完成点击Create user的过程

截图 2022-01-19 at 14.34.22.png

您已完成创建用户。记下凭据(稍后我们将需要它们)。

我们还需要我们的账户 ID,可以从右上角的账户下拉列表中复制:

截图 2022-01-19 at 15.47.59.png

最后,在同一帐户菜单中单击Sign out完成您的根会话。

要使用您的新用户登录,请转到 AWS 登录表单,选择IAM user,将您的账户 ID 号粘贴到Account ID字段中,单击Next并输入您的 IAM 用户名和密码。

您应该会看到一个新的 AWS 管理控制台。现在,如果您尝试访问任何不同于 S3 的服务,您应该会收到权限错误。例如,如果您再次尝试访问 IAM 服务,您将看到显示的几个错误:

截图 2022-01-19 at 15.53.11.png

这是意料之中的!

现在在搜索框中查找s3服务并创建一个新的存储桶。 (S3 存储桶只是我们可以在云中保存任何类型文件的地方)。

截图 2022-01-19 at 15.55.49.png

为此,在 S3 UI 中选择Create bucket,然后为您的存储桶选择一个唯一名称,并让其余选项使用默认值。

截图 2022-01-19 at 15.57.31.png

恭喜,您不仅设置了 AWS 账户,而且还创建了第一个用户、管理其权限并使用同一用户创建了 S3 存储桶! 👏

现在,让我们看看其他不通过 UI 与 AWS 交互的方式。

AWS CLI

除了使用 AWS 管理控制台之外,还可以通过编程方式来管理我们的 AWS 账户和服务。 Programmatic 意味着不是使用可视化 UI,而是直接在文本控制台中输入命令或使用代码来完成。

AWS CLI 是这些编程方式之一。它允许我们做几乎可以在 Web UI 中完成的任何事情,但使用文本命令。

让我们看看如何配置它。

安装 AWS CLI

有关如何在不同操作系统上安装 AWS CLI 的详细说明,请访问此链接。

对于 Mac OS,我通常只用 homebrew 安装它:

carbon.png

为 AWS CLI 配置凭证

安装后,打开一个新的终端窗口,然后键入aws configure命令。它将提示您输入您在创建 IAM 用户时记下的用户密钥 ID 和密钥。 (如果您没有将它们写下来,您的 root 用户可以分配一对新的凭据)

碳 (2).png

此命令将在~/.aws/credentials中生成一个文件,其中包含 AWS CLI 将使用的默认身份验证凭证。

使用 CLI 运行命令

AWS CLI 有大量的命令和子命令,因为它可以管理几乎所有的 AWS 服务。

现在我们已经用我们的 IAM 用户凭证配置了 CLI,我们将保持简单,只学习如何处理help命令,检查 IAM 用户权限是否仍然适用,并尝试列出我们的 S3 存储桶。

可以使用命令aws help访问(非常详细的)一般帮助。

通常,使用 CLI,我们需要键入命令、子命令和一些参数。

例如:要查看aws s3命令的帮助,请键入aws s3 help

列出我们帐户中的存储桶:碳 (3).png

如果我们尝试列出我们的 IAM 用户,我们会得到一个错误,因为我们的用户不能这样做!

碳 (4).png

就是这样!如您所见,我们正在从终端与我们的 AWS 账户进行交互,没有任何 UI。您可以使用 AWS CLI 做很多事情,这只是开始!

Boto3库

如果您更喜欢通过代码管理 AWS 资源,而不是在 shell 中键入命令或创建 bash 脚本,那么boto3是一个很好的库,可以完全从 Python 代码中执行此操作。

它是一个官方的 AWS 库,它与 AWS 新服务真正保持同步,并为我们从 python 代码管理 AWS 提供了很大的灵活性。

让我们从头开始看一个例子。想象一下,我想编写一个每小时运行一次的 python 脚本,并创建一个数据文件并将其上传到 S3。

我们想使用我们最近创建的 S3 存储桶,并且我们希望我们的脚本将文件放在代表执行时间戳的路径中。

让我们看看怎么做。

首先,您需要安装 boto3。如果你使用pip它就像在你的 python 环境中执行pip install boto3一样简单。

然后,您可以创建一个类似于以下的 python 脚本,使用包含脚本执行日期和小时的路径来创建文件并将其上传到 S3 存储桶:

import sys
import boto3
from datetime import datetime
import os


S3_PREFIX = "awsintro"

def create_random_data():
    """Creates meaningless bytes of data"""
    return bytes("random_data", "utf-8")

def build_path():
    """Builds a file path based on the current time"""
    now = datetime.now()
    # build a path like "awsintro/2022/01/10/23":
    return os.path.join(S3_PREFIX, str(now.year), str(now.month), str(now.day), str(now.hour), "data.txt")

def upload_data_to_s3(bucket: str):
    s3 = boto3.client("s3")
    print("creating data...")
    data = create_random_data()
    print("creating path...")
    s3_key = build_path()
    print(f"Uploading data to bucket {bucket} and key {s3_key}...")
    s3.put_object(Body=data, Bucket=bucket, Key=s3_key)


if __name__ == '__main__':
    bucket = sys.argv[1]
    upload_data_to_s3(bucket=bucket)

然后,运行将存储桶名称作为参数传递的 python 脚本:

碳 (6).png

瞧!如果您转到 Web 控制台,您将在存储桶中看到一个新的文本文件,其中包含您放入 Python 脚本的数据!

截图 2022-01-19 at 23.04.35.png

您还可以使用 AWS CLI 列出该文件:

碳 (7).png

请注意,您的存储桶名称和路径会有所不同!

您还可以使用 AWS CLI 使用以下命令将文件从 S3 下载到本地(同样,您的存储桶和路径会有所不同):

碳 (8).png

总结

尽管 AWS 是一头复杂的野兽,但我们已经了解了如何:

  • 创建一个新帐户

  • 开始使用AWS网页管理控制台

  • 创建 IAM 用户

  • 安装和配置 AWS CLI

  • 使用 boto3 从 python 代码处理 AWS

对于第一种方法来说还不错!

这只是一个开始,我希望这有助于您更轻松地开始使用 AWS。

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐