私が一緒に働いている人が、彼の EC2 コンソールにログオンするための EC2 資格情報を教えてくれました。設定したのは私ではありません。一部のインスタンスにはパブリック DNS 名が表示され、他のインスタンスには空白のパブリック DNS が表示されます。空のパブリック DNS を持つインスタンスに接続できるようにしたいと考えています。これらが空白として表示される理由を理解できませんでした。
20 に答える
私はそれを解決した同じ問題を抱えていました。ステップバイステップの手順をご覧ください。
- console.aws.amazon.com にアクセスします
- サービスに移動-> VPC
- VPC を開く
- EC2 に接続されているVPCを選択し、
- [アクション] => [DNS ホスト名の編集 ] ---> [DNS ホスト名の変更:] を [はい] に選択します。
実際には、VPC には「DNS ホスト名」と呼ばれる設定があります。EC2 インスタンスが存在する VPC を変更し、これを「はい」に変更できます。これでうまくいくはずです。
昨日この問題に遭遇し、マニーから上記の回答を試しましたが、うまくいきませんでした。ただし、VPC 設定はうまくいきました。
最終的に EIP を追加し、それを使用して接続しました。
インスタンスが VPC で起動されたように聞こえますが、そうしている間、のチェックボックスはAutomatically assign a public IP address to your instances
チェックされていませんでした。したがって、インスタンスにはパブリック IP がありません
このインスタンスに Elastic IP を割り当て、その IP を使用してログインできます。
- AWS コンソールに移動します。
- サービスに移動し、VPC を選択します
- vpc をクリックします。
- インスタンスを選択し、[アクション] をクリックします。
- [DNS ホスト名の編集] を選択し、[はい] をクリックします。
最後に、パブリック dns を取得します。
これは、機能しない問題を解決するために提供されるヒントです。
ヒント - インスタンスにパブリック DNS 名がない場合は、VPC コンソールを開き、VPC を選択して、[概要] タブを確認します。DNS 解決または DNS ホスト名のいずれかが「いいえ」の場合は、[編集] をクリックして値を「はい」に変更します。
これを行ってもまだパブリック IP を取得していないと仮定して、VPC 管理画面で問題のサブネットに移動すると、おそらく「パブリック IP の自動割り当て」が「はい」に設定されていないことがわかります。次に、その設定を変更します。ここでこれを行いたくない場合は、そのサブネットに新しいインスタンスを作成してください。ホスト上でこれを変更できないと言うことができる限り、私は試してみましたが、終了するだけです。
VPC とサブネットの設定を確認した後、EC2 インスタンスにはまだパブリック DNS がありませんでした。解決策を探して一日を過ごした後、私はついにそれを理解しました。
新しい Elastic IP アドレスを作成し、それをインスタンスに関連付ける必要がありました。
EC2 ダッシュボードから:
サイドバーからElastic IPに移動します。
[新しいアドレスの割り当て] をクリックしてから、 [割り当て] をクリックします。
EC2 ダッシュボードに戻ります。ネットワーク インターフェイスに移動します。
パブリック DNS のない EC2 インスタンスを選択します。それからActions - Associate Address。
[アドレス]フィールドで、新しい Elastic IP アドレスを選択します。
[プライベート IP アドレスに関連付ける]フィールドで、パブリック DNS のないプライベート IP アドレスを選択します。
[住所の関連付け]をクリックします。
EC2 インスタンスにパブリック DNS が設定されます。
まず、これには次の 2 つの理由が考えられます。
- 独自の VPC を作成しましたが、パブリック DNS を有効にするのを忘れました。
これを解決するには:
i) AWS VPC コンソールに移動し、作成した VPC を選択します。
ii) [アクション] をクリックし、[DNS 解決] を有効にします。
OR
- EC2 構成で public ip-assign オプションを有効にしていません。
ここでは設定を変更できません。ami イメージを作成し、そこからインスタンスを再作成します。
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'
}]
}
}
DNS ホスト名設定の変更は、AWS CLI を使用して行うこともできます。
aws ec2 modify-vpc-attribute --vpc-id $vpc_id --enable-dns-hostnames '{"Value": true}'
( $vpc_id は、インスタンスがアタッチされている VPC の ID です。)
VPC が更新されるとすぐに、インスタンスはパブリック DNS を取得します。
インスタンスが VPC にある場合は、「DNS 解決」と「DNS ホスト名」の両方が「yes」に設定されていることを確認してください。これは、AWS コンソール UI で実行できます。チッ!
EC2 が起動して実行されたら、「パブリック DNS なし」を修正しようとしましたが、パブリック DNS を追加できませんでした
これは、上記の手順に従って VPC またはサブネットに変更を加えた後でも発生します。
そのため、別のインスタンスを開始する前に、サブネットと vpc を変更してから、新しいインスタンスを開始する必要がありました。
新しいインスタンスにはパブリック DNS がありました。それが私にとってはうまくいきました。
最初にパブリック IP / DNS の場合、実行中のEC2 サービス(インスタンス / Docker / Lightsail のいずれか) が必要です。いずれのサービスでも、2 つの異なる IP (プライベート & パブリック) と、セキュリティ タブで利用可能なセキュリティ グループが必要です。アクティブにインスタンスを選択したら。
STEP-1 :
HTTP および HTTPS ポートを使用して Web サイトをホストする場合のように、ポートの使用法に従って有効にすることができます。
EC2 -> セキュリティ グループ -> インバウンド ルールの編集 -> 必要なポートを追加または削除します。
80,443,22 など、ポートのトラフィック ソース (ポートをすべての選択に対して開く場合、または選択した IP に対してアプリケーションを開く場合は、IPV4/IPV6 を手動で入力します。
上記の構成が完了したら、Elastic IPを作成し、実行中の EC2 インスタンスにアタッチします。インスタンスに IP をアタッチすると、パブリック IP が Elastic IP になります。
STEP-2 :
AWS はRoute53と呼ばれるもう 1 つのサービスを提供します。ここで、ホスト ゾーンを作成し、作成後に www なしでドメイン名を入力すると、ホスト ゾーンのネーム サーバーの値を取得できます。
Route53の詳細については、https: //aws.amazon.com/route53/