从 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 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
(版权归原作者所有,侵删)