teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2020/10/02 06:41

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -2,10 +2,13 @@
2
2
  簡単な順には以下の様な感じでしょうか。
3
3
 
4
4
  1. 定期的なRsyncでEFSからEBSに同期させる。
5
+ RsyncをCronで走らせて同期させます。
5
- 基本的にはLsyncd使えないのでRsyncのエラー等を自前で捕まえてあげないといけないのが大変&リアルタイムには更新されませんが、手動でデプロイするよりはマシなはずです。
6
+ Lsyncd使えないのでRsyncのエラー等を自前で捕まえてあげないといけないのが大変&リアルタイムには更新されませんが、手動でデプロイするよりはマシなはずです。
7
+ EC2への各ユーザーのログインは原則禁止にして、同期にずれが生じるような作業をさせないようにしましょう。
6
8
 
7
9
  2. 各EC2をAutoScalingGroupに入れておいて、ソース更新があったらAMIを更新→順番にインスタンスを殺して自動で更新後のイメージから起動させる
8
- インスタンスの問題発生時にはとりあえず殺してAMIから起動しなおせば復旧できるという運用の安心感が生まれ
10
+ インスタンスの問題発生時にはとりあえず殺してAMIから起動しなおせば復旧できるという運用の安心感が生まれます。
11
+ リリースの度に手作業が発生しますが、CI/CDに関する知見や開発手法に関する教育コストもそこまでかからないので気軽に始めるには悪くないと思います。
9
12
 
10
13
  3. `AWS CI/CD`あたりで検索して、継続的なインテグレーション/デリバリーを実現する
11
14
  開発手法から整備しないといけないので結構大変ですが、最終的な管理は楽になります。

1

修正

2020/10/02 06:41

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -1,10 +1,8 @@
1
1
  `ファイルベースで管理しているようなデータが無い事`が前提となりますが、
2
2
  簡単な順には以下の様な感じでしょうか。
3
3
 
4
- 1. EFSをマウントしてLsyncd+Rsyncで実際に動すローカルのパスコピーして使う
4
+ 1. 定期的なRsyncでEFSらEBS同期させる。
5
- 古典的な方法ですが、割と簡単に実現できることでしょう。
6
- EC2への管理者以外のログインは原則として禁止にしておかないとひどい目に会うかも
7
- Lsyncdの死活監視は厳密にやっおかないとこれも痛目に会います
5
+ 基本的にはLsyncdを使えないで、Rsyncのエラー等を自前で捕まえあげないといけなのが大変&リアルタイムには更新されせんが、手動でデプロイるよりはマシなはずです。
8
6
 
9
7
  2. 各EC2をAutoScalingGroupに入れておいて、ソース更新があったらAMIを更新→順番にインスタンスを殺して自動で更新後のイメージから起動させる
10
8
  インスタンスの問題発生時にはとりあえず殺してAMIから起動しなおせば復旧できるという運用の安心感が生まれる