web-dev-qa-db-ja.com

Amazon EC2 Elastic IPを「A」レコードではなくCNAMEで使用することが推奨されているのはなぜですか?

私はEC2にサーバーをセットアップしています。このサーバーは、URLバーにec2-111-111-111-111.compute-1.amazonaws.comが表示されたときにびっくりする人々が使用します。これはCNAMEではなくAレコードを使用することで解決されることはわかっていますが、AmazonのドキュメントにはCNAMEを使用するように記載されています。

Aレコードを使用するとどうなりますか?私はWebでそれを行うと言うチュートリアルをいくつか見たことがありますが、信頼できるWebサイトも必要です。

Webサイトは1つのインスタンスを使用して実行されており、おそらく1つのインスタンスのみを使用して実行されるため、複数のインスタンスが相互に通信することは重要ではないと思います。

7
Canuk

簡易バージョン:AレコードはIPアドレスを指します。他のAレコードに対するCNAMEのポイント。

Aレコードを使用することもできますが、そのためには、EC2インスタンスの可用性の高いIPアドレスが必要です。 Amazonはこの製品を「Elastic IPアドレス」と呼んでいます。

Amazonが管理するAレコードにCNAMEを設定すると、Amazonは間接化のレイヤーを制御できます。たとえば、サーバーに障害が発生した後、Amazonはこれを使用してAレコードを新しいIPアドレスに変更できます。このようにして、Amazonはサービスを再び機能させることができ、何も変更する必要はありません。

一般的に、2つのDNSエントリ、特定のサーバーのAレコード、および「www。」などのサーバーが提供するサービスのCNAMEを使用することをお勧めします。このようにして、ハードウェアとサービスを明確に分離できるため、多くの場合、管理が容易になります。

したがって、「Elastic IP Addresses」の料金を支払っていない場合は、Amazonが設定したAレコードのCNAME、つまり「ec2-111-111」を指す「www.yourdomain.com」のCNAMEを使用する必要があります。 -111-111.compute-1.amazonaws.com。」.

13
Jesper M

CNAMEレコードを含むec2-111-111-111-111.compute-1.amazonaws.comは表示されません。 CNAMEドメインに移動すると、amazonaws.comのURLにリダイレクトされます。これは、CNAMEであるためではなく、アプリまたはWebサーバーが実行していることです。

2
ceejayoz

ec2-*.amazonaws.comホスト名は、インターネットから外部で解決するか、別のEC2インスタンスから内部で解決するかに応じて、異なるIPアドレスに解決されます。

つまり、2つのEC2サーバー(たとえば、データベースサーバーとWebサーバー)がある場合、Webサーバーには内部10.xxx IPアドレスのデータベースサーバーが表示され、外部からはWebサーバーが表示されます。通常の非プライベートIPアドレスで。 (もちろん、データベースサーバーが外部から見えるようにする必要はありませんが、これは便利な例にすぎません。)

Elastic IPアドレスを使用する場合は、既知の永続IPアドレスがあり、それを指すためにAレコードを使用しても問題ありません。あなたがElastic IPを持っていない場合(そしてなぜそうではないのか、それらは無料です)、あなたはでCNAMEを使いたいようですAmazonがあなたのIPアドレスを変更した場合。

ただし、複数のサーバーがある場合でも、CNAMEを使用して、内部/外部IPアドレスの魔法の解決を実現します。

2
Nate

CNAMEレコードを使用する理由は、ec2の内部と外部の両方からサイトにアクセスできるようにするためです。

たとえば、pingを実行します。外部からc2-111-111-111-111.compute-1.amazonaws.comにpingを実行すると、111.111.111.111に解決されますが、内部的には10.0.0.0/8アドレスに解決されます。ただし、111.111.111.111にpingを実行すると、内部で使用できなくなります。

1
user57151