私が同僚からEC2コンソールにログオンするためのEC2認証情報をもらった。私がそれを設定したのは私ではありませんでした。インスタンスの中にはパブリックDNS名を表示するものと、空のパブリックDNSを持つものがあります。空のパブリックDNSを持つインスタンスに接続できるようにしたいです。なぜこれらが空白として表示されるのか私は理解できませんでした。
私は同じ問題を抱えていてそれを解決しました。ステップバイステップの説明を見てください。
お役に立てれば!
乾杯
実際には「DNSホスト名」と呼ばれるVPCの設定があります。 EC2インスタンスが存在するVPCを変更して、これを「はい」に変更できます。これでうまくいくはずです。
私は昨日この問題に遭遇し、うまくいかなかったマニーからの上記の答えを試みた。しかし、VPC設定はは私には有効でした。
最終的に私はEIPを追加し、接続にそれを使用します。
インスタンスがVPCで起動されたように聞こえますが、その間、Automatically assign a public IP address to your instances
のチェックボックスはチェックされませんでした。したがって、インスタンスにはパブリックIPがありません
このインスタンスにElastic IPを割り当ててから、そのIPを使用してログインできます。
最後にあなたはあなたのパブリックDNSを取得します。
私の場合、私は slayedbylucifer からの答えを見つけましたが、同じことを示すものは有効です。DNS hostname: yes
と設定しても、my-pvcにはパブリックIPが割り当てられていません( Privat IPのみ).
パブリックIPの自動割り当てを
Enable
に設定する必要があるのは間違いありません。
選択されていない場合は、デフォルトでUse subnet setting (Disable)
に設定されます。
私にとって問題はサブネットの設定にありました。
これはうまくいかない問題を解決するために提供されるヒントです:
ヒント - インスタンスにパブリックDNS名がない場合は、VPCコンソールを開き、VPCを選択して[サマリ]タブを確認します。 DNS解決またはDNSホスト名のいずれかがnoの場合は、[編集]をクリックして値を[はい]に変更します。
これを実行してもパブリックIPがまだ取得されていないとしたら、VPC管理画面で問題のサブネットに移動すると、「パブリックIPの自動割り当て」が「はい」に設定されていないことがわかります。その後、その設定を変更してください。これをここで実行したくない場合は、そのサブネットに新しいインスタンスを作成します。あなたがホスト上でこれを変更することはできないと言うことができる限り、私は試してみました、ただそれを終了させてください。
別のインスタンスを起動し(そして問題があるインスタンスを使用しない場合は削除する)、今度は「インスタンスに自動的にパブリックIPアドレスを割り当てる」にチェックマークを付けます。そうでなければ、その時はslayedbyluciferが示唆しているように。インスタンスにElastic IP(EIP)を割り当ててから、そのIPを使用してログインします。あなたが無料のAWS層を運営しているなら、EIPはあなたにお金がかかるでしょうが、それでも注意してください。
まず第一に、これには2つの理由があります。
これを解決するには
i)AWS VPCコンソールに移動して、作成したVPCを選択します。
ii)次に[Actions]をクリックしてから[DNS Resolution]を有効にします。
OR
ここでは設定を変更できません。そのため、AMIイメージを作成して、そこからインスタンスを再作成します。
これは「DNSホスト名」と呼ばれるVPCの機能に関連しています。有効または無効にできます。 VPCに移動し、[Actions]メニューの[Edit DNS Hostnames]項目を選択して、[Yes]を選択します。そうすると、EC2インスタンスのパブリック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'
}]
}
}
インスタンスがVPCにある場合は、「DNS解決」と「DNSホスト名」の両方が「yes」に設定されていることを確認してください。これはAwsコンソールのUIで行うことができます。 HTH!
VPCコンソールに行き、VPCを選択し、そしてACTIONSメニューをクリックし、Edit DNS Hostnamesを選択します - Yesを選択します。それで解決するはずです。
DNSホスト名設定の変更はAWS CLIを使用しても行うことができます。
aws ec2 modify-vpc-attribute --vpc-id $vpc_id --enable-dns-hostnames '{"Value": true}'
($ vpc_idは、インスタンスが接続されているVPCのIDです。)
VPCが更新されるとすぐに、インスタンスはパブリックDNSを取得します。
VPCとサブネットの設定を確認した後、私のEC2インスタンスにはまだパブリックDNSがありませんでした。解決策を探していた1日後、私はついにそれを考え出しました。
新しいElastic IPアドレスを作成し、それを自分のインスタンスに関連付ける必要がありました。
EC2ダッシュボードから:
サイドバーからElastic IPに移動します。
新しいアドレスを割り当てるをクリックし、次に割り当てをクリックします。
EC2ダッシュボードに戻ります。 ネットワークインターフェースに進んでください。
パブリックDNSなしでEC2インスタンスを選択してください。それからアクション - アドレスの関連付け。
アドレスフィールドで、新しいElastic IPアドレスを選択します。
プライベートIPアドレスに関連付けるフィールドで、パブリックDNSのないプライベートIPアドレスを選択します。
アドレスの関連付けをクリックします。
あなたのEC2インスタンスはパブリックDNSを持っているはずです。
インスタンスにパブリック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