🏠

【メモ】デプロイについて

2024/07/09に公開

メンターさんにデプロイについてのお話をしていただいて、忘れないようにまとめてみました。
AWS、cloud9のデプロイについてです。

⚪︎そもそもデプロイってなんぞや?
デプロイとは、他の人に、自分の作ったサイトを見てもらうための作業です。
デプロイしないままでは、自分の作ったサイトは見てもらえません。

⚪︎EC2とECSってなに?
ざっくり書くと
EC2・・・アプリを動かすためのサーバー
ES2・・・アプリのデータ保管場所

⚪︎EC2とES2でなんで機能を分けているの?
サイバー攻撃などからデータを守るためです
もしEC2にすべての機能が入っているとて、そこに攻撃されたらどうなるでしょう?
パスワードや個人情報などすべて抜き取られてしまう可能性があるため、分けています。

⚪︎なぜ開発環境から本番環境にうつらなければいけないの?
本番環境で開発していたら、作っている途中のものが、ユーザーに見えてしまいます。
(真っ赤なエラーが見えてしまう)
なので、開発環境で作成したのち、本番環境にデプロイすることが必要になります。

⚪︎本番環境で色々インストールしないといけないのはなぜ?
開発環境では、railsなど元々開発するための機能がcloud9に入っていました。
本番環境では、ユーザーに見てもらうための場所のため、そういった機能は入っていません。
なので、その開発するための機能をインストールする必要があるんです。

最初にcloud9を構築したときも、railsのバージョンをインストールしていたと思います。
そのインストールするためのコマンドが、「/environment.sh」ファイルにたくさん書いてあります。
開発環境では、これを順番に自動でインストールしてくれていたんです。

このインストールする作業を、本番環境でも行う必要があります。
なので、色々インストールする必要があるんです。

⚪︎sodoについて
これは「スードゥー」です。スドーって読んでいるのは私だけじゃないはず、、笑
権限について指定しています。
このsudoがあることで、「あるユーザが他のユーザ、または他のグループの権限を用いて、プログラムなどを実行できるようにする」
つまり、その機能をどの程度使っていいか決めています。
これも、「/environment.sh」ファイルに記載があります。

⚪︎開発環境と本番環境では、railsなど同じバージョンにする必要があります。
⚪︎本番環境でインストールするときに新しい機能のように見えることでも、
 実は開発環境で知らず知らずにインストールして使っていることだった。
ということがあります。

⚪︎初めてのデプロイについて
デプロイは難しいところなので、最初から分からなくても大丈夫です。
デプロイは1人で進めても良いですが、
わからないところなどあれば、もし周囲に相談できる方がいれば、その都度聞いていくのが良いかもしれません。

Discussion