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

共 2832字,需浏览 6分钟

 ·

2022-04-25 00:07


在本文中,我将向您介绍如何使用 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 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 ec2 create-security-group --group-name  --description  --vpc-id 

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 访问。

打开 80 端口:

aws ec2 authorize-security-group-ingress --group-name your_group_name --protocol tcp --port 80 --cidr 0.0.0.0/0

打开 22 端口:

aws ec2 authorize-security-group-ingress --group-name your_group_name --protocol tcp --port 22 --cidr 0.0.0.0/0

创建密钥对

什么是密钥对?密钥对是公钥和私钥的组合。公钥用于加密数据,而私钥用于解密数据。您将使用密钥对连接到您的 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 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

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

测试您的 Apache Web 服务器

最后,您可以复制并粘贴您的公共 IPv4 地址到您的浏览器中。您应该看到相同的 Apache 测试页面!如果你也得到了这张图片,恭喜你——你的设置也成功了。

……现在去庆祝吧!

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

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


浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报