一个和我一起工作的人给了我登录到他的EC2控制台的EC2凭证。不是我设的局。一些实例显示公共dns名称,而其他实例则显示空白的公共dns。我希望能够连接到具有空白公共DNS的实例。我一直无法弄清楚为什么这些显示为空白。
当前回答
DNS主机名设置的更改也可以使用AWS CLI完成:
aws ec2 modify-vpc-attribute --vpc-id $vpc_id --enable-dns-hostnames '{"Value": true}'
(其中$vpc_id为实例所绑定的VPC ID。)
一旦VPC更新,实例将获得一个公共DNS。
其他回答
首先,对于公共IP / DNS,您必须有一个正在运行的EC2服务(可以是实例/ Docker / Lightsail)。对于任何服务,你都将有两个不同的ip(私有和公共),一旦你主动选择了实例,安全选项卡下的安全组也是可用的。
步骤1:
您可以根据端口使用情况启用,例如如果您想使用HTTP和HTTPS端口托管网站
EC2->安全组->编辑入站规则->添加或删除所需的端口。
例如80,443,22等和端口的流量来源(如果你想让端口对所有人开放,请选择任何地方,或者如果你想为所选的ip打开应用程序-手动输入IPV4/IPV6。
完成上述配置后,创建弹性IP并将其附加到正在运行的EC2实例。一旦您将IP附加到实例,您的公共IP将是弹性IP
步骤2:
AWS还提供一项名为Route53的服务。在这里,您可以创建托管区域,并在创建后输入不带www的域名,您将获得托管区域的name Server值。
了解更多关于Route53的信息https://aws.amazon.com/route53/
问题是删除了VPC中的DNS主机名。你可以像这样轻松地启用它:
进入控制台中您的实例,然后单击您的VPC ID。 在VPC中,勾选“编辑DNS主机名” 将其设置为启用并保存更改。 现在,在您的EC2实例窗口中,您可以找到DNS:
实际上,在VPC中有一个叫做“DNS主机名”的设置。可修改EC2实例所在的VPC,将该选项修改为“是”。这样应该可以了。
我昨天遇到了这个问题,尝试了曼尼的上述答案,但没有奏效。不过,VPC的设置对我很有用。
最终我添加了一个EIP,我用它来连接。
在这里,我将总结最常见的问题:
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字段创建一个新实例。
对于那些使用CloudFormation,关键属性是EnableDnsSupport和EnableDnsHostnames,应该设置为true
VPC: {
Type: 'AWS::EC2::VPC',
Properties: {
CidrBlock: '10.0.0.0/16',
EnableDnsSupport: true,
EnableDnsHostnames: true,
InstanceTenancy: 'default',
Tags: [
{
Key: 'env',
Value: 'dev'
}]
}
}
推荐文章
- 如何查看所有地区所有正在运行的Amazon EC2实例?
- 如何从命令行使用多个AWS帐户?
- 如何搜索亚马逊s3桶?
- 拒绝访问;您需要(至少一个)SUPER特权来执行此操作
- 我如何使用通配符“cp”一组文件与AWS CLI
- 我如何获得亚马逊的AWS_ACCESS_KEY_ID ?
- 如何使所有对象在AWS S3桶公共默认?
- 为什么我应该使用亚马逊Kinesis而不是SNS-SQS?
- 如何重命名AWS S3 Bucket
- AWS ECS中的任务和服务之间有什么区别?
- 亚马逊SimpleDB vs亚马逊DynamoDB
- 亚马逊ECS和亚马逊EC2有什么区别?
- 我如何知道我在S3桶中存储了多少对象?
- S3 Bucket操作不应用于任何资源
- 将AWS凭证传递给Docker容器的最佳方法是什么?