一个和我一起工作的人给了我登录到他的EC2控制台的EC2凭证。不是我设的局。一些实例显示公共dns名称,而其他实例则显示空白的公共dns。我希望能够连接到具有空白公共DNS的实例。我一直无法弄清楚为什么这些显示为空白。
当前回答
在验证VPC和子网设置后,我的EC2实例仍然没有公共DNS。经过一天的寻找,我终于找到了解决办法。
我必须创建一个新的弹性IP地址,然后将其关联到我的实例。
从EC2仪表板:
从侧边栏转到弹性ip。
单击“分配新地址”,然后单击“分配”。
回到EC2仪表盘。进入“网络接口”。
选择没有公共DNS的EC2实例。然后操作-关联地址。
在“Address”字段中选择新创建的弹性IP地址。
“关联到私有IP地址”字段,选择没有公共DNS的私有IP地址。
单击关联地址。
您的EC2实例现在应该有一个公共DNS。
其他回答
DNS主机名设置的更改也可以使用AWS CLI完成:
aws ec2 modify-vpc-attribute --vpc-id $vpc_id --enable-dns-hostnames '{"Value": true}'
(其中$vpc_id为实例所绑定的VPC ID。)
一旦VPC更新,实例将获得一个公共DNS。
听起来像是在VPC中启动了实例,但没有选中“自动为实例分配公共IP地址”的复选框。因此实例没有公共IP
您可以为该实例分配一个弹性IP,然后使用该IP登录。
只需启动另一个实例(如果它没有用处,也可以删除有问题的实例),并确保这次选中了“自动为您的实例分配公共IP地址”。如果不像路西法说的那样;为实例分配一个弹性IP (EIP),然后使用该IP登录。但是要小心,如果你运行的是免费的AWS层,一个EIP会让你花钱——这是另一个话题了。
首先,对于公共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:
推荐文章
- 如何查看所有地区所有正在运行的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容器的最佳方法是什么?