一个和我一起工作的人给了我登录到他的EC2控制台的EC2凭证。不是我设的局。一些实例显示公共dns名称,而其他实例则显示空白的公共dns。我希望能够连接到具有空白公共DNS的实例。我一直无法弄清楚为什么这些显示为空白。
当前回答
在这里,我将总结最常见的问题:
When you create a custom VPC, if you want aws resources such as ec2 instances to acquire public IP addresses so that the internet can communicate with them, then you first must ensure that the ec2 instance is associated with a public subnet of the custom VPC. This means that subnet has an internet gateway associated with it. Also, you need to ensure that the security group of the VPC associated with ec2 instance has rules allowing inbound traffic to the desired ports, such as ssh, http and https. BUT here are some common oversights that still occur:
1)确保VPC已启用DNS主机名
2)您必须确保连接到EC2实例的公共子网启用了“自动分配公共ip”标志
3)如果实例已经创建,那么您可能需要终止它,并为要填充的公共IP和公共DNS字段创建一个新实例。
其他回答
首先,这可能有两个原因:
已创建VPC,但忘记开启“公共DNS”。
要解决这个问题:
i)进入“AWS VPC控制台”,选择已创建的VPC。
ii)然后单击“操作”,然后启用DNS解析。
OR
您没有在EC2配置中启用公共ip-assign选项。
这里你不能改变设置;因此,创建一个ami映像,然后从中重新创建实例。
实际上,在VPC中有一个叫做“DNS主机名”的设置。可修改EC2实例所在的VPC,将该选项修改为“是”。这样应该可以了。
我昨天遇到了这个问题,尝试了曼尼的上述答案,但没有奏效。不过,VPC的设置对我很有用。
最终我添加了一个EIP,我用它来连接。
我试图修复“没有公共DNS” 一旦EC2启动并运行,我就无法添加公共DNS
这甚至是在按照上述步骤制作VPC或子网的mod之后
所以,在启动另一个实例之前,我必须对子网和vpc进行修改,然后再启动一个新实例。
新实例有一个公共DNS。这就是我的工作方式。
进入VPC 选择VPC 单击“操作”,选择“编辑DNS主机名” “DNS主机名”勾选“启用” 单击保存更改
只需启动另一个实例(如果它没有用处,也可以删除有问题的实例),并确保这次选中了“自动为您的实例分配公共IP地址”。如果不像路西法说的那样;为实例分配一个弹性IP (EIP),然后使用该IP登录。但是要小心,如果你运行的是免费的AWS层,一个EIP会让你花钱——这是另一个话题了。
推荐文章
- 警告:未受保护的私钥文件!当尝试SSH到Amazon EC2实例时
- 使用boto3连接CloudFront时,如何选择AWS配置文件
- 在亚马逊云服务器上设置FTP
- 使用scp将文件复制到Amazon EC2实例?
- 无法将图像推送到Amazon ECR -由于“没有基本的身份验证凭据”而失败
- 如何测试AWS命令行工具的凭据
- 将Keypair添加到现有的EC2实例中
- AWS S3:您试图访问的桶必须使用指定的端点寻址
- 你会因为EC2上的“停止”实例而被收费吗?
- 下载一个已经上传的Lambda函数
- S3 - Access-Control-Allow-Origin头
- 何时使用Amazon Cloudfront或S3
- 如何处理错误与boto3?
- 什么数据存储在亚马逊EC2实例的临时存储?
- boto3 client NoRegionError:只能在某些时候指定区域错误