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

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

詳細はこちら
Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby

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

Ruby on Rails

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

Q&A

解決済

2回答

1139閲覧

cloud9で作成したRailsアプリをAWSにデプロイするにはローカル環境に移す必要があるのか

yastinbieber

総合スコア49

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby

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

Ruby on Rails

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2021/01/07 07:02

前提

Cloud9上で作成したRailsアプリをAWSにてデプロイしたいと考えております。

しかしながらいくつかうまくいかない点があり進まない状況ですのでお知恵をお借りできればと思います。

質問内容①

この手の内容を検索にかけて見たところどのサイトでもローカルからEC2を経由させAWSへとデプロイさせております。
私自身現在cloud9にて開発をしておりますのでそのままAWSにデプロイできてしまわないかと思っております。

この点に関しては一度ローカルに移してからAWSへとデプロイ作業を実行すべきなのでしょうか。

質問内容②

もしcloud9からEC2を用いてAWSにデプロイすることが問題なくできる場合インスタンスの作成等は新たに行わず既存のインスタンスを用いる形で問題ないのでしょうか。

こちらのサイトを参考にさせていただいたところ最初の段階でインスタンスの取得をされておりキーペア等の設定をされていたのですが、既にCloud9でアプリ開発をしているためインスタンスが存在している状態です。

またサイトにはキーペアの設定をする箇所がありますが既にインスタンスが作成されているため新たにキーペアを作成(追加)できないのもどうなのかなと思っております。

質問をまとめると2つお聞きしたいです。

  1. AWSにデプロイする場合ローカルに移した方が良いのか
  2. cloud9から直接AWSへデプロイができる場合インスタンスは新たに作成するのではなく既に存在するインスタンスを用いて問題ないのか

恐れ入りますがご回答いただけますと幸いです。

補足情報(FW/ツールのバージョンなど)

環境;Cloud9
ruby 2.5.1p57
Rails 5.2.4.4

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/01/07 07:50

ローカルに一旦移して何をやるのか何を狙うのか次第、一つのインスタンスに開発用と公開用を入れることの問題点が整理できていないのも気になる。
guest

回答2

0

ベストアンサー

  1. AWSにデプロイする場合ローカルに移した方が良いのか

特にその必要はないです。
どのような手段を取るかにもよりますが、反映したいソースがちゃんとgitリポジトリにコミットされているのであればそこからソースを取ってきてビルドすればいいです。

  1. cloud9から直接AWSへデプロイができる場合インスタンスは新たに作成するのではなく既に存在するインスタンスを用いて問題ないのか

問題ないかどうかはその既存のインスタンスがどういうものかによりますし、目的や背景にもよるので一概には言えません。
単に仕組み的な部分で言うのなら、基本的には問題ありません。
例えば学習目的とかだったら別に既存のインスタンスでもなんら問題はないでしょう。
ただ、既に他のアプリが動いている環境とかだと、他のアプリとリソースを食い合うことを考慮したり設定がバッティングしないように見直したりする必要があります。
まさかとは思いますが、その「既存のインスタンス」が既に今開発に使っているcloud9の環境を指しているのなら、デプロイどうこうとかは関係ないのでただそのまま動かしてください。既に物があるので。

その他細かい部分について

ローカルからEC2を経由させAWSへ

とても違和感のある表現なのですが、多くはただローカルからEC2へのデプロイをしているだけではないでしょうか。
これだとまるでEC2を経由してAWS上の違うどこかへソースを配置しているように見えます。

既にインスタンスが作成されているため新たにキーペアを作成(追加)できない

これについてはAWS上で作成したキーペアが設定できないだけで、自分でssh-keygenで発行したキーを手動登録すれば普通に可能です。

投稿2021/01/07 08:28

yu_1985

総合スコア7588

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

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

yastinbieber

2021/01/09 06:00

ご丁寧にありがとうございます。 大変参考になりました。 引き続きよろしくお願いいたします。
guest

0

deployはどういう方法を取りますか? capistrano?
だとすると、cloud9から実行するということはclowd9上にSSHの秘密鍵を置くことになります。それが気持ち悪くなければclowd9からdeployでも構わないでしょう。

AWSがcodeを取得するのはgithubからなので、localには最新codeがなくてもCap関連だけ最新ならdeply可能です。

AWSのインスタンスを新規に作るかどうかは、同じインスタンスで動かしても構わないなら流用で、まずいことがあれば新規にというだけのことです。

投稿2021/01/07 08:12

winterboum

総合スコア23567

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

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

yastinbieber

2021/01/09 06:01

いつもありがとうございます。 デプロイはおっしゃる通りcapistranoを考えております。 貴重なご意見ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問