本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 1 步:创建 Amazon EC2 资源
在此步骤中,您将执行以下操作:
-
创建两个安全组。
-
在安全组中添加规则以授权额外访问。
-
启动一个 EC2 实例。在下一步中,您将创建一个 Amazon EFS 文件系统并挂载到该实例上。
步骤 1.1:创建两个安全组
在本节中,您将在 VPC 中为 EC2 实例和 Amazon EFS 挂载目标创建安全组。在演练的稍后部分,您要将这些安全组分配给 EC2 实例和 Amazon EFS 挂载目标。有关安全组的信息,请参阅适用于 EC2-VPC 的安全组中的适用于 Linux 实例的 Amazon EC2 用户指南.
创建安全组
-
使用
create-security-group
CLI 命令创建两个安全组:-
为您的 EC2 实例创建一个安全组 (
efs-walkthrough1-ec2-sg
) 并提供您的 VPC ID。$ aws ec2 create-security-group \ --region us-west-2 \ --group-name efs-walkthrough1-ec2-sg \ --description "Amazon EFS walkthrough 1, SG for EC2 instance" \ --vpc-id
vpc-id-in-us-west-2
\ --profile adminuser记下安全组 ID。以下为响应示例。
{ "GroupId": "sg-aexample" }
您可以使用以下命令查找 VPC ID:
$ aws ec2 describe-vpcs
-
创建安全组 (
efs-walkthrough1-mt-sg
) 用于您的 Amazon EFS 装载目标。您需要提供 VPC ID。$ aws ec2 create-security-group \ --region us-west-2 \ --group-name efs-walkthrough1-mt-sg \ --description "Amazon EFS walkthrough 1, SG for mount target" \ --vpc-id
vpc-id-in-us-west-2
\ --profile adminuser记下安全组 ID。以下为响应示例。
{ "GroupId": "sg-aexample" }
-
-
验证安全组。
aws ec2 describe-security-groups \ --group-ids
list of security group IDs separated by space
\ --profileadminuser
\ --region us-west-2两个安全组都应当只有一条允许所有出站流量的出站规则。
在下一节中,您将授权额外访问,以便:
-
您能够连接到 EC2 实例。
-
启用 EC2 实例与 Amazon EFS 挂载目标之间的流量 (在本演练的稍后部分,您会将这些安全组与它们关联)。
-
步骤 1.2:向安全组添加规则以授权入站/出站访问
在该步骤中,您将在安全组中添加规则以授权入站/出站访问。
添加规则
-
授权与 EC2 实例安全组 (
efs-walkthrough1-ec2-sg
) 的传入安全 Shell (SSH) 连接,以便可以从任何主机使用 SSH 连接到 EC2 实例。$ aws ec2 authorize-security-group-ingress \ --group-id
id of the security group created for EC2 instance
\ --protocol tcp \ --port 22 \ --cidr 0.0.0.0/0 \ --profile adminuser \ --region us-west-2验证安全组具有您添加的入站和出站规则。
aws ec2 describe-security-groups \ --region us-west-2 \ --profile adminuser \ --group-id
security-group-id
-
授权 Amazon EFS 挂载目标安全组的入站访问 (
efs-walkthrough1-mt-sg
)。在命令提示符处,使用 adminuser 配置文件运行下面的 Amazon CLI
authorize-security-group-ingress
命令来添加入站规则。$ aws ec2 authorize-security-group-ingress \ --group-id
ID of the security group created for Amazon EFS mount target
\ --protocol tcp \ --port 2049 \ --source-groupID of the security group created for EC2 instance
\ --profile adminuser \ --region us-west-2 -
确认两个安全组现在都授权了入站访问。
aws ec2 describe-security-groups \ --group-names efs-walkthrough1-ec2-sg efs-walkthrough1-mt-sg \ --profile adminuser \ --region us-west-2
步骤 1.3:启动 EC2 实例
在该步骤中,您将启动 EC2 实例。
启动 EC2 实例
-
收集在启动 EC2 实例时需要提供的以下信息:
-
密钥对名称:
-
有关介绍性信息,请参阅使用 Amazon EC2 进行设置中的适用于 Linux 实例的 Amazon EC2 用户指南.
-
有关创建 .pem 文件的说明,请参阅创建密钥对中的适用于 Linux 实例的 Amazon EC2 用户指南.
-
-
要启动的 Amazon 系统映像 (AMI) 的 ID。
您用来启动 EC2 实例的 Amazon CLI 命令需要您想要作为参数部署的 AMI 的 ID。本练习使用 Amazon Linux HVM AMI。
注意
您可以使用大部分通用的基于 Linux 的 AMI。如果您使用其他 Linux AMI,请确保使用分发包管理器在实例上安装 NFS 客户端。此外,您可能还需要添加一些软件包。
对于 Amazon Linux HVM AMI,您可以在 Amazon Linux AMI
找到最新的 ID。您从 Amazon Linux AMI ID 表中选择 ID 值,如下所示: -
选择美国西部(俄勒冈)区域。本演练假定您将在美国西部 (俄勒冈) 区域 (us-west-2) 创建所有资源。
-
选择 EBS 支持的 HVM 64 位类型(因为您在 CLI 命令中指定
t2.micro
实例类型,它不支持实例存储)。
-
-
您为 EC2 实例创建的安全组的 ID。
-
Amazon Web Services 区域. 本演练使用 us-west-2 区域。
-
您要在其中启动实例的 VPC 子网的 ID。可以使用
describe-subnets
命令获取子网列表。$ aws ec2 describe-subnets \ --region us-west-2 \ --filters "Name=vpc-id,Values=
vpc-id
" \ --profile adminuser选择子网 ID 后,记下
describe-subnets
结果中的以下值:-
子网 ID— 创建挂载目标时需要该值。在本练习中,您将在启动了 EC2 实例的同一子网中创建挂载目标。
-
子网的可用区— 构建挂载目标 DNS 名称时需要该值,用于将文件系统挂载到 EC2 实例上。
-
-
-
运行以下 Amazon CLI
run-instances
命令来启动 EC2 实例。$ aws ec2 run-instances \ --image-id
AMI ID
\ --count 1 \ --instance-type t2.micro \ --associate-public-ip-address \ --key-namekey-pair-name
\ --security-group-idsID of the security group created for EC2 instance
\ --subnet-idVPC subnet ID
\ --region us-west-2 \ --profile adminuser -
记下
run-instances
命令返回的实例 ID。 -
您创建的 EC2 实例必须有公有 DNS 名称,以便用来连接 EC2 实例并向其中挂载文件系统。公有 DNS 名称的形式为:
ec2-xx-xx-xx-xxx.compute-1.amazonaws.com
运行以下 CLI 命令,并记下公有 DNS 名称。
aws ec2 describe-instances \ --instance-ids
EC2 instance ID
\ --region us-west-2 \ --profile adminuser如果未找到公有 DNS 名称,则检查您在其中启动了 EC2 实例的 VPC 的配置。有关更多信息,请参阅 开始前的准备工作。
-
(可选)将一个名称分配给您创建的 EC2 实例。为此,请添加一个标签,其中键名和值设置为要分配给实例的名称。您可以使用以下 Amazon CLI
create-tags
命令进行这项操作。$ aws ec2 create-tags \ --resources
EC2-instance-ID
\ --tags Key=Name,Value=Provide-instance-name
\ --region us-west-2 \ --profile adminuser