質問: AWS S3に置いた画像を独自ドメイン+ファイル名で取り出したいです。 こちらのサイトと同じことをしたいです。 「sample.com」という独自ドメインでサイトをオープン、 「img.sample.com」というドメインに、画像を置きたいです。 そこで行った手順が以下の通りです。 ーーーS3の設定ーーー 1.S3の中で、「img.sample.com」というバケットを作成する 2.作成したバケットを選択し、「プロパティ」を開き、「Static website hosting」を開く。 3.「このバケットを使用してウェブサイトをホストする」を選択し、 インデックスドキュメントにindex.htmlと入力し、保存。(index.htmは実際にはありません。) ーーーRoute53の設定ーーー 4.ホストゾーンを選択。 5.レコードセットの作成を選択。 6.名前を「img.sample.com」。タイプを「A-IPv4 address」。「エイリアス」を「はい」にして、 先程作成したバケットのエンドポイントを選択して、レコードセットを保存。 7.バケットの中に「sample.gif」という画像をアップロード。 画像を表示させるためのHTMLは以下の通りです。 ``` ``` しかし、画像が表示されません。 コンソールには以下のようなエラーが表示されます。 ``` GET https://img.sample.com/sample.gif net::ERR_CONNECTION_TIMED_OUT ``` 以下のように、imgタグのsrc属性をアップロードしたファイルの「オブジェクトURL」にすると、画像は表示されます。 ``` ``` powershellで、nslookupをすると以下のような結果になります。 ``` nslookup img.sample.com 8.8.8.8 サーバー: google-public-dns-a.google.com Address: 8.8.8.8 権限のない回答: 名前: img.sample.com Address: 00.000.00.000(IPアドレスが表示されます) ``` S3にアップロードした画像を独自ドメイン+ファイル名で取り出すために、どこが間違っているのでしょうか。 うまくいっていない原因がわからないので、何かアドバイスいただけると幸いです。 宜しくお願い致します。
回答: 独自ドメインでHTTPSアクセスの場合は、CloudFront経由が必須となります。 独自ドメインのSSL証明書はドメイン所有者にしか発行できないためです。 独自ドメイン+ファイル名で取り出すシンプルな方法はHTTPにすれば簡単です。 http://img.sample.com/sample.gif