AWS EC2的创建方法(2023年)

以下是创建EC2实例的方法说明。

如果您想了解在Windows、Red Hat、Ubuntu等其他虚拟机中执行相同操作的方法,请在评论中留言。在提案示例中,我们将使用Amazon Linux 2进行启动。

◆ 在提案的例子中,我们将讨论以下情况:

Apacheのみ: index.htmlページが表示されます

Apache + PHP: index.phpページが表示されます

NodeJSのみ: index.jsページが表示されます

ExpressJS: index.jsページが表示されます

如果你想看一下在Python、C#或其他语言中实现同样功能的方法,请在评论中留言。

如果您希望了解安装Laravel、CakePHP、ECCube、WordPress、Django等软件的方法,请留下评论。

在本教程中所描述的方法适合初学者使用。实际上,通常情况下,我们会使用AWS CLI、AWS CDK或Amazon CloudFormation来自动化实例的部署过程,而不是手动执行(在未来的教程中我们还会介绍更高级的方法)。

创建EC2实例

这个步骤在所有情况下都是通用的。

请登录AWS控制台。

image37.png

请点击页面顶部的”北维吉尼亚”。

image31.png

请选择“亚太地区(东京)”。

image48.png

请确认一下。请确认所选地区是“东京”。

image40.png

请将页面滚动到顶部并访问标有“搜索”的搜索框。

image49.png

请在此搜索框中输入“EC2”。
将显示下拉列表:

image29.png

请点击「EC2」。

image21.png

将会显示EC2仪表板。

image8.png

在这个界面上,您可以创建EC2实例,引入自动扩展和负载均衡器,但是在本教程中,我们只会进行EC2实例的创建。

要创建EC2实例,请点击“启动实例”。

image46.png

前往创建EC2实例的页面。

image27.png

请再次确认您是否在“东京”地区。

image35.png

现在开始创建4个EC2实例。第一个EC2实例将启动一个简单的Apache服务器。第二个EC2实例将启动Apache和PHP。第三个EC2实例将启动NodeJS服务器。最后一个EC2实例将启动ExpressJS服务器。

好的,让我们开始吧!

请前往“名称和标签”部分。

image4.png

请在“姓名”一栏中写上“服务器”。

image43.png

请在「实例数量」的字段中输入4。

image39.png

请转到「应用程序和操作系统镜像(亚马逊机器镜像)」部分。

image50.png

请确认所指定的操作系统是“Amazon Linux”。
这是默认值。

image24.png

请在「实例类型」部分中选择您想要使用的EC2实例类型。

image6.png

建议在测试和开发阶段使用默认类型的t2.micro。因为它几乎没有费用。

image33.png

请前往「密钥对(登录)」部分。

image41.png

要创建密钥对,请点击“创建新密钥对”。

image47.png

模态应该打开。

image25.png

请在「密钥对名称」字段中输入密钥对的名称。

image19.png

在本教程中,我们给密钥对命名为“我的演示密钥”。

image23.png
    • LinuxまたはMacを使用している場合、「キーペアのタイプ」を変更せずに「.pem」を使用してください。

 

    Windowsを使用している場合は、「キーペアのタイプ」を変更し、「.ppk」を使用してください。

根据我个人的情况,我使用Mac,因此保留了“.pem”文件。

image34.png

请点击“创建密钥对”。

image16.png

请确保将密钥对准确地保存在硬盘上,以免丢失密钥对。

请确认密钥对是否正确选择。

image9.png

请进入「网络设置」部分。

image51.png

AWS写道,可以创建安全组。

image18.png

在我的情况下,安全组的名称是launch-wizard-4。但是,请注意,你的情况下可能会有不同的名称。

接下来,勾选“允许来自互联网的HTTP流量”,确保实例可以访问互联网。

image26.png

请点击”启动实例”按钮。

image45.png

您将被重定向到此页面:

image38.png

请等待,直到加载画面完成后,请点击“显示所有实例”按钮。

image7.png

您将被重定向到EC2仪表板的页面。

image10.png

在这里,应该会显示出4个EC2实例。

image2.png

请稍等。请等到实例的状态变为绿色。也就是说,显示为”运行中”。

image1.png

