[解決済み] Amazon S3での静的ホスティング - DNSの設定
質問
私は小さなウェブアプリ(すべてクライアント側)に取り組んでいます。私はそれをAmazon S3上でホストしたいと思います。私はこれに関するいくつかのガイドを見つけ、自分自身のバケット(私のドメインと同じ名前)を作成し、それをウェブサイトとして設定し、いくつかのコンテンツをアップロードすることに成功しました。
私が苦労しているところ、そしてすべての文書が少し曖昧になり始めるところは、DNSを適切に構成する方法です。
すべての私のレジストラ ( 123-reg ) が提案したのは、mydomain.com.s3.amazonaws.com が得られる Web 転送だけでした。
何を設定すればよいのでしょうか。また、どこで (すなわち 123-reg / Amazon) きれいな URL を取得できるのでしょうか。
どのように解決するのですか?
すでにほとんどの作業を終えているようですね。 念のため、これらの手順をもう一度確認します。
-
ドメイン名をバケット名として s3 バケットを作成します(バケット名は、サイトを example.com または www.example.com にする場合、www.example.com にします)。
-
s3バケットにコンテンツをアップロードします。 ウェブサイトのインデックスファイル(通常はindex.html)には統一した名前を選びましょう。 404 Not Found エラー用のカスタム ページをアップロードすることもできます。 これを404.htmlと呼びます。Webサイト内のすべてのファイルに読み取り権限を与え、一般の人が閲覧できるようにします。 バケツには余分なパーミッションを与えず、中のファイルだけに与えます。
-
バケットをWebサイトとして設定します。 AWSコンソールで( https://console.aws.amazon.com/s3/ )で、バケットを選択し、プロパティをクリックし、"Website"タブを選択することができます。 enabled をクリックし、インデックスドキュメントを "index.html" に、エラードキュメントを "404.html" に設定します。また、バケットにアクセス権を設定し、Web経由のアクセスを許可する必要があります( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )
-
ウェブサイト設定タブの "エンドポイント" URL をメモしておいてください。 これは、Web サイトが存在する場所です。 新しいウィンドウでリンクを開くと、あなたの Web サイトがそのまま表示されるはずです。 クリックして、すべてが期待どおりに動作することを確認してください。
以下のすべてのステップで、エンドポイント アドレスを使用しなければなりません。通常の www.example.com.s3.amazonaws.com は機能しません。地域バージョン ( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )
さて、きれいなカスタムURLを与えるためにDNSを設定することができます。
まず、www.example.com をあなたのサイトにマッピングします。
DNSプロバイダーのツールを使って(あなたの場合は123-reg)、www.example.com を www.example.com.s3-website-us-east-1.amazonaws.com にマップするためにCNAMEレコードを作成する必要があります。
www.example.com が欲しいだけなら、CNAME は必要な唯一のものです。 ほとんどの人は、"example.com"も動作させたいので、もう1つのステップが必要なのです。
example.comは、しばしば裸のドメインまたはドメインの頂点レコードと呼ばれます。 これが問題である理由は、CNAMEになり得ないからです。 CNAMEは"www."のようなサブドメインでしか機能しません。このため、s3に向けることが難しくなっています。
通常のアプローチは、example.comに行くすべてのリクエストを自動的にリダイレクトして、www.example.com を指すようにするサービスを使用することです。 これは、あなたのCNAMEレコードをピックアップし、あなたのサイトがS3から提供されます。
自動リダイレクトは、通常のDNSでは不可能なので、別のサービスを使用する必要があります。 一部の DNS プロバイダーは、DNS と一緒にこのサービスを提供しています (godaddy は提供していますが、amazon route53 は提供していません。123-reg については不明です)。
DNSプロバイダーがこれを行わない場合、いくつかの無料サービスがあります。 私が使用したことのあるものは http://wwwizer.com/naked-domain-redirect - で、これは登録も支払いも必要ありません。
この種のサービスを使用するには、あなたの裸のドメインにDNS "A"レコードを作成する必要があります。 wwwizer.comサービスの場合、example.comを174.129.25.170に向けるためにAレコードを作成する必要があります。 以上です。
この設定で、ユーザーがブラウザにexample.comと入力すると、次のようなことが起こるわけです。
- DNS クエリ: example.com -> 174.129.25.170 (wwwizer.com のサービス)
- 174.129.25.170 に example.com の HTTP リクエストを送信します。
- 174.129.25.170 は example.com をリダイレクトします -> www.example.com
- DNS クエリ: www.example.com -> CNAME to www.example.com.s3-website-us-east-1.amazonaws.com
- DNS クエリ: www.example.com.s3-website-us-east-1.amazonaws.com -> Amazon S3 を指します。
- www.example.com に対する HTTP リクエストは、Amazon S3 によって提供されるようになりました。
お楽しみに!
関連
-
[解決済み] サーバーがNXDOMAINを見つけることができません。
-
[解決済み] traceroute: 不明なホストと不明なレジストラでのwhois
-
[解決済み] なぜMSMQは私がワークグループのコンピューターにいると考えるのですか?
-
[解決済み] ICANNドメインステータス「clientTransferProhibited」とは何ですか?
-
[解決済み] あるドメイン名の権威あるネームサーバーを見つけるにはどうしたらよいですか?
-
[解決済み】あるドメインのすべてのサブドメインのリストを取得する方法は?[クローズド]。
-
[解決済み】全てのDNSレコードを一覧表示する方法は?[クローズド]
-
[解決済み】(ドメイン名)サブドメインにアンダースコア「_」を入れることは可能ですか?
-
[解決済み] Amazon Route53でDNSベースのURL転送を設定する【終了しました
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] サーバーがNXDOMAINを見つけることができません。
-
[解決済み] traceroute: 不明なホストと不明なレジストラでのwhois
-
[解決済み] なぜMSMQは私がワークグループのコンピューターにいると考えるのですか?
-
[解決済み] ICANNドメインステータス「clientTransferProhibited」とは何ですか?
-
[解決済み] あるドメイン名の権威あるネームサーバーを見つけるにはどうしたらよいですか?
-
[解決済み】あるドメインのすべてのサブドメインのリストを取得する方法は?[クローズド]。
-
[解決済み】全てのDNSレコードを一覧表示する方法は?[クローズド]
-
[解決済み】(ドメイン名)サブドメインにアンダースコア「_」を入れることは可能ですか?
-
[解決済み] Amazon Route53でDNSベースのURL転送を設定する【終了しました