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

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

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

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

AWS(Amazon Web Services)

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

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

Q&A

解決済

2回答

3323閲覧

Capistranoを用いたAWSへのデプロイの基本知識に関して

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

AWS(Amazon Web Services)

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

Capistrano

Rubyで書かれたサーバオーケストレーションで、複数のサーバでスクリプトを実行する際に用いられます。主な使用用途はWebアプリケーションのデプロイメントです。 アプリケーションのバージョンアップ自動化、およびデータベースの変更などもできます。

0グッド

1クリップ

投稿2015/04/09 13:09

Capistranoを用いたAWSへのデプロイの基本知識に関して、
どうしようもなくわからなくなったので質問させていただきます。
環境は、以下になります。

Ruby: 2.2.0
Rails: 4.2.0
Capistrano: 3.4.0
Unicorn
Nginx

gitからコマンドラインで、でAWS(Amazon Web Services)のec2に、
Githubのmasterの最新をCapistranoを用いてデプロイしたいです。
以下、不明な点を3つだけあげてみました。検索すればすぐに出てくるような
基本的なことかもしれませんがご教授いただけますと大変ありがたいです。
よろしくお願いいたします。

  1. 運用する開発環境なり本番環境なり、リモートのサーバーにsshでログインしてローカルでやったのと同じように、コマンドラインでrbenvとかrailsとか(MySQLとかは入れた)、Unicorn、Capistranoなり同じバージョンのものを、手動で入れないといけない。という認識で合っていますか?

  2. NginxはApatchに変わるwebサーバーであり、UnicornはNginxとRailsを仲介するミドルウェアである。という認識で合っていますか?

  3. Capistranoでデプロイするためにはwebサーバー(ec2)にNginxとUnicornが入っていてかつ起動している必要がある。という認識で合ってますか?

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

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

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

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

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

guest

回答2

0

環境構築

もちろん手動で構築してもいいですが:

  • Chef, Ansible など構成管理ツールで環境構成を定義し自動で構築する
  • Packer を利用して環境構築済みイメージ(AMI)を自作しAWS に予め用意して、利用する
  • 3rd party 製のイメージを利用して、環境構築を省力化する

可能な限り自動化・省力化したほうがよいでしょう

Packer によるイメージ作成の場合は、構成管理ツールを利用することになると思います

バージョンに関しては、なるべく同じものを使い、それぞれのバージョンアップに追従していくのが理想的だと思います

Nginx, Unicorn

その認識で大きな誤りはないとおもいます
Nginx + Unicornでなくとも、Apache / Nginx + Phusion passenger でRails アプリケーションを動作させることができます

Capistrano

Capistrano が担当する領域は

  • コードのデプロイ(ローカルやGitHub からソースコードを転送)
  • アプリケーションサーバの再起動

なので、サービス提供のための環境はすでに動いている必要があるでしょう

Capistrano にはrbenv やrvm を使用できるようになるプラグインが用意されています
Ruby 環境に関しては、設定を記述すればCapistrano が環境構築を手伝ってくれるはずです

そのほかSunzi, Mina といったツールがあるようです

AWS Code Deploy で既存のデプロイツールを使わずにデプロイすることもできるかもしれません

Links


まずはCapistrano でGitHub のコードを引っ張ってくるだけ、といった小さなことから始められるとよいと思います

以上、簡単に調べてみましたが、なにか参考になれば幸いです

投稿2015/04/11 16:42

gouf

総合スコア2321

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

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

退会済みユーザー

退会済みユーザー

2015/04/15 13:47

ご回答ありがとうございました。添付いただきましたリンク集も参考に 引続き学習を進めていこうと思います。ありがとうございました。
guest

0

ベストアンサー

こんにちは。

僕からは、項目2について少しくわしく書かせていただきたいと思います。

Nginx(エンジンエックス)は、2000年代の初頭にロシアのIgor Sysoev(イゴール・シソエフ)氏によって、5億リクエスト/日を処理するWebサイトのHTTPサーバーとして開発されました。
ApacheやMicrosoft IISのシェアは依然として高いものの、Nginxの認知度は日に日に高まっていて、急速にシェアを拡大しています。
Nginxが注目されているのは、HTMLドキュメントや画像ファイルなどの静的コンテンツを高速で配信できるとともに、消費メモリが少なく、リバースプロキシやロードバランサーとして動作できる機能を持っている点です。
また、Apacheではサードパーティが提供している機能を、Nginxでは標準で提供されているほか、数多くのモジュールが用意されているなど、ある意味でApacheを超えるともいわれています。

Unicorn(ユニコーン)は、Ruby on RailsやSinatraで使える、汎用のRackアプリケーションサーバーです。
Unicorn単体でも任意のポートをlistenすればWebサーバーとして使用できますが、本番環境ではNginxをリバースプロキシとしてたて、Unicornへリクエストを流すかたちで使うことが多いようです。
こうした構成にする理由としては、静的コンテンツはNginxで高速に配信できる、遅い回線で接続された際にリクエストをNginxでバッファリングすることでUnicornでのワーカプロセスの待ち時間を削減できるなどといったことがあげられます。

以上、ご参考いただければ幸いです。

投稿2015/04/11 19:03

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2015/04/15 13:45

なるほどそうだったのですね。初めて知ることも多くたいへん参考になりました。 この度はご丁寧にありがとうございました。
退会済みユーザー

退会済みユーザー

2015/04/16 00:51

imachan0322さん、コメント(返信)をいただきありがとうございます。 僕は、サーバーについてしか書いていませんが、すこしはお役に立てたようでなによりです。 今後ともよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問