将 Amazon EFS 与 Amazon EC2 结合使用 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将 Amazon EFS 与 Amazon EC2 结合使用

Amazon EFS 提供可扩展文件存储以供和 Amazon EC2 一起使用。您可以使用 EFS 文件系统作为在多个实例上运行的工作负载和应用程序的通用数据源。有关更多信息,请参阅Amazon Elastic File System产品页

重要

Amazon EFS 在 Windows 实例上不受支持。

您可以通过以下方式将 EFS 文件系统挂载到实例:

使用 Amazon EFS 快速创建创建 EFS 文件系统

您可以使用实例启动向导的 Amazon EFS 快速创建功能,创建 EFS 文件系统并在启动时将其挂载到实例。

使用 EFS 快速创建 EFS 文件系统时,将使用以下服务推荐设置创建文件系统:

  • 自动备份已打开。有关更多信息,请参阅 Amazon Elastic File System 用户指南 中的将 Amazon Backup 与 Amazon EFS 结合使用

  • 使用 VPC 的默认安全组在选定 VPC 中的每个默认子网中挂载目标。有关详细信息,请参阅 Amazon Elastic File System User Guide 中的 管理文件系统网络可访问性

  • 通用性能模式。有关详细信息,请参阅 Amazon Elastic File System User Guide 中的 性能模式

  • 突增吞吐量模式 有关更多信息,请参阅Amazon Elastic File System User Guide中的 吞吐量模式

  • 使用 Amazon EFS (aws/elasticfilesystem) 的默认密钥启用静态数据加密。有关更多信息,请参阅Amazon Elastic File System User Guide中的加密静态数据

  • Amazon EFS使用 30 天策略启用生命周期管理。有关更多信息,请参阅Amazon Elastic File System User Guide中的EFS 生命周期管理

使用 Amazon EFS 快速创建创建 EFS 文件系统

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 选择 Launch Instance

  3. Choose an AMI 页面上,选择 Linux AMI。

  4. Choose an Instance Type (选择实例类型) 页面上,选择实例类型,然后选择 Next: Configure Instance Details (下一步:配置实例详细信息)。

  5. Configure Instance Details (配置实例详细信息) 页面,对于 File systems (文件系统),选择 Create new file system (创建新文件系统),输入新文件系统的名称,然后选择 Create (创建)

    要启用对文件系统的访问,系统会自动创建以下安全组,并将其附加到实例和文件系统的挂载目标。

    • 实例安全组—不包括入站规则和允许流量通过 NFS 2049 端口的出站规则。

    • 文件系统挂载目标安全组—包括允许来自实例安全组的 NFS 2049 端口通过 NFS 2049 端口的入站规则和允许通过 NFS 2049 端口的流量通过 NFS 2049 端口的出站规则。

    您还可以选择手动创建和附加安全组。为此,请清除 Automatically create and attach the required security groups (自动创建和附加所需的安全组)

    根据需要配置剩余的设置,然后选择 Next: Add Storage (下一步:添加存储)

  6. Add Storage (添加存储) 页面上,除了 AMI 指定的卷(如根设备卷)以外,还要指定要附加到实例的卷。确保为 Nvidia CUDA 工具包预置足够的存储空间。然后,选择 Next: Add Tags (下一步: 添加标签)

  7. Add Tags (添加标签) 页面上,指定一个可用于标识临时实例的标签,然后选择 Next: Configure Security Group (下一步:配置安全组)

  8. Configure Security Group (配置安全组) 页面上,查看安全组,然后选择 Review and Launch (查看并启动)

  9. Review Instance Launch (核查实例启动) 页面上,检查这些设置,然后选择 Launch (启动) 以选择一个密钥对并启动您的实例。

创建 EFS 文件系统并将其挂载到您的实例

在本教程中,您创建一个 EFS 文件系统和两个可以使用该文件系统共享数据的 Linux 实例。

Prerequisites

  • 创建安全组 (例如 efs-sg) 以便关联到 EC2 实例和 EFS 装载目标,然后添加以下规则:

    • 允许从您计算机到 EC2 实例的入站 SSH 连接 (源是您的网络的 CIDR 块)

    • 允许从与此安全组关联的 EC2 实例 (源是安全组本身) 通过 EFS 装载目标向文件系统的入站 NFS 连接。有关更多信息,请参阅 Amazon EFS 规则Amazon Elastic File System 用户指南 中的创建安全组

  • 创建密钥对。您必须在配置您的实例时指定密钥对,否则无法连接到它们。有关更多信息,请参阅创建密钥对

步骤 1:创建 EFS 文件系统

Amazon EFS 能让您创建一个可供多个实例同时装载并访问的文件系统。有关更多信息,请参阅Amazon Elastic File System 用户指南中的为 Amazon EFS 创建资源

