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


299

一緒に働いている人から、EC2コンソールにログオンするためのEC2資格情報が提供されました。私がそれを設定したのは私ではありませんでした。一部のインスタンスにはパブリックDNS名が表示され、その他のインスタンスには空白のパブリックDNSがあります。パブリックDNSが空白のインスタンスに接続できるようにしたい。これらが空白として表示される理由を理解できませんでした。


2
インスタンスはVPC内にありますか?インスタンスの説明画面のVPC IDフィールドの横に値があるかどうかを確認します。
David Levesque 2014年

1
私は同じ問題を抱えています。私のインスタンスはVPC内にあり、サブネット上でパブリックDNSが使用可能であることを確認しました。それでも私はパブリックDNS名を取得していません。私のVPC構成では、と表示されていますが、DNS hostnames: noその値を変更することはできず、新しいVPCを追加しても選択できません。
レンチ

my-vpc、Theのセットアップ時に別の問題が発生しましたDNS hostname: yesが、インスタンスの起動時のプライベートIDのみです。Elastic IPを使用している場合のみ、パブリックIPを取得できます。
チェタバハナ2016

1
私を助けたのは、パブリックIP / DNSなしのインスタンスの停止と起動でした(再起動は役に立ちませんでした)。インスタンスが再起動された後、パブリックIPを取得しました。
justadev 2016

回答:


613

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

  • console.aws.amazon.comに移動します
  • サービスに移動-> VPC
  • VPCを開く
  • EC2に接続されているVPCを選択し
  • アクション=> DNSホスト名の編集---> DNSホスト名の変更:をYESに選択します

お役に立てれば!

乾杯


6
これが最良の答えです。要チェックです!
アルベルトSpelta

2
VPCを含むセクションは現在、ネットワークと呼ばれています。そして編集するには、VPCを右クリックします。
nasch

89
+1次に、パブリックIPの自動割り当てを許可するようにサブネットを設定する必要もあります。サブネットを右クリック>自動割り当てパブリックIPを変更>チェックボックスをオン
Adam Hey

1
Elastic Ipを追加しようとしても、dnsホスト名を変更するオプションがyesに設定されるまで機能しませんでした。
RenatoSz

5
@Vignesh既存のインスタンスのパブリックIPまたはDNSを取得しませんでした。停止して再起動しても何も変わりませんでした。機能したのは、インスタンスを終了して再作成することだけでした。
Y e z

59

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

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

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


1
VPC全体を変更せずにこれを行う方法はありますか?VPC内の1つのノードのパブリックDNSが必要ですが、そのVPCにエラスティックIPを持つ他のすべてのノードに適用したくありません。
ロビーアベリル2014年

2
そのノードだけにエラスティックIPを追加できると思いますか?
マイクT

ええ、でも答えの提案がないと内部的には解決できません:-)
Robbie Averill 2014年

「DNSホスト名」を使用すると、パブリックDNSを表示できます
Sujit Dhamale '30 / 09/30

38

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

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


1
puttyでパブリックIPを使用して接続してみました。しかし、それは「サーバーが私たちの鍵を拒否した」と述べました。puttygenを使用して.pemファイルを.ppkファイルに変換しました
user1456508

1
どのユーザー名を使用していますか?これはどのAMIですか?これはどのオペレーティングシステムですか?
slayedbylucifer 2014年

3
事後にパブリックIPを割り当てる方法はありますか?インスタンスの詳細設定を編集する方法がわかりません。
David Bala Bic、2015年

2
@slayedbylucifer停止したインスタンスはどうですか?
DavidBalažic、2015年

3
@DavidBalažic、同じ。インスタンスのライフサイクルでは、pub IPをアタッチできません。パブIPは、起動時にのみアタッチできます。
slayedbylucifer 2015年

30

私の場合、slayedbyluciferなどからの回答が有効であることがわかりました。
に設定されていてもDNS hostname: yesmy-pvcにはパブリックIPが割り当てられてません(プライベートIPのみ)。

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

パブリックIPを割り当てる


23
  1. AWSコンソールに移動します。
  2. サービスに移動し、VPCを選択します
  3. vpcをクリックします。
  4. インスタンスを選択し、[アクション]をクリックします。
  5. [DNSホスト名の編集]を選択して、[はい]をクリックします。

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


