web-dev-qa-db-ja.com

Amazon S3:静的Webサイト:カスタムドメインまたはサブドメイン

Amazon.comは、S3バケットで静的Webサイトをホストできることを発表しました。 http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?WebsiteHosting.html のセットアップページにアクセスして、静的Webサイトのバケットを作成しましたが、動作しましたいいよ http:// [my bucket name] .s3-website-us-east-1.amazonaws.com /という形式のURLがあります。

ただし、所有しているサブドメイン(例:static.mydomain.com)をAmazon S3の静的ウェブサイトに向けたいと思います。誰かがそれを行う方法を考え出しましたか?

あなたが私に与えることができる助けを感謝します。

75
Jay Godse

動作させるには、任意のサブドメインを任意のバケットにマッピングすることはできません。 完全修飾サブドメイン名は、S3バケット名と同じである必要があります

  1. サイトの名前がstatic.mydomain.comであるとします。次に、同じ名前のstatic.mydomain.comという名前のS3バケットを作成する必要があります。
  2. そのバケットをS3静的Webサイトとして設定すると、http:// static。)のようなURLが割り当てられます。 mydomain.com.s3-website-us-east-1.amazonaws.com
  3. ドメインホストに移動し、サブドメインを手順2のURLにマッピングします。enom.comでは、ホスト "static」をアドレス「static.mydomain.com.s3-website-us-east-1.amazonaws.com "CNAMEレコードとして。

riah および David の提案に感謝します。最終的に Amazon AWSフォーラム で回答を得ました。

178
Jay Godse

バケットを作成するときは、必ず S3 DNSバケットの命名規則 に従ってください。

次に:

  1. [プロパティ]-> [ウェブサイト]でAWSマネジメントコンソールを使用して、バケットのS3ウェブサイトサポートを有効にします

  2. バケット内のファイルにパブリック読み取り権限があることを確認してください

  3. 管理コンソールにリストされているエンドポイントを使用してWebサイトを試してください

  4. リストされたエンドポイントを使用してCNAMEをセットアップします(例:www.example.com CNAME www.example.com.s3-website-us-east-1.amazonaws.com

5
Uriah Carpenter
  1. Mydomain.comというホストゾーンを作成します。 WebベースのUI DNS を使用できます。
  2. 次に、このホストゾーンのCNAMEエントリを作成します。
  3. 次の詳細を含むリソースレコードを追加します。名前は「mydomain.com」、タイプは「CNAME」、値は「mydomain.com.s3.amazonaws.com」TTlは「on your required configuration」

これがstatic.mydomain.comでも機能することを願っています

よろしく

ウディット

4
udit

これは、バケットの仮想ホスティングと呼ばれます: http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html

4
luissquall

Amazonが提供するRoute 53などのDNSサービスを使用してみてください。サブドメインからパブリックバケットURLへのCNAMEで設定します。もちろん、ドメイン会社がCNAME構成を提供している場合、それは直接機能します。

3
David

2019を更新:AWSカスタムサブドメインS3でホスティング

本日現在、AWS S3でホストされている静的ウェブサイトのサブドメインが機能するように、次の手順を実行しました。

  1. サブドメイン名でバケットを作成します。この例では、www。subtest。mysite.com

aws bucket

注:バケットの[権限]タブで次のことを確認してください。-パブリックアクセスをブロックする(バケット設定)-アクセス制御リストと-バケットポリシーが適切に設定され、バケットがパブリックであることを確認します。 (ルートドメインバケットに対して既にこれを行っていると仮定すると、これらの設定はこのサブドメインバケットにミラーリングできます)

AWS bucket permissions

  1. バケットにindex.htmlファイルをアップロードします

index file in s3 bucket

  1. ドメインプロバイダーでCNAMEレコードを作成します CNAME record in namecheap
1
zennni