AWS EC2云服务器实例的创建和XShell远程连接

本想在EC2上部署一套RocketMQ,然后就开始捣鼓EC2。

一、什么是EC2

Amazon Elastic Compute Cloud (Amazon EC2) 在 Amazon Web Services (AWS) 云中提供可扩展的计算容量。使用 Amazon EC2 可避免前期的硬件投入,因此您能够快速开发和部署应用程序。通过使用 Amazon EC2,您可以根据自身需要启动任意数量的虚拟服务器、配置安全和网络以及管理存储。Amazon EC2 允许您根据需要进行缩放以应对需求变化或流行高峰,降低流量预测需求。
相当于阿里云的ECS、腾讯云的CVM
官方文档说的云里雾里,其实就是云服务器,云中的可扩展的虚拟计算资源。云服务器免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。

二、概念

2.1 AMI

Amazon 系统映像 (AMI) 是一种包含软件配置 (例如,操作系统、应用程序服务器和应用程序) 的模板。通过 AMI,您可以启动实例,实例是作为云中虚拟服务器运行的 AMI 的副本。您可以启动多个 AMI 实例。

2.2 实例

实例是云中的虚拟服务器。启动时的实例配置是您在启动实例时指定的 AMI 的副本。

您可以从一个单一的 AMI 启动不同类型的实例。实例类型从本质上决定了用于您的实例的主机硬件。每一个实例类型提供不同的计算和存储能力。选择一种基于您打算在实例上运行的应用程序或软件所需的存储容量和计算能力的实例类型。有关每种 Amazon EC2 实例类型的硬件规格的更多信息,请参阅 Amazon EC2 实例类型。

启动一个实例后,该实例看上去像一个传统主机,您可以像与任何计算机交互一样与其进行交互。您对实例有完全控制权;您可以使用 sudo 运行需要root权限的命令。

三、设置

3.1 创建密钥对

AWS 使用公共密钥密码术来保护您的实例的登录信息。Linux 实例没有密码;您可以使用密钥对安全地登录您的实例。 使用 SSH 登录时,您在启动实例时指定密钥对的名称,然后提供私有密钥。

在创建EC2实例的时候可以创建密钥对,如果您尚未创建密钥对,则可以通过 Amazon EC2 控制台自行创建。
创建密钥对

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/。

  2. 在导航窗格中,选择 Key Pairs (密钥对)

  3. 选择 Create key pair (创建密钥对)

  4. 对于 Name (名称),输入密钥对的描述性名称。Amazon EC2 将公有密钥与您指定作为密钥名称的名称相关联。密钥名称最多可包含 255 个 ASCII 字符。它不能包含前导空格或尾随空格。

  5. 对于 File format (文件格式),选择要保存私有密钥的格式。要以可与 OpenSSH 一起使用的格式保存私有密钥,请选择 pem。要以可与 PuTTY 一起使用的格式保存私有密钥,请选择 ppk

  6. 选择 Create key pair (创建密钥对)

  7. 您的浏览器会自动下载私有密钥文件。基本文件名是指定为密钥对名称的名称,文件扩展名由您选择的文件格式确定。将私有密钥文件保存在安全位置。


重要: 这是您保存私有密钥文件的唯一机会。

3.2 创建安全组

安全组用作相关实例的防火墙,可在实例级别控制入站和出站的数据流。您必须在安全组中添加规则,以便能够使用 SSH 从您的 IP 地址连接到实例。您还可以添加允许来自任意位置的入站和出站 HTTP 和 HTTPS 访问的规则。

请注意,如果您计划在多个区域中启动实例,则需要在每个区域中创建安全组。
创建具有最小特权的安全组

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2。

  2. 从导航栏中选择安全组的区域。安全组特定于某一区域,因此您应选择已创建密钥对的区域。

  3. 在导航窗格中,选择 Security Groups

  4. 选择创建安全组

  5. Basic details (基本详细信息) 部分中,执行以下操作:

    1. 输入新安全组的名称和描述。使用一个容易记住的名称,例如,您的用户名称,后跟 SG,加区域名称。例如,meSGuswest2

    2. VPC 列表中,为区域选择您的默认 VPC。

  6. 入站规则选项卡上,创建以下规则(为每个新规则选择添加规则):

    • Type 列表中选择 HTTP,确保 Source 设置为 Anywhere (0.0.0.0/0)。

    • Type 列表中选择 HTTPS,确保 Source 设置为 Anywhere (0.0.0.0/0)。

    • Type 列表中选择 SSH。在框中,选择 My IP 以便使用本地计算机的公有 IPv4 地址自动填充该字段。或者,选择自定义并用 CIDR 表示法指定计算机的公有 IPv4 地址或网络。要采用 CIDR 表示法指定单个 IP 地址,请添加路由前缀 /32,例如 203.0.113.25/32。如果您的公司要分配同一范围内的地址,请指定整个范围,例如 203.0.113.0/24