割り当てられたElastic IPとともにパブリックDNSをVPCに追加することは機能します。何らかの理由で、弾性IPは、セキュリティグループを介して外部の世界からpingすることができますが、割り当てられたパブリックDNSがありますしない限り、SolrのようなWebアプリを打つに失敗しました...
false_memories

22

これは、機能しない問題を解決するために提供されるヒントです。

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

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



14

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


カスタム名を使用できますか?インスタンスからメールを送信すると、Gmailにドメイン名の代わりにec2..ipアドレス... location..etcでメールが表示される
mrid

@mridあなたのDNSをEC2の生成されたDNSに関連付ける必要があります。ホスティング/ DNSマネージャーであるAWS Route53サービスでそれを行うことができます。
Lior Kirshner

10

別のインスタンスを起動し(使用していない場合は問題のインスタンスも削除し)、今度は[インスタンスにパブリックIPアドレスを自動的に割り当てる]をオンにしてください。そうでない場合、slayedbyluciferが提案したとおり。Elastic IP(EIP)をインスタンスに割り当て、そのIPを使用してログインします。ただし、無料のAWS層を実行している場合、EIPは費用がかかることに注意してください。これはまったく別のトピックです。


6

まず、これには2つの理由が考えられます。

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

これを解決するには:

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

ii)次に、[アクション]をクリックして、DNS解決を有効にします。

            OR
  1. EC2構成でパブリックIP割り当てオプションを有効にしていません。

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


これらは多くの考えられる原因のうちの2つであり、確かに2つの可能性だけではありません。
Madbreaks、

6

ここでは、発生する最も一般的な問題を要約します。

カスタムVPCを作成するときに、ec2インスタンスなどのawsリソースがパブリックIPアドレスを取得してインターネットと通信できるようにする場合は、最初にec2インスタンスがカスタムVPCのパブリックサブネットに関連付けられていることを確認する必要があります。つまり、サブネットにはインターネットゲートウェイが関連付けられています。また、ec2インスタンスに関連付けられたVPCのセキュリティグループに、ssh、http、httpsなどの目的のポートへのインバウンドトラフィックを許可するルールがあることを確認する必要があります。しかし、ここでもまだ発生するいくつかの一般的な見落としがあります:

1)VPCに対してDNSホスト名が有効になっていることを確認する必要があります

2)EC2インスタンスにリンクされているパブリックサブネットの「パブリックIPの自動割り当て」フラグが有効になっていることを確認する必要があります

3)インスタンスがすでに作成されている場合は、インスタンスを終了して、パブリックIPおよびパブリックDNSフィールドに入力する新しいインスタンスを作成する必要がある場合があります。


起動したインスタンスでこのパブリックIPが表示されたら、このIPを使用して、パテSSH経由でインスタンスを接続できます
rinilnath

5

VPCとサブネットの設定を確認した後も、EC2インスタンスにはパブリックDNSがありませんでした。解決策を検索した1日の後、ようやく解決策を見つけました。

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

EC2ダッシュボードから:

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

クリックして新しいアドレスを割り当て、その後、割り当て

EC2ダッシュボードに戻ります。ネットワークインターフェイスに移動します

パブリックDNSなしのEC2インスタンスを選択します。次に、アクション-アドレスを関連付けます。

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

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

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

EC2インスタンスにパブリックDNSが設定されます。


1
これが私の答えでした。私のVPCはすでにパブリックDNSを有効にするように設定されています。
活発な

パブリックDNSが表示されますが、scp / puttyを介して接続できません。接続タイムアウトを表示しています!
ShivarajRH

2

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

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

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

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


2

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'
        }]
    }
  }

役立つ回答、ありがとうございます。ちなみに、EnableDnsSupportのデフォルトはtrueであるため、通常は、EnableDnsHostnames:trueを指定するだけで十分です。
jarmod 2017

1

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


1

VPCコンソールに移動し、VPCを選択して、[アクション]メニューをクリックし、[DNSホスト名の編集]を選択して、[はい]を選択します。それで解決するはずです。



0

EC2が稼働したら、「パブリックDNSなし」を修正しようとしましたが、パブリックDNSを追加できませんでした

これは、VPCまたはサブネットに変更を加える上記の手順を実行した後でもです

そのため、別のインスタンスを起動する前に、サブネットとvpcに変更を加えてから、新しいインスタンスを起動する必要がありました。

新しいインスタンスにはパブリックDNSがありました。それは私のためにそれが働いた方法です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.