vlambda博客
学习文章列表

从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例


在本文中,我将向您介绍如何使用 Apache Web 服务器创建 Amazon EC2 实例,同时使用 AWS 命令行界面 (AWS CLI) 来启动它们。

配置 AWS CLI

在您运行任何命令之前,AWS CLI 应该已经安装并准备就绪!安装 AWS CLI 后,您需要设置默认凭证。有关这方面的更多信息,请阅读 Amazon 文档的配置基础(https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)。运行以下命令来配置 AWS:

aws configure
从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例
  • AWS Access Key ID & Secret Access Key:这些是您的账户凭证,请保护它们!如果您没有可用的访问密钥,可以使用 https://console.aws.amazon.com/iam/ 的 IAM 控制台创建它们。

  • 默认区域名称:我将使用 us-east-1 作为默认区域。

  • 默认输出格式:JSON。使用 JavaScript Object Notation 在 Web 应用程序中传输数据。

创建安全组

安全组本质上是 EC2 实例的虚拟防火墙,它将控制传入和传出流量。当创建安全组时,必须为其提供名称和描述。在创建安全组之前,您必须获取您的 Amazon 虚拟私有云 —— VPC。

什么是 VPC?Amazon 虚拟私有云 (VPC) 是托管在公共云中的安全、隔离的私有云。借助 Amazon VPC,您可以运行代码、存储数据、托管网站以及执行您在私有云中可以执行的任何操作。

运行以下命令以获取您的 VPC:

aws ec2 describe-vpcs
从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例

下一步,运行下列命令来创建一个私有云:

aws ec2 create-security-group --group-name <value> --description <value> --vpc-id <your vpc>
从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例

Important: copy the GroupID as you’ll need it when you go to create the instance. 重要提示:当你需要创建实例时,请复制你需要的 GroupID

给安全组添加规则

对于每个安全组,您可以添加基于协议和端口范围号控制流量的规则。添加到安全组的规则取决于安全组的用途。对于我们的 Apache Web 服务器,我们将打开端口 80 和 22。这将允许来自您网络中所有 IPv4 的入站流量和来自 IPv4 的 SSH 访问。

对于每个安全组,您可以添加基于协议和端口范围号的控制流量的规则。添加到安全组的规则取决于安全组的用途。对于我们的 Apache Web 服务器,我们将打开 80 和 22 端口。这将允许您网络中来自所有 IPv4 的入站流量和来自 IPv4 的 SSH 访问。

从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例

打开 80 端口:

aws ec2 authorize-security-group-ingress --group-name your_group_name --protocol tcp --port 80 --cidr 0.0.0.0/0
从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例

打开 22 端口:

aws ec2 authorize-security-group-ingress --group-name your_group_name --protocol tcp --port 22 --cidr 0.0.0.0/0
从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例

创建密钥对

什么是密钥对?密钥对是公钥和私钥的组合。公钥用于加密数据,而私钥用于解密数据。您将使用密钥对连接到您的 Amazon EC2 实例。

aws ec2 create-key-pair --key-name KeyPairName

要检查您是否正确创建了密钥对,请使用以下代码:

aws ec2 describe-key-pairs --key-name KeyPairName

创建 Apache 服务器

这个特定的项目要求我们运行一个脚本,该脚本将执行以下操作:更新所有包、安装 Apache 并启动服务。为此,您需要执行引导操作。Bootstrapping 允许您编写启动脚本,以便在实例启动时自动执行命令。

要创建新的 Vim 脚本,请运行以下命令:

vim apache_runscript.sh

在 Vim 中,输入下列脚本:

#!/bin/bash
yum update -y
yum install httpd -y
systemctl start httpd
systemctl enable httpd

启动 EC2 实例

当您启动您的实例时,它首先会显示为有待处理(pending),请给这个过程几分钟,直到看到状态更改为正在运行(running)。耐心点!

在启动 EC2 实例之前,您需要转到 AWS 控制台并找到您的 AMI ID。什么是 AMI?Amazon 系统映像 (Amazon Machine Image, AMI) 用于在 AWS 环境中创建 EC2 实例的主映像。AMI 提供启动实例所需的信息。有趣的是,如果它们需要相同的配置,您可以从单个 AMI 启动多个实例。

查找 AMI ID:转到 AWS 控制台,搜索 EC2 > 单击 Launch instances > 将 AMI 复制并粘贴到以下代码中。

运行以下代码以启动 EC2 t2.micro 实例:

从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例
aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t2.micro --key-name KeyPairName --security-group-ids sg-903004f8 --user-data file:// apache_runscript.sh

检查 AWS 控制台以验证您的实例状态是否为 “Running”

从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例

从上图中可以看出,它是正在运行(Running)的,您可以继续进行下一步!

测试您的 Apache Web 服务器

从 AWS CLI 启动带有 Apache Web 服务器的 Amazon EC2 实例

……现在去庆祝吧!

https://aws.plainenglish.io/launching-an-amazon-ec2-instance-with-an-apache-web-server-from-the-aws-cli-cb989cca6e0b

链接:https://aws.plainenglish.io/launching-an-amazon-ec2-instance-with-an-apache-web-server-from-the-aws-cli-cb989cca6e0b

(版权归原作者所有,侵删)