我使用 amazon Route 53 购买了一个域名,创建了一个弹性 IP 地址并将其附加到运行 MEAN bitnami 堆栈的 Amazon EC2 实例,然后我创建了一个用于静态 Web 托管的 S3 存储桶,“将所有请求重定向”到 www.domainname.com 。
但是,当我转到根域时,加载的页面是 Bitnami 祝贺页面:您现在正在云中运行 Bitnami MEAN 3.2.11-0。我创建了一个文件夹,上传了 MEAN Angular 2/express 应用程序并执行了 Node server.js,我只能在 mydomain.com:8080 上访问我的 Web 应用程序,但其他任何内容都会重定向到 Bitnami 祝贺页面。这是哪个设置在执行此操作?是亚马逊设置的吗?Bitnami 设置?或者我的服务器端代码中的某些内容。我在服务器代码中唯一提到 8080 的地方是这里,当我运行服务器时,它会打印在 8080 上运行的 API:
const port = process.env.PORT || '8080';
app.set('port', port);
const server = http.createServer(app);
server.listen(port, () => console.log(`API running on: ${port}` + ' or ' + process.env.PORT));
Run Code Online (Sandbox Code Playgroud) 使用 python boto API(不是 Boto3),如何获取在用户数据中运行脚本的 CPU 的自实例 ID。
我在 ec2 实例上有我的 django 应用程序。我可以在 localhost:8000 上的 ec2 实例上运行它。当我尝试从 ec2 实例外部访问该 django 应用程序时,它不会显示“无法访问此站点”。正在执行 ping 操作
简单的问题。但无法让它发挥作用。
我为 EC2 创建了一个 IAM 角色,具有对 CloudWatch 的完全访问权限。我启动了一个附加了此 IAM 角色的新 EC2 实例。我在此 EC2 实例上编写了一个简单的 PHP 应用程序,该应用程序尝试将指标发布到 CloudWatch。
我在 nginx 日志中收到此错误:
2017/08/23 11:44:06 [error] 32142#32142: *5 FastCGI sent in stderr:
"PHP message: PHP Fatal error:
Uncaught Aws\Exception\CredentialsException:
Cannot read credentials from /var/www/.aws/credentials
in /var/www/app/vendor/aws/aws-sdk-php/src/Credentials/CredentialProvider.php:394
Run Code Online (Sandbox Code Playgroud)
从同一个 EC2 实例,命令:
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/<role-attached-to-ec2-instance>
Run Code Online (Sandbox Code Playgroud)
返回 200 OK,响应中包含访问密钥和秘密。
这是我尝试编写 CloudWatch 指标的 PHP 代码:
<?php
require 'vendor/autoload.php';
use Aws\CloudWatch\CloudWatchClient;
use Aws\Exception\AwsException;
$count = $_GET["count"];
publishMetric($count);
function publishMetric($count) {
$client = new CloudWatchClient([
'profile' => 'default',
'region' => 'us-east-1', …Run Code Online (Sandbox Code Playgroud) 这是我第一次使用 EC2,所以请记住这一点。我创建了一个 EC2 实例,并在其上放置了一个非常基本的 Nodejs/express 应用程序。我通过个人计算机上的终端连接到 ec2 服务器并运行 node app.js 来启动应用程序,一切运行正常。我感到困惑的部分是这将运行多长时间。理想情况下,我只是希望它坐在那里,不要碰它,并让它运行数年。它会这样做吗?如果不是我需要做什么?如果服务器由于某种原因重新启动怎么办?这里的常见做法是什么?
我是 EC2 新手,目前正在学习如何使用它。我目前正在尝试实际操作 IAM、S3 和 EC2。这是我第一次使用 IAM。我正在尝试在目录中创建一个文件,其中包含元数据并包括主机名、iam-info 和安全组。我能够检索实例主机名和安全组。但是,我无法检索 iam-info。我尝试使用以下命令来检索 iam-info:
http://169.254.169.254/latest/dynamic/iam/info
我想使用curl 命令获取输出并将其重定向到我的目录中的文件中。但是,我也在使用 nginx,它会中断curl命令的执行并显示错误。我浏览了 AWS 中的 EC2 指南:
http://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_iam-ec2.html
我浏览了实例身份指南,我无法在此处复制该指南,因为这是我的第一个问题,并且只允许我使用 2 个链接。执行后元数据文件的内容应类似于以下内容:
{
"Code" : "Success",
"LastUpdated" : "2016-04-05T16:45:21Z",
"InstanceProfileArn" : "arn:aws:iam::234179547755:instance-profile/S3-access",
"InstanceProfileId" : "AIPAIKSVFD6G6V26PMAGO"
}
Run Code Online (Sandbox Code Playgroud) 好吧,这似乎是一个愚蠢的问题,但我不得不说我有点困惑。我不明白为什么我的 ELB(经典)--> EC2 运行状况检查在 AWS 中失败。
因此,按照我配置的方式,我的 ELB 的运行状况检查将尝试 ping 上的实例TCP:8080。
我的 ELB 上有 3 个端口侦听器,根据我的理解,这应该不重要,因为它处理源自外部的流量,但我将列出它,以防我忽略某些内容:1.) HTTP:80 --> HTTP:8080
2.) HTTPS:443 --> HTTP:8080
3.)TCP:2222 --> TCP:2222
我还尝试将运行状况检查配置为 pingTCP:2222以防万一,同样的交易。
此外,我的 EC2 还拥有启用 ELB 安全组的安全TCP:8080组TCP:2222。
它失败的原因是因为虽然 EC2 实例允许流量,但它仍然需要在该端口上运行某些东西来为流量提供服务?
目前,所有 EC2 都是 AWS 提供的简单 Linux AMI。
请原谅我对网络空间有点陌生。
我尝试使用 cloudformation 将多个 EBS 卷安装到我的 EC2 实例,但由于某种原因,仅安装了我指定的最后一个 EBS 卷。
EG:
NewEC2Instance:
Type: AWS::EC2::Instance
DependsOn: OldSecurityGroup
Properties:
ImageId: !Ref pImageId
InstanceType: !Ref pInstanceType
BlockDeviceMappings:
-
DeviceName: /dev/sda1
Ebs:
VolumeSize: 10
DeviceName: /dev/sdf
Ebs:
VolumeSize: 11
Encrypted: true
DeviceName: /dev/sdg
Ebs:
VolumeSize: 12
Encrypted: true
DeviceName: /dev/sdh
Ebs:
VolumeSize: 100
Encrypted: true
Run Code Online (Sandbox Code Playgroud)
对于上面的代码,仅创建 100Gb /dev/sdh。
我认为 Cloudformation 正在覆盖 EBS 卷。
有人知道为什么吗?请帮忙!
amazon-ec2 amazon-ebs amazon-web-services aws-cloudformation
我正在编写一个 Jenkins 作业来显示特定时间的 CPU 利用率,并且我的 Jenkins 作业能够使用 AWS cli 处理 AWS 命令。
有没有简单的方法可以获取 CPU 利用率?
如果我创建 ELB 并尝试附加私有子网实例,我的运行状况检查会失败:OutOfService。
问题 1:我可以获得内部/私有 IP(不是 IP,而是 dns 名称)用于负载平衡。即无法访问互联网?
问题 2:如果我的应用程序负载均衡器有一个公共 dnsname。如何附加私有子网中没有弹性 IP 的 EC2 实例(无法访问 Internet)。我正在寻找最好的方法。我们是否应该——
ELB --> 公有子网 EC2 实例(代理配置- */* [private_ip]:[port]/* ) ---> 来自私有子网/EC2 实例的服务,并在此处进行运行状况检查。
amazon-ec2 ×10
amazon-elb ×2
amazon-ebs ×1
amazon-iam ×1
aws-cli ×1
bitnami ×1
boto ×1
curl ×1
django ×1
express ×1
mean-stack ×1
nginx ×1
node.js ×1
php ×1
python ×1