如果花费了很长时间,请点击列表顶部的按钮来更新列表。

image14.png

在接下来的时候,我们会修改实例的名称。

当将鼠标光标移动到第一个实例的名称上时,应该会显示一个小笔的图标。

image3.png

请点击笔图标。

image22.png

请在文本框中输入“仅限Apache”。

image28.png

请按下Enter键以确认。

image42.png

恭喜你!你成功地將第一個實例重新命名了。

image5.png

请在其他三个实例中执行相同的事情。

请将它们分别更名为以下内容:

    • Apache+PHP

 

    • NodeJSのみ

 

    ExpressJS

以下是中文的表达方式:

image36.png

因为我刚刚创建了四个EC2实例,所以我可以开始进行服务器配置了。

仅限于Apache

我們會開設第一個實例。這是一個只搭載Apache服務器而不包含PHP的實例。

请只选择名为「Apache」的实例。

image20.png

然后,请点击“连接”菜单。

image32.png

然后,应该会跳转到这个页面。 , huì .)

image44.png

请点击“连接”按钮。

image17.png

应该会打开一个新窗口

image13.png

请输入以下命令:

sudo su
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "Apache Server only" > /var/www/html/index.html

请返回EC2实例列表页面,在那里选择名为”Apache的实例”的选项。

image20.png

之后,请选择“网络连接”选项卡。

image30.png

接下来,请搜索“公共IPv4地址”。

image11.png

在我的情况下,我的公共IPv4地址是52.195.214.151。

接下来,请将此IP地址复制并粘贴到浏览器中。如果一切正常,应该会显示出这个页面:

Screenshot 2023-12-08 at 17.34.07.png

Apache加PHP

请只选择名为「Apache+PHP」的实例。

Screenshot 2023-12-08 at 17.36.52__PHP_01.png

请点击“连接”菜单。

Screenshot 2023-12-08 at 17.36.52__PHP_01 copy.png

接下来,应该会转到这个屏幕上:

Screenshot 2023-12-08 at 17.37.05__PHP_02.png

请点击“连接”按钮。

Screenshot 2023-12-08 at 17.37.05__PHP_02 copy.png

应该会打开一个新的窗口。

Screenshot 2023-12-08 at 17.46.41__PHP_03.png

请键入以下命令:

sudo su
yum update -y
yum install -y httpd
yum install -y php
systemctl start httpd
systemctl enable httpd
echo "<?php phpinfo(); " > /var/www/html/index.php

请返回EC2实例列表页面,仅选择名为“Apache+PHP”的实例。

Screenshot 2023-12-08 at 17.36.52__PHP_01.png

后来,请选择“网络”标签。

Screenshot 2023-12-08 at 17.40.50__PHP_04.png

请搜索“公共IPv4地址”。

Screenshot 2023-12-08 at 17.40.58__PHP_05.png

在我的情况下,我的公网IPv4地址是54.178.103.42。

然后,请复制此IP地址并粘贴到浏览器中。如果一切顺利,应该会显示出这个页面:

Screenshot 2023-12-08 at 17.43.01__PHP_06.png

仅限于NodeJS

请仅选择名为「NodeJS的实例」的选项。

Screenshot 2023-12-10 at 22.29.15__NODE_01.png

请点击“连接”菜单。

Screenshot 2023-12-10 at 22.29.15__NODE_01 copy.png

接下来,您应该会被转到该屏幕。

Screenshot 2023-12-10 at 22.29.34__NODE_02.png

请点击“连接”按钮。

Screenshot 2023-12-10 at 22.29.34__NODE_02 copy.png

应该会打开一个新窗口。

Screenshot 2023-12-10 at 22.37.12__NODE_03.png

请输入以下命令:

sudo su
yum update -y
yum install -y gcc-c++ make
yum install -y nodejs 
npm install pm2@latest -g
cd /home/ec2-user/
touch index.js
vim index.js

请在index.js文件中添加以下代码:

const http = require('http');
 
const server = http.createServer((req, res) => {
   res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
   res.write('<h1>Hello World</h1>');
   res.end();
});
 
const port = 80;
server.listen(port);

请保存 index.js 文件,并执行以下命令。

pm2 startup
pm2 start /home/ec2-user/index.js --name=MY_NODE_SERVER

请返回EC2实例列表页面,仅选择名为”NodeJS的实例”。

Screenshot 2023-12-10 at 22.29.15__NODE_01.png

然后,请选择“网络”选项卡。

Screenshot 2023-12-10 at 23.24.58.png

然后,请搜索“公共IPv4地址”。

Screenshot 2023-12-10 at 22.37.55__NODE_05.png

在我这个情况下,我的公共IPv4地址是18.177.140.171。

请将此IP地址复制并粘贴到浏览器中。如果一切顺利,应该能够显示出该网页:

Screenshot 2023-12-10 at 22.39.45__NODE_6.png

ExpressJS (用中文表达)

请仅选择名为「ExpressJS的实例」的选项。

Screenshot 2023-12-10 at 22.40.08__EXPRESS_01.png

请点击”连接”菜单。

Screenshot 2023-12-10 at 22.40.08__EXPRESS_02.png

然后,应该会跳转到这个画面。

Screenshot 2023-12-10 at 22.40.17__EXPRESS_03.png

请点击”连接”按钮。

Screenshot 2023-12-10 at 22.40.17__EXPRESS_04.png

应该会打开一个新窗口。

Screenshot 2023-12-10 at 22.40.28__EXPRESS_05.png

请键入以下命令:

yum update -y
yum install -y gcc-c++ make
yum install -y nodejs 
npm install pm2@latest -g
cd /home/ec2-user/
npm init -y
npm install express
touch index.js
vim index.js

请将以下代码添加到index.js文件中:

const express = require('express');
const http = require('http');
 
const app = express();
const router = express.Router();
 
router.get('/', (req, res) => {
   res.status(200).send('Hello World 2!');
});
 
app.use('/', router);

const server = http.createServer(app);
server.listen(80);

请保存 index.js 文件,并执行以下命令。

pm2 startup
pm2 start /home/ec2-user/index.js --name=MY_EXPRESS_SERVER

请返回到EC2实例列表页面,并选择名为”ExpressJS的实例”的实例。

Screenshot 2023-12-10 at 22.40.08__EXPRESS_01.png

请之后选择“网络”选项卡。

Screenshot 2023-12-10 at 22.40.08__EXPRESS_06.png

请搜索”公共IPv4地址”。

Screenshot 2023-12-10 at 22.45.35__EXPRESS_07.png

在我的情况下,我的公共IPv4地址是54.64.126.246。

请将该IP地址复制并粘贴到浏览器中。如果一切顺利,该页面应该会显示出来:

Screenshot 2023-12-10 at 22.46.11_EXPRESS_08.png

为什么这种方法适合初学者?

我部署了四个Web服务器。其中一个只包含了Apache,另一个包含了Apache和PHP,再一个只包含了NodeJS,最后一个则包含了ExpressJS。

你可能已经注意到了,我几乎总是在做同样的事情。

如果任务会重复发生,就需要将它们自动化。

我不是日本人,所以不清楚日本的工程学院教授什么,但在法国,优秀的工程师是尽可能多自动化的工程师。

为什么要自动化工作?

1つ目の理由は、怠惰で同じことを何度も繰り返したくないからです。

タスクを自動化すれば、手動で行うよりもはるかに速く処理できます。

自動化されたタスクを実行することで、エラーを防ぐことができます。実際、うっかり特定のオプションを選択し忘れる可能性があります。

自動化されたタスクは通常YAMLファイルなどのファイルに書かれることがあります。これらのファイルはGitHubに保存してチームと共有できます。これにより、デプロイメントをバージョン管理したり、デプロイメントを更新したりすることができます。

自動化されたタスクは、行動を追跡可能にすることができます。つまり、問題が発生した場合、自動化されたスクリプトをチェックして更新するだけで済みます。

有很多原因但在这里不打算列举所有的。

什么事情可以自动化?

你可能会认为几乎所有事情都可以自动化。以下是几个例子:

WordPress、Laravel、CakePHP、ECCubeなどのウェブサイトの自動デプロイメント。

ホワイトラベル製品の自動デプロイメント。

コンセプトの検証のためのテストサーバーの自動デプロイメント。

广告
将在 10 秒后关闭
bannerAds