🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1097閲覧

HerokuとS3での画像配信について

yasukun252

総合スコア34

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/12/22 17:05

HerokuとS3での画像配信について質問があります

現在、勉強のためにRuby on RailsとHerokuでWebアプリを開発しております。
現在、以下のような環境で開発をしております。

サーバー: Heroku(アメリカ) 画像クラウド: S3(アメリカのリージョン) 実際にアクセスする場所: 日本 ネームサーバー: ムームーDNS(ドメインもムームードメインで取得)

上記のような環境なのですが、サーバーとS3のリージョンがアメリカにあるため、日本からS3の画像を取得すると非常に時間がかかります。(サーバーがHerokuのためS3のリージョンもアメリカに作成しました。)

SSLの設定をHerokuとムームーDNSで設定しているため、CloudFrontは使えません。(Route53をネームサーバーとして利用していないためAWSのACMから証明書を発行できないためです。)

S3に保存している画像を東京リージョンから配信したいのですが、良い方法はありますでしょうか?
または、S3ではなく他のクラウドサービスを利用するなどの方法でも良いと思っております。

是非、アドバイスなどよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/12/23 01:18

遅い? なんMBのファイルの読み込みに何秒かかる、みたいな絶対的指標を示してください。その上で本当にS3が遅いのか、他に原因があるのかを判断しないと。
yasukun252

2020/12/23 11:25

すみません、測定はやってませんでした。スマートフォンで撮影した画像を3枚ほど送信すると S3のリージョンが東京にある場合とアメリカにある場合ですと後者の方が2秒ほど早く感じました。 正確に測定してみます。
guest

回答1

0

ベストアンサー

Route53をネームサーバーとして利用していないためAWSのACMから証明書を発行できない

いえ、そんなことはないですよ…。
Eメール検証でよければ普通に作れますし(自動更新になりませんが)、CNAMEレコードを追加すればRoute53でなくてもDNS検証できます。
Route53だとワンタッチで設定できて楽というだけです。

DNS 設定データベースに CNAME を追加する

もっというと、CloudFrontの利用自体に証明書は不要では?
元サイトがhttpsならまあ合わせたいでしょうけど。

投稿2020/12/23 01:47

編集2020/12/23 01:48
yu_1985

総合スコア7588

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasukun252

2020/12/23 11:25 編集

1つ疑問なのですが、ネームサーバーをムームーDNSで管理していてもAWSのS3に保存してある画像ファイルをCloudFrontで配信できるということでしょうか?ちなみに、アプリケーションのhttpsの証明書はHerokuのACMで取得しました。もし可能であれば、少しやり方などをご説明して頂けますと幸いです。
yu_1985

2020/12/23 12:21

できます。というか、CloudFrontで配信するだけならDNSは不要です。通常はCloudFrontのエンドポイントをDNSに登録しますけど、それだけなので。 やり方は調べて出てくる以上のことは必要ないので適当に出てきたものを貼っておきます。 https://qiita.com/NaokiIshimura/items/46994e67b712831c3016 この記事ではRoute53でエイリアスレコードを登録してますけど、Route53でなかったらエイリアスレコードではなくCNAMEで登録すればいいだけです。
yasukun252

2020/12/24 04:23

ご丁寧にありがとうございます!やってみます。
yasukun252

2020/12/25 05:39 編集

すみません、1つ質問なのですが、上記URLの例ではRoutes53でAレコードを作成していますが、ムームーDNSで設定する場合はどのように設定すれば良いのでしょうか?
yasukun252

2020/12/25 12:41

例えば、image.example.comで配信したい場合は image CNAME xxxxxxx.cloudfront.net ムームーDNSで上記のように設定すれば良いのでしょうか?
yasukun252

2020/12/26 03:57

ムームーDNSにてエイリアスレコードを登録するとできました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問