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

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

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

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

820閲覧

Macでlaravel,vue.js,docker、AWSを使用したアプリにさらに機能を追加して行きたい場合

Maruco2321

総合スコア118

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2022/02/21 21:50

Macでlaravel,vue.js,docker(ローカルではdockerにnginxを使用)を使用してローカルでWEBアプリを制作しました。またAWSを使用して大まかには、以下の写真のように『CercleCIの部分以外の部分』を実装したアプリをと考えて現在大体作り終えました。
イメージ説明

もう少し詳しくいうと
ローカルのアプリを作り終わり、
インフラであるAWSのVPC,subnet,EC2,rdsの作成、そしてその連携も終わり
現状EC2にgit,docker,docker-composeをインストールして
$docker-compose up -d
でアプリを立ち上げなんとかローカルの時と同じ動作をしてくれるアプリとなってくださりました。
ただ機能面がまだまだなのでアプリの機能を増やして行きたいと考えており方法として
✅次の段階として、ローカルで開発して$php artisan serveで大体機能がうまく動いているか確認
✅ec2内にsshでログインし$git pullでupdate
✅調整して完成
のように考えております。
ただ作業している中で困惑したのがプライベートサブネット内に作成したrdsの連携(ec2を踏み台にしてrdsにログインしています)はできるのだろうか、
できたとしてもローカル側では別でmysqlを使って開発してコードをgithubにpushする際にsql接続先を変更して...とやっていくべきなのか等、このような場合ローカルのDBをどうするべきなのかわからないでいます。そもそも根本から違うなどの意見もあると思うのですがそういうものも含めて助言、および解決方法を聞けたらと考えております。よろしくお願いします🙇‍♂️

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

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

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

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

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

hoshi-takanori

2022/02/22 04:57

普通は「ローカル側では別でmysqlを使って開発」すると思います。rds はいわゆる本番環境で、開発環境からアクセスすべきではありません。開発環境ではテーブル定義をいじったり、テストデータを突っ込んだりするので、いつでもデータが壊れる可能性があることを前提に、簡単に再構築できることが望ましいのに対して、本番環境は実データが存在するので簡単に壊すわけにはいかないし、ユーザーの個人情報や機密情報が存在する場合、開発者が勝手にアクセスすること自体許されないこともあります。 「コードをgithubにpushする際にsql接続先を変更」については、ソースコード中に接続先の情報を直接書くのではなく、環境変数や .env などの設定ファイルに書いて、ソースとは別に管理するのが普通かと。
Maruco2321

2022/02/22 05:14

丁寧かつわかりやすい回答ありがとうございます。元々ローカルではmysqlを使用していたのですがRDSに繋ぐのに誤って接続先を変えてしまったのでまたmysqlを使用できるようにして、ローカル側でも開発できるようにしたいと思います。質問の方で誤解を招く書き方をしてしまったかもしれませんが .env などの設定ファイルに環境変数を書いて管理はしているのでそこについては問題ないと考えております。回答ありがとうございました🙇‍♂️
yu_1985

2022/02/22 06:02

> rds はいわゆる本番環境で、開発環境からアクセスすべきではありません。 これは語弊のある言い方です。 開発環境用のRDSを作成して使用することは普通にあります。 本番で使用しているRDSを開発用に使用すべきではない、というそれだけのことです。
Maruco2321

2022/02/23 21:21 編集

>本番で使用しているRDSを開発用に使用すべきではない、というそれだけのことです。 調べていると確かに『開発環境用に使っているRDSインスタンス』と言うワードを見かけたことも含め、 誤った理解をしていましたが場合によってはRDSを開発用に使用することがわかりました。 大変勉強になりました。ありがとうございます。
yu_1985

2022/02/22 07:14

RDSは単なるマネージドでRDBMSを提供しているサービスであるというだけで、それをどのように使うかはユーザに委ねられています。 「開発環境では」というのは主語が大きすぎで、結局どのように使うか次第です。開発環境の役割も開発のスタイル次第ですし。 書かれているようにテーブル定義をいじったりするのであればローカル環境でコンテナで作ると簡単でしょう。 アプリケーションとデータベースのバージョン管理がきっちりなされていていつでも特定のバージョンの状態を再現できて、かつ同じバージョンのものを複数人で参照して開発したい、などというケースでは使わないとは言い切れません。
guest

回答1

0

自己解決

hoshi-takanoriさんの質問への編集依頼の方がまさしく回答となっているのですが、編集依頼のためかBAにできないので自己解決の形を取らせてもらいます。
まとめると「ローカル側ではmysqlを使う、もしくは本番環境とは別のRDSを利用して開発」また、本番環境(AWS等)では(今回の場合)RDSを用いるのが一般的ということになる(のを初めて知りました)。

投稿2022/02/22 05:07

編集2022/02/22 06:53
Maruco2321

総合スコア118

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問