2017-01-15 3 views
1

AWSバケットにファイルがあります:https://s3.amazonaws.com/static.my-company.com/media/my-file.jpgです。AWS S3バケットにどのようにサブドメインを割り当てることができますか?

現在、私は私のindex.htmlファイルwww.my-company.comでそのファイルにアクセスしています。私はmy-company.comをAWS Route 53のホストゾーンとして持っています。

しかし、index.htmlでは、このアセットがAWSバケットにあることは明白ではありません。自分のドメインのサーバーでホストされているかのように見せたい。だから、https://s3.amazonaws.com/static.my-company.com/media/my-file.jpgの代わりに、https://static.my-company.com/media/my-file.jpgというように扱いたいと思います。どうやってやるの?

ルート53にstatic.my-company.comからs3.amazonaws.com/static.my-company.comを示すCNAMEレコードを挿入しようとしました。しかし、それはうまくいかなかった。これはジェイゴースがお勧めしたものですhere

答えて

2

S3バケットをスタティックウェブサイト(バケットを設定するS3のオプションです)として設定する必要があります。ドメイン名はhttp://static.my-company.com.s3-website-us-east-1.amazonaws.com.のように変更され、ルート53にCNAMEレコードを設定することになります。

CNAMEレコードは、現在行っているようなディレクトリには設定できません。解決可能なドメインになる

+1

これはHTTPSをサポートしておらず、 'us-east-1'はバケットが作成された地域によって異なります。バケットの正しいエンドポイントは[コンソール](http://docs.aws.amazon.com/AmazonS3/latest/dev/HowDoIWebsiteConfiguration.html)にあります。 –

1

https://s3.amazonaws.com/static.my-company.com/media/my-file.jpgの代わりに、https://static.my-company.com/media/my-file.jpgとしてください。どうやってやるの?

は、ここでは、3つの別々の問題があります。

バケットのWebサイトホスティング機能を有効にすると、別の答えで@Deifが示されているので、別名またはCNAMEを使用してルート53のホスト名をバケットのWebサイトエンドポイントに指定できます。しかし、HTTPSはサポートしていません。

HTTPSは、Webサーバがブラウザのアドレスボックスに1に一致するホスト名を含んでSSL(TLS)証明書を使用してブラウザに自身を識別することが必要です。 RESTエンドポイントのS3証明書は、s3.amazonaws.comのさまざまな順列と一致します。それらはあなたのドメインと一致しません。

SSL証明書が必要です。既に持っている場合は、us-east-1地域のAmazon Certificate Manager(ACM)にアップロードしてください。 ¹もしそうでなければ、ACMはあなたのために無料で作成することができます。

次に、上記ACM証明書を使用して、オリジナル・サーバーとしてあなたのウェブサイトのエンドポイントのホスト名を使用して、代替ドメイン名としてサブドメインを使用して、新しいCloudFrontの分布を作成します。

その後、CloudFrontの分布にルート53のあなたのサブドメインを指します。

さて、https://subdomain.example.com/pics/funny/cat.jpgはSSLを提供し、適切なバケットからコンテンツをフェッチCloudFrontのに行きます。

なぜCloudFrontが必要ですか?これは、S3でSSLを有効にしたカスタムドメイン名を使用するための正式な解決策です。 S3はその機能をネイティブにサポートしていません。 CloudFrontを使用するとコストがかかりますが、S3自体のコストが大幅に削減されます。 CloudFrontを通じてダウンロードが行われると、S3はダウンロードに使用された帯域幅に対して$ 0を請求し、代わりにCloudFrontが帯域幅を請求します。帯域幅のCloudFront価格は多くの場合低くなります(おそらく、CloudFrontは輻輳を緩和するためにCloudFrontを水平に拡張できますが、S3は垂直方向にのみ拡張できますが、これは設計上の制約があります)。


¹ ACMでは、us-east-1領域は関係なく、常にバケットの場所のCloudFrontのは、東-1私たちの外で管理されているので、私はここで説明するセットアップのために使用され、我々はCloudFrontをにアクセスできるように、この証明書が必要。

関連する問題