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

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

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

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

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

解決済

3回答

1629閲覧

AWSデプロイ後の管理について。

popomarudasi

総合スコア20

Ruby on Rails 5

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

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グッド

1クリップ

投稿2020/05/28 06:04

世界一丁寧なAWS解説。というサイトを参考に自分のアプリをデプロイしました。

デプロイ後の管理について教えてください。
・一旦停止させておく方法(料金発生を止める方法)
・ローカルでアプリを改善した際に差分を反映させる方法
のふたつを教えて欲しいです。

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

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

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

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

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

guest

回答3

0

ベストアンサー

・一旦停止させておく方法(料金発生を止める方法)

最も単純な方法は自分でコンソールにログインして手動でインスタンスを停止する方法です。

面倒なら自動で停止するようにすればOKです。
CloudWatch Eventを使う方法、Systems Managerを使う方法があります。(Lambdaを使う方法がよく出てきますが、前述した2つで出来るのでLambda Functionを作るメリットはあまりないです。

CloudWatch Events と Systems Manager で EC2の起動/停止をスケジュール化する

ちなみに、EIPをEC2インスタンスに関連付けている場合、停止している間はEIPの料金がかかります。

・ローカルでアプリを改善した際に差分を反映させる方法

参考サイトではGitでサーバ上にファイル配置してますよね。
なので、更新した分はGitリポジトリにコミットしてください。
そして改めてソースをサーバ上に反映させればOKです。
参考サイトではgit cloneで配置してますが、cloneされたディレクトリ上でgit pullすれば最新の内容を反映してくれます。
gitについては調べてみてください。

デプロイの自動化については様々な方法がありますが、細かくは割愛します。
AWSのサービスを使うならCodePipelineを使ってみてもいいですし、GitHubを使っているならGitHub Actionsを使ってみてもいいでしょう。
「デプロイ 自動化」あたりで検索すれば色々出てくるのでそのあたりも色々試してみてください。
参考サイトではGitリポジトリにコミットされたものを配置しているので、ローカルからサーバにコピーする手順を取ろうとするのは避けましょう。

ちなみにですが、参考にしたその記事はかなり古い記事で最新の情報を反映していないのでそのあたりは頭の片隅に置いておく必要があります。
基本的に古いAmazon Linuxでの手順ですしね…。

投稿2020/05/28 07:19

yu_1985

総合スコア7447

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

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

popomarudasi

2020/05/28 08:12

コメントありがとうございます。 なるほど、わかりやすくありがとうございます! そうなんですよね、amazon Linux2で進めたら色々とエラーが起きたのでamazon Linuxに変えて作り直してました笑 デプロイ自動化は一旦置いておいて、 とりあえずgit pushでやってみます、 ありがとうございました
yu_1985

2020/05/28 08:23

> amazon Linux2で進めたら色々とエラーが起きたのでamazon Linuxに変えて作り直してました あとで2でやり直すことをお勧めします。Amazon Linuxはサポートが今年中に終わります。 https://dev.classmethod.jp/articles/planning-al-to-al2/ Amazon Linuxはコマンド体系がRHEL6系、Amazon Linux2は7系なのでそこに注意する必要があります。本当は元記事が直すべきなんですが、別途送った修正リクエストも対応されてないので多分直らないでしょう…
popomarudasi

2020/05/29 05:45

ありがとうございました! AMAZON Linux2で作り直してみることにしました。
guest

0

・一旦停止させておく方法(料金発生を止める方法)

  • インスタンスを停止する
  • EBSを削除する
  • ElasticIPがついているなら削除する

他、課金が発生する要素を全て停止/削除する必要があります。
(無料枠分は稼働していても課金はされません)
気付いたら無料枠の期間や範囲を超えていた というのはよくあるので、こまめにマネジメントコンソールの「注文と請求書」から確認するようにすることをお勧めします。

最も簡単で確実なのは、アカウントを削除してしまう事です。

ローカルでアプリを改善した際に差分を反映させる方法

アプリの作りにもよりますが、
ソースコードについてはローカルでgit pushして、EC2上でgit pullする。
DB更新等がある場合は別途DBを更新する
と言うのが基本になります。
これを自動化する方法は色々あり、要件によって正しい方法と言うのは変わるので
まずは手動で更新出来るように手順を確立/理解したあとに
webアプリケーション デプロイ 方法等で調べてみることをお勧めします

投稿2020/05/28 07:41

tanat

総合スコア18713

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

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

popomarudasi

2020/05/28 08:08

コメントありがとうございます。 なるほど! ローカルで git add -A git commit -m"update" git push -u origin ブランチ GitHubでプルリクマージン EC2で git pull origin master (rails db:migrate) で合ってますか?
tanat

2020/05/28 08:16

そうですね。 実際に簡単な更新をしてみて、確認されることをお勧めします。
guest

0

・一旦停止させておく方法(料金発生を止める方法)
EC2コンソールでインスタンスを停止してください。
1年は無料だと思いますが。。。

・ローカルでアプリを改善した際に差分を反映させる方法
git管理しているのですよね?
AWSにデプロイするときにどうやったかによります。どうやりました?

投稿2020/05/28 07:19

winterboum

総合スコア23335

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

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

popomarudasi

2020/05/28 08:16

git cloneでEC2インスタンスにアプリをいれました! herokuでやっていた際は、 ローカルで ローカルで git add -A git commit -m"update" git push -u origin ブランチ GitHubでプルリクマージン ローカルで git pull origin master git add -A git commit -m"update〇〇" git push heroku master heroku run rails db:migrate とやっていたんですが、 その要領でいけますかね?
popomarudasi

2020/05/28 08:17

git cloneでEC2インスタンスにアプリをいれました! herokuでやっていた際は、 ローカルで ローカルで git add -A git commit -m"update" git push -u origin ブランチ GitHubでプルリクマージン ローカルで git pull origin master git add -A git commit -m"update〇〇" git push heroku master heroku run rails db:migrate とやっていたんですが、 その要領でいけますかね?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問