创建文件系统

  1. 访问 https://console.aws.amazon.com/efs/,打开 Amazon Elastic File System 控制台。

  2. 选择 Create file system

  3. (可选)对于名称,输入文件系统的名称。这将创建一个标签,其中名称作为键,而文件系统的名称作为值。

  4. 对于 Virtual Private Cloud (VPC),选择要用于您的实例的 VPC。

  5. 选择创建

  6. 创建文件系统后,请记下文件系统的 ID。本教程后面将会用到此 ID。

  7. 选择文件系统 ID。

  8. 在文件系统页面上,依次选择网络管理。查看 Amazon EFS 在 VPC 所在区域的每个可用区中创建的装载目标。对于实例的每个可用区,确保安全组的值是您在Prerequisites中创建的安全组。

  9. 选择 Save

步骤 2:装载文件系统

使用以下步骤启动两个 t2.micro 实例。请注意,必须在子网中启动 T2 实例。您可以使用默认的 VPC 或非默认的 VPC。

注意

还有其他装载卷的方式 (例如,在已运行的实例上)。有关更多信息,请参阅Amazon Elastic File System 用户指南中的装载文件系统

启动两个实例并装载 EFS 文件系统

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 选择 Launch Instance

  3. 步骤 1:选择 Amazon 系统映像 (AMI) 中,选择 Amazon Linux AMI。

  4. 步骤 2:选择实例类型中,保留默认的实例类型 t2.micro,然后选择下一步:配置实例详细信息

  5. 对于 Step 3: Configure Instance Details (步骤 3: 配置实例详细信息),执行以下操作:

    1. 对于 Number of instances (实例数) ,输入 2

    2. [默认 VPC] 如果您有默认 VPC,则它是 Network的默认值。保留默认 VPC 和 Subnet (子网) 的默认值以便在 Amazon EC2 为您的实例选择的可用区中使用默认子网。

      [非默认 VPC] 对于网络,选择您的 VPC,然后从子网中选择一个公有子网。

    3. [非默认 VPC] 对于 Auto-assign Public IP,选择 Enable。否则,您的实例将不会得到公有 IP 地址或公有 DNS 名称。

    4. 对于文件系统,选择添加文件系统。确保该值与您在步骤 1:创建 EFS 文件系统中创建的文件系统 ID 匹配。文件系统 ID 旁边显示的路径是实例将使用的装载点,您可以更改此装载点。在高级详细信息下,将自动生成用户数据,其中包括装载文件系统所需的命令。

    5. 转到向导的步骤 6。

  6. 配置安全组页面上,选择选择现有的安全组,然后选择您在Prerequisites中创建的安全组。然后选择查看和启动

  7. Review Instance Launch 页面上,选择 Launch

  8. Select an existing key pair or create a new key pair 对话框中,选择 Choose an existing key pair,然后选择您的密钥对。选择确认复选框,然后选择 Launch Instances

  9. 在导航窗格中,选择 Instances 以查看您的实例的状态。最初,其状态是 pending。在状态变为 running 后,您的实例即准备就绪,可以使用。

您的实例现已配置为在启动或重新启动时装载 Amazon EFS 文件系统。

步骤 3:测试文件系统

您可以连接到您的实例并验证文件系统是否已装载到您指定的目录 (例如,/mnt/efs)。

验证文件系统是否已装载

  1. 连接到您的实例。有关更多信息,请参阅连接到您的 Linux 实例

  2. 从每个实例的终端窗口,运行 df -T 命令以验证 EFS 文件系统是否已装载。

    $ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/xvda1 ext4 8123812 1949800 6073764 25% / devtmpfs devtmpfs 4078468 56 4078412 1% /dev tmpfs tmpfs 4089312 0 4089312 0% /dev/shm efs-dns nfs4 9007199254740992 0 9007199254740992 0% /mnt/efs

    请注意,文件系统的名称(在示例输出中显示为 efs-dns)具有以下格式。

    file-system-id.efs.aws-region.amazonaws.com:/
  3. (可选) 从一个实例在文件系统中创建一个文件,然后验证您是否可以从另一实例查看该文件。

    1. 从第一个实例,运行以下命令来创建文件。

      $ sudo touch /mnt/efs/test-file.txt
    2. 从第二个实例,运行以下命令来查看文件。

      $ ls /mnt/efs test-file.txt

步骤 4:清除

当您完成本教程后,您可以终止这些实例并删除文件系统。

终止实例

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Instances (实例)

  3. 选择要终止的实例。

  4. 依次选择实例状态终止实例

  5. 当系统提示您确认时,选择终止

删除文件系统

  1. 访问 https://console.aws.amazon.com/efs/,打开 Amazon Elastic File System 控制台。

  2. 选择要删除的文件系统。

  3. 选择 ActionsDelete file system

  4. 当系统提示您确认时,输入文件系统 ID 并选择删除文件系统