3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS EC2 Railsアプリデプロイへの道

Last updated at Posted at 2019-12-17

何度やっても抜けが出て何かしらのエラーが出てしまうので、
備忘録のために何をするべきなのかとにかく項目を列挙。わからなかったら項目で調べようの精神です。
足りないものは追記していきます。ご指摘あれば是非下さい!
対象:個人的ポートフォリオレベルのアプリケーション

大まかな流れ

  1. インスタンス作成
  2. 環境構築(インスタンスの中身を設定)
  3. アプリケーションサーバ設定・アプリケーションサーバのみで起動確認
  4. webサーバ設定
  5. 自動デプロイ(必要であれば)

インスタンス作成

  • ログイン
  • リージョン選択(2敗)
  • インスタンス作成
  • Elastic IP取得、関連付け
  • ポート解放(1敗 http用)

環境構築

  • ssh接続
  • user作成
    • user権限設定
    • Node.js導入
    • バージョン確認
  • gitの導入(入っていなければ)
  • rbenv導入
    • パス設定
    • ruby-build導入
    • rehash(1敗)
    • ruby導入
    • バージョン確認
  • またはRVM導入
    • バージョン確認
    • ruby導入
    • バージョン確認
  • database導入
    • パスワード設定と
    • 接続確認

アプリケーションサーバの設定

  • Githubにssh接続
    • sshキー作成
    • githubで公開キーを登録
    • 接続確認
  • unicorn 又は pumaの設定
  • database.ymlの設定(1敗)
  • アプリケーション導入先ディレクトリの作成(1敗)
  • git clone
  • (今後の変更はgit pull)
  • スワップ領域の作成(設定がなければ、2敗)
  • bundler を gem install(要:バージョン確認)
  • 環境変数設定(credential導入していればマスターキー作成)
  • ポート解放(rails用 1敗)
  • db作成、migration実施
  • assets precompile 実施
  • 起動確認(テスト用)
    • 初期起動のみ頭にRAILS_SERVE_STATIC_FILES=1を付ける

webサーバの設定

  • Nginx/apacheなど導入
  • サーバ設定
  • 外部アクセス用に権限変更
  • 再起動(1敗)
  • unicorn/pumaのNginx設定
  • unicorn/pumaの再起動(読み込みのため)

自動デプロイ化

  • capstranoなどツール導入
  • 又はシェルスクリプトなどで自己流自動化

これらは全てキーワードの箇条書きです。1つ1つにやることが複数あったりします。
手間ですよね。。。この前段階の開発の際の環境構築だって手間です。
IT業界なので当然、作業は自動化してしまうものです。
私と同じ初学者の方はCI/CDやDockerについて調べましょう。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?