質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.49%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

AWS(Amazon Web Services)

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

263閲覧

1つのRDBは複数サービスにも対応しますか?(AWS)

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

AWS(Amazon Web Services)

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2018/01/16 07:54

はじめに。

こんにちは、ご相談があります。
Railsで個人開発後、初心者向け:AWS(EC2)にRailsのWebアプリをデプロイする方法 目次を参考にデプロイをしました。
RDBを用いているで、約3000円/月ほどかかるようです。

RDBは1つのサービスにつき1つですか?

端的な質問は、

複数サービスを今後個人で展開したいのですが、
1つのサービスにつき、RDBインスタンスを作り、
約3000円払わないといけないでしょうか。

個人サイトなので、ものすごい数のユーザがいるわけでもなく、
実際は1つのRDBインスタンスでも済む方法がありそうなのですが、
どうなのでしょうか。

インフラに詳しい方などいらっしゃったらご教授いただけると幸いです。

補足

複数のサイトも可能だけど、実際は1つのRDBにつき1つのサービスが保守や運用の点でおすすめ等のご助言もありましたら、お願いできますか。
よろしくお願いします。

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

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

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

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

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

guest

回答2

0

RDBではなくRDSだと解釈しての回答ですが、
複数のサービスから一つのRDSを使用するのは可能ですし、作成可能なデータベースの数にも特に制限はありません(RDSの中で動くRDBMSとしての制限はありますが、上限は気にしなくていいレベルの数です)

サービス単位でRDSインスタンスを作成すれば、別々にスナップショットを取って管理しやすかったり、一つのサービスのメンテナンスでDBを止める時に他のDBが巻き添えにならなくて嬉しい などメリットはありますが、その辺は実際に複数のサービスを運用して、困ってからインスタンスを分ければいい話なので、初期段階では気にしなくていいと思います。

投稿2018/01/16 08:18

tanat

総合スコア18711

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

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

退会済みユーザー

退会済みユーザー

2018/01/16 12:17

tanatさん、ありがとうございます。少しイメージができました。database.ymlにproduction用にdb名を設定したのを思い出しました。もし万が一、負荷が強くなった時に「インスタンスを分ける」という作業が私自身に可能かが悩みどころです。「aws rds インスタンス 分ける」google検索をしたのですが、いまいち作業の手続きがわかりそうなページが無かったのですが、どのようなgoogle検索をすればよいか、できたらご教授いただけませんか。
tanat

2018/01/16 12:45

RDSは便利な機能が色々ある以外は単なるMySQLが動いているインスタンスだと考えていいです。 miyabi-sunさんの回答にもありますが、基本的にはMySQLのデータベース移行の手順を踏めばそれでOKです。 MySQL DB 移行 で検索すると良い感じの結果にたどり着けると思います。
退会済みユーザー

退会済みユーザー

2018/01/16 13:03

tanatさん、ご丁寧に教えて頂き本当にありがとうございます。「MySQL DB 移行」でmysqldumpツールのページにたどり着くことができました。mysqlの勉強をしてみようと思います。
guest

0

ベストアンサー

RDBは1つのサービスにつき1つですか?

いいえ、たんなるDataBase専用マシンです。
例えばMySQLを選択した場合、ボタン1個で立ち上がる以外は全て単なるMySQLです。

MySQLにはデータベースという概念があり、
同じusersテーブルでもデータベースが違えば相互不干渉で扱う事が可能です。
Excelの別ファイルみたいなもんですね、同じシート名が被ってもファイルが別なら問題ないのと同様です。

Bash

1$ mysql -h xxxxx -uroot -p 2 3> show databases; 4project1 5project2 6 7# データベース「project1」を指定 8> use project1; 9 10> show tables; 11users 12items 13 14> use project2; 15 16> show tables; 17# project2にはまだテーブルが作られていないので何も表示されない

この辺は実際にコマンドを打ち込みながら確認してみてください。
サービスの名称とデータベースの名称は一致させておくと、後々の管理が楽になるかと思います。


ご助言もありましたら、お願いできますか。

もしかすると作ったサービスが大人気になるかもしれませんね。
RDBMSは高速な読み書きをサポートしますが、
様々なサービスが相乗りしている場合、全てのサービスの読み書きの負荷が1台のRDSにのしかかってきます。

もし1つの人気サービスが飛び出てRDSの負荷を独占し始めた場合、
全てのサービスが遅いとか重いという印象を持たれてしまいます。

RDSでは負荷を監視するオプションもありますので、
人気サービスのデータベースを別のRDSに引っ越したりすると良いでしょう。

投稿2018/01/16 08:42

miyabi-sun

総合スコア21158

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

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

退会済みユーザー

退会済みユーザー

2018/01/16 12:19

miyabi-sunさんありがとうございます。database.ymlにproduction用にdb名を設定したのを思い出しました。Bashコマンドの掲載もありがとうございます、私自身の記憶と結びついて、とてもイメージしやすかったです。もし万が一、負荷が強くなった時に「インスタンスを分ける」という作業が私自身に可能かが悩みどころです。「aws rds インスタンス 分ける」google検索をしたのですが、いまいち作業の手続きがわかりそうなページが無かったのですが、どのようなgoogle検索をすればよいか、ご教授頂けませんか。
miyabi-sun

2018/01/16 12:27

mysqlにはmysqldumpというツールがついており、 MySQLのデータを取り出す事が出来ます。 まっさらなRDSを1台追加で借りてデータを移行し、人気の出たサービスは新しいRDSを参照するように設定。 少々サービスは停止しますが確実です。 他にも、RDSのサービスとしてバックアップがありますのでこういう風に移行は出来ます。 バックアップから新しいRDSを起動 →新サービスは新しいRDSを参照するように向き先を変更 →新サービス用のRDSから他サービスのデータを削除 →旧RDSから新サービスのデータを削除 サービスを停止させずに移行するとなるとテクニックが必要となりますのでMySQLの勉強を続けてみて下さい。
退会済みユーザー

退会済みユーザー

2018/01/16 13:05

miyabi-sunさん、ご丁寧に教えて頂き本当にありがとうございます。mysqldumpという名前を初めて知ったので、検索することで手続きのイメージができました。まずは、サービスを停止させて、無難に移行をする方法で学習していこうと思いました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問