重要: 出于安全原因,我们不建议您允许从所有 IPv4 地址 (0.0.0.0/0) 对您的实例进行 SSH 访问(以测试为目的的短暂访问除外)。

  1. 选择创建安全组

我是要使用XShell连接管理EC2,所以配置的安全组规则如下:

安全组

四、启动实例

使用 AWS 管理控制台启动 Linux 实例。

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/。

  2. 从控制台控制面板中,选择启动实例

  3. Choose an Amazon Machine Image (AMI) 页面显示一组称为 Amazon 系统映像 (AMI) 的基本配置,作为您的实例的模板。选择 Amazon Linux 2 的 HVM 版本。 请注意,这些 AMI 标记为“Free tier eligible”(符合条件的免费套餐)。

  4. Choose an Instance Type (选择实例类型) 页面上,您可以选择实例的硬件配置。选择 t2.micro 实例类型 (默认情况下的选择)。t2.micro 实例类型适用免费套餐。在 t2.micro 不可用的区域中,您可以使用免费套餐下的 t3.micro 实例。有关更多信息,请参阅 AWS 免费套餐。

  5. 选择 Review and Launch 让向导为您完成其他配置设置。

  6. Review Instance Launch (查看实例启动) 页面上的 Security Groups (安全组) 下,您将看到向导为您创建并选择了安全组。使用以下步骤,您可以使用此安全组,或者也可以选择在设置时创建的安全组:

    1. 选择 Edit security groups

    2. Configure Security Group 页面上,确保 Select an existing security group 处于选中状态。

    3. 从现有安全组列表中选择您的安全组,然后选择 Review and Launch

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

  8. 当系统提示提供密钥时,选择 Choose an existing key pair,然后选择您在进行设置时创建的密钥对。

警告: 请不要选择在没有密钥对的情况下继续。如果您启动的实例没有密钥对,就不能连接到该实例。

准备好后,选中确认复选框,然后选择 Launch Instances

  1. 确认页面会让您知道自己的实例已启动。选择 View Instances 以关闭确认页面并返回控制台。

  2. 实例屏幕上,您可以查看启动状态。启动实例只需很短的时间。启动实例时,其初始状态为 pending。实例启动后,其状态变为 running,并且会收到一个公有 DNS 域名。(如果 Public DNS (IPv4) 列已隐藏,请选择页面右上角的 Show/Hide Columns (齿轮状图标),然后选择 Public DNS (IPv4)。)

  3. 需要几分钟准备好实例,以便您能连接到实例。检查您的实例是否通过了状态检查;您可以在 Status Checks 列中查看此信息。

    启动完成的EC2实例

五、 XShell连接EC2

官网没有相关的参考资料。

  1. 打开XShell,选择“工具”菜单项

  2. 选择“用户密码管理...”,打开“用户密钥”界面
  3. 在“用户秘钥”中选择“导入”按钮,导入之前准备好的PEM文件。导入之后,选择“关闭”按钮关闭该界面。
  4. 选择“文件”菜单下的“新建..."项,我们开始新建一个到云服务器的会话连接
  5. 在左侧列表框中选择“连接”,在右侧界面中输入会话名称和主机公网IP或者公网DNS域名。


    如下图:在EC2的控制台他显示的是“公有DNS(IPv4)”表面也是我们理解的DNS服务器,一开始我还纳闷告诉我们DNS我们也不需要知道啊,它实际表达的意思是可被公网DNS解析的EC2服务器的域名,我们可以直接访问这个域名来连接。
    IP及公网DNS域名

  6. 在左侧列表框中选择“用户身份验证”
    修改右侧界面:
    “方法”项的值改成“Public Key”
    “用户”项的值根据在云服务器上定义的用户名,默认“ec2-user”,这一点非常差劲,在导出证书也没有告诉我用户名,因为不知道,我就默认写了个root在进行登录连接,看到报错提示发现是ec2-user这个用户
    “用户密钥”项的值是下拉框中选择上一步导入的PEM文件
    点击”确定“按钮,完成设置。

最后,进行连接后就可以正常的操作EC2了。


六、SSH命令行方式连接EC2

win10自带了OpenSSH可以直接使用ssh命令进行Linux服务器的连接,参考文章:https://www.jianshu.com/p/e9d20554956b

你可能感兴趣的:(AWS EC2云服务器实例的创建和XShell远程连接)