我在 EC2 上创建了一个微实例,其中包含我的基于节点.js Web 应用程序以及 nginx(创建了一个反向前端代理,以便我的应用程序可以在端口 3000 上,并且我使用 nginx 将其路由到我的本地主机)。
我还在同一个(微)实例上安装了mongodb,但是,我昨晚在EC2上部署MongoDB的过程中阅读了MongoDB文档。此方法与我的初始方法之间的区别是:
- 此方法使用 ec2 命令行工具创建新实例
- 当我使用 ec2 命令行工具复制指令时,它告诉我它忽略了其中一个标志,所以我认为以下命令已经过时了:
$ ec2-run-instances ami-05355a6c -t m1.large -g [SECURITY-GROUP] -k [KEY-PAIR] -b "/dev/sdf=:200:false:io1:1000" -b "/dev/sdg=:25:false:io1:250" -b "/dev/sdh=:10:false:io1:100" --ebs-optimized true
-
使用上述命令并继续执行:
sudo mkfs.ext4 /dev/sdf
,我的 AMI 映像上的名称发生了变化,因为它不再存在在那里。 -
运行
ec2-run-instances
并刷新我的 Amazon EC2 控制面板后,它不会显示在我的实例中,但如果我这样做sudo fdisk -l
它将显示 2 个挂载。
如您所见,该指南可能有点过时了,我只是想知道如何在自己的实例上将我的 mongodb 部署到 EC2。从那里,我如何让他们也互相交谈?例如,我的新mongodb实例与我的节点.js带有nginx的微型实例进行通信。
尝试从 EC2 面板添加卷,然后将它们附加到现有实例。它对我有用。
命令行是
-b "/dev/xvdf=:200:false:io1:1000" -b "/dev/xvdg=:25:false:io1:250" -b "/dev/xvdh=:10:false:io1:100"
和
"/dev/xvdf=:200:false:io1:1000"
意味着
1,您必须添加一个预配置 IOPS (PIOPS) EBS 卷。
2、卷大小应为 200,IOPS 值应为 1000,可用区应与您的 ec2 实例相同。
3,xvdf 是将卷附加到实例时添加的位置。