读者朋友们,大家好。在这篇文章中,我们将看到如何使用AWS CLI启动一个带有Nginx的EC2实例。首先,我们将看到关于什么是AWS,AWS CLI和Nginx的基本信息。
因此,让我们开始吧
简介
AWS
亚马逊网络服务(AWS)是一个完整的云计算平台,包括基础设施即服务(IaaS)和平台即服务(PaaS)的产品。AWS的产品为计算、存储、数据库、分析等提供可扩展的答案。
AWS CLI
这是一个你可以下载和配置的设备,以便从你的命令行中操纵一些AWS的产品。我们将使用AWS CLI来开始一个AWS弹性计算云(EC2)实例。一个EC2可以根据你的需要释放尽可能多的数字服务器,配置安全和网络,并控制存储。
Nginx
NGINX是一个开放的软件程序,用于互联网服务、反向代理、缓存、负载平衡、媒体流等。它是作为一个互联网服务器开始的,旨在实现最大的整体性能和稳定性。除了HTTP服务器的功能外,NGINX还可以作为一个代理。
操作步骤
通过一个EC2实例,我们将使用一个引导脚本来建立和运行NGINX网络服务器。
前提条件
- 一个AWS的账户
- 安装了AWS CLI
现在,让我们一步一步地进行。
第1步 : 配置AWS CLI
在我们开始行走指示和启动我们的网络服务器之前,我们需要设置我们的默认凭证。我们可以使用随后的命令来做这件事。
aws configure

你会被要求提供你的AWS访问密钥ID,你的AWS秘密访问密钥,默认区域名称,以及默认输出格式。
第2步: 创建一个安全组
我们将需要创建一个安全组,作为我们例子中的数字防火墙来管理入站和出站流量。为了创建这个安全组,我们需要我们的VPC(虚拟私有云)ID。我们的安全组可以被分配到这个VPC。要发现VPC的ID,请使用后续的命令。
aws ec2 describe-vpcs
这将使我们能够找到并复制VPC ID,以便我们能够将其添加到我们的安全组设置中。

然后我们将使用这个命令来创建我们的安全组。
aws ec2 create-security-group --group-name <Your_Project_Name> --description
<Your_Description> --vpc-id <Your_VPC>
然后,这将给你的组ID。

复制这个组的ID,以便在需要时使用它。
第3步 :为安全组添加规则
接下来,我们可以向我们的安全组上传策略,以操纵允许进入我们网站服务器的入站访问者。
我们将把我们的NGINX网络服务器设置为22端口和80端口。22号端口允许从我们社区的IPv4地址入站SSH,80号端口允许从所有IPv4地址入站HTTP。
要做到这一点,我们将使用这两个命令。
aws ec2 authorize-security-group-ingress --group-id <Your_Group_ID> --
protocol tcp --port 80 --cidr 0.0.0.0/0
AND
aws ec2 authorize-security-group-ingress --group-id <Your_Group_ID> --
protocol tcp --port 22 --cidr 0.0.0.0/0
看起来我们已经设置好了。

第4步 : 创建一个密钥对
一个密钥对是由一个用于加密信息的公钥和一个用于解密信息的私钥组成。
创建我们的密钥对的命令是。
aws ec2 create-key-pair --key-name <Your_Key_Pair_Name>
我们可以通过以下方式检查该密钥对。
aws ec2 describe-key-pairs --key-name <Your_Key_Pair_Name>
第5步 : 添加一个引导脚本
在AWS中的引导方法,我们可以向AWS EX2的例子用户数据阶段上传指令或脚本,这些指令或脚本可能在例子启动时完成。这个脚本将替换所有的包,设置NGINX,并允许和开始服务。
为了创建这个脚本,我们可以运行这个命令。
nano nginx_script.sh
而一旦进入编辑器,我们就可以输入这个脚本。
#!/bin/bash
sudo yum update -y
sudo install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
第6步 : 获取你的AMI ID
现在我们要发现我们的AMI(Amazon Machine Image)。
为了尝试这一点,我们要访问我们的AWS EC2仪表板。我们将选择启动实例,一路向右滚动到应用程序和操作系统图像(亚马逊机器图像)部分,并复制AMI ID。

第7步 : 启动实例
现在我们有了创建EC2实例所需的一切。我们将使用以下命令来创建我们的实例。
aws ec2 run-instances --image-id <Your_AMI> --count 1 --instance-type
t2.micro --key-name <Your_Key_Pair_Name> --security-group-ids
<Your_Security_Group_ID> --user-data <Your_Script_File>

现在我们要发现我们的AMI(亚马逊机器图像)。
在这个命令中,我们要告诉AWS我们需要开始一个使用我们决定的AMI的例子,我们需要一个例子,并且它将是一个t2.micro。
我们还将在实例的用户数据区域内设置我们的密钥对、安全组和我们的脚本。
让我们现在运行这个命令来测试和注意EC2是否已经启动和运行。
aws ec2 describe-instances
在这里你可以看到一个部分截图,如果你的实例正确启动,你会看到什么。

第8步 : 检查网络服务器
最后,我们要从我们的AWS EC2仪表板上复制IP地址 。

然后把它粘贴到浏览器中,看看它是否有效。如果你已经成功了,你会看到这个图像。

太好了 !我们已经使用AWS CLI启动了一个带有Nginx的EC2实例。
结论
如果你在我身边,你已经能够发布一个EC2实例,并通过一个引导脚本开始使用NGINX网络服务器,所有这些都是在AWS CLI中完成的一旦你适应了AWS CLI,你就能更快地绘画并保持时间。