web-dev-qa-db-ja.com

EC2インスタンスにパブリックDNSがありません

私が同僚からEC2コンソールにログオンするためのEC2認証情報をもらった。私がそれを設定したのは私ではありませんでした。インスタンスの中にはパブリックDNS名を表示するものと、空のパブリックDNSを持つものがあります。空のパブリックDNSを持つインスタンスに接続できるようにしたいです。なぜこれらが空白として表示されるのか私は理解できませんでした。

268
user1456508

私は同じ問題を抱えていてそれを解決しました。ステップバイステップの説明を見てください。

  • Console.aws.Amazon.comにアクセスしてください。
  • サービス - > VPCに移動します。
  • 開くあなたのVPC
  • eC2に接続されているyour VPCを選択し、
  • アクション=> DNSホスト名の編集---> DNSホスト名の変更:を選択してください

お役に立てれば!

乾杯

542
Mat

実際には「DNSホスト名」と呼ばれるVPCの設定があります。 EC2インスタンスが存在するVPCを変更して、これを「はい」に変更できます。これでうまくいくはずです。

私は昨日この問題に遭遇し、うまくいかなかったマニーからの上記の答えを試みた。しかし、VPC設定はは私には有効でした。

最終的に私はEIPを追加し、接続にそれを使用します。

50
Mike T

インスタンスがVPCで起動されたように聞こえますが、その間、Automatically assign a public IP address to your instancesのチェックボックスはチェックされませんでした。したがって、インスタンスにはパブリックIPがありません

このインスタンスにElastic IPを割り当ててから、そのIPを使用してログインできます。

36
slayedbylucifer
  1. AWSコンソールに移動します。
  2. [サービス]に移動して[VPC]を選択します
  3. Vpcをクリックしてください。
  4. インスタンスを選択して[Action]をクリックします。
  5. [DNSホスト名の編集]を選択し、[はい]をクリックします。

最後にあなたはあなたのパブリックDNSを取得します。

22

私の場合、私は slayedbylucifer からの答えを見つけましたが、同じことを示すものは有効です。
DNS hostname: yesと設定しても、my-pvcにはパブリックIPが割り当てられていません( Privat IPのみ).

パブリックIPの自動割り当てEnableに設定する必要があるのは間違いありません。
選択されていない場合は、デフォルトでUse subnet setting (Disable)に設定されます。

Assign Public IP

22
Chetabahana

私にとって問題はサブネットの設定にありました。

  1. 開く https://console.aws.Amazon.com/vpc
  2. 左メニューのサブネットに移動
  3. あなたのサブネットを選択してください
  4. 自動割り当てIP設定を変更して有効にする
20
Neftanic

これはうまくいかない問題を解決するために提供されるヒントです:

ヒント - インスタンスにパブリックDNS名がない場合は、VPCコンソールを開き、VPCを選択して[サマリ]タブを確認します。 DNS解決またはDNSホスト名のいずれかがnoの場合は、[編集]をクリックして値を[はい]に変更します。

これを実行してもパブリックIPがまだ取得されていないとしたら、VPC管理画面で問題のサブネットに移動すると、「パブリックIPの自動割り当て」が「はい」に設定されていないことがわかります。その後、その設定を変更してください。これをここで実行したくない場合は、そのサブネットに新しいインスタンスを作成します。あなたがホスト上でこれを変更することはできないと言うことができる限り、私は試してみました、ただそれを終了させて​​ください。

20
Bill Parker

別のインスタンスを起動し(そして問題があるインスタンスを使用しない場合は削除する)、今度は「インスタンスに自動的にパブリックIPアドレスを割り当てる」にチェックマークを付けます。そうでなければ、その時はslayedbyluciferが示唆しているように。インスタンスにElastic IP(EIP)を割り当ててから、そのIPを使用してログインします。あなたが無料のAWS層を運営しているなら、EIPはあなたにお金がかかるでしょうが、それでも注意してください。

9
Manny Fernandez

まず第一に、これには2つの理由があります。

  1. あなたはあなた自身のVPCを作成し、パブリックDNSを有効にするのを忘れました。

これを解決するには

i)AWS VPCコンソールに移動して、作成したVPCを選択します。

ii)次に[Actions]をクリックしてから[DNS Resolution]を有効にします。

            OR
  1. EC2設定でpublic ip-assignオプションを有効にしていません。

ここでは設定を変更できません。そのため、AMIイメージを作成して、そこからインスタンスを再作成します。

5
Patrick R

これは「DNSホスト名」と呼ばれるVPCの機能に関連しています。有効または無効にできます。 VPCに移動し、[Actions]メニューの[Edit DNS Hostnames]項目を選択して、[Yes]を選択します。そうすると、EC2インスタンスのパブリックDNSが表示されるはずです。

5
Lior Kirshner

CloudFormationを使用している場合、主なプロパティはEnableDnsSupportEnableDnsHostnamesですtrueに設定

VPC: {
    Type: 'AWS::EC2::VPC',
    Properties: {
      CidrBlock: '10.0.0.0/16',
      EnableDnsSupport: true,
      EnableDnsHostnames: true,
      InstanceTenancy: 'default',
      Tags: [
        {
          Key: 'env',
          Value: 'dev'
        }]
    }
  }
2
user6118264

インスタンスがVPCにある場合は、「DNS解決」と「DNSホスト名」の両方が「yes」に設定されていることを確認してください。これはAwsコンソールのUIで行うことができます。 HTH!

1
Trunal Bhanse

VPCコンソールに行き、VPCを選択し、そしてACTIONSメニューをクリックし、Edit DNS Hostnamesを選択します - Yesを選択します。それで解決するはずです。

1
Kingz

DNSホスト名設定の変更はAWS CLIを使用しても行うことができます。

aws ec2 modify-vpc-attribute --vpc-id $vpc_id --enable-dns-hostnames '{"Value": true}'

($ vpc_idは、インスタンスが接続されているVPCのIDです。)

VPCが更新されるとすぐに、インスタンスはパブリックDNSを取得します。

1
Paul Pritchard

VPCとサブネットの設定を確認した後、私のEC2インスタンスにはまだパブリックDNSがありませんでした。解決策を探していた1日後、私はついにそれを考え出しました。

新しいElastic IPアドレスを作成し、それを自分のインスタンスに関連付ける必要がありました。

EC2ダッシュボードから:

サイドバーからElastic IPに移動します。

新しいアドレスを割り当てるをクリックし、次に割り当てをクリックします。

EC2ダッシュボードに戻ります。 ネットワークインターフェースに進んでください。

パブリックDNSなしでEC2インスタンスを選択してください。それからアクション - アドレスの関連付け

アドレスフィールドで、新しいElastic IPアドレスを選択します。

プライベートIPアドレスに関連付けるフィールドで、パブリックDNSのないプライベートIPアドレスを選択します。

アドレスの関連付けをクリックします

あなたのEC2インスタンスはパブリックDNSを持っているはずです。

1
BenR

インスタンスにパブリックIPアドレスを割り当てる必要はありません。 NATインスタンスまたはNAT Gatewayを使用できます。

https://docs.aws.Amazon.com/vpc/latest/userguide/VPC_Scenario2.htmlhttps: //docs.aws.Amazon.com/vpc/latest/userguide/vpc-nat-comparison.html

0
Trouble