EC 2起動時にスクリプトを自動的に実行してサーバを配備(feat.pm 2)


前の記事では、EC 2インスタンスが自動的に開いて閉じられました.そして設定した午前10時にログインし、502を見つけた時に楽楽が私を歓迎してくれた.急いでSSH接続で確認したところ、サーバーがシャットダウンしてから開き、pm 2で配布された開発物もなくなっていた.

解決する


基本的にAWSは解決策の大部分を韓国語で親切に教えてくれる.問題解決のために見つけた内容もハングルだ.
しかし説明とは異なり、何度も試して問題を解決した.

Cloud-init


まず、cloud-initはec 2にインストールされるべきである.ubuntuを基準として、sudo apt-cache search cloud-initコマンドで確認できます.インストールされていない場合は、sudo apt-get install cloud-initでインストールできます.

EC 2例


実行中のインスタンスを停止する必要があります.终わりじゃなく终わり!必要なインスタンスをクリックし、インスタンスの状態で[インスタンスを停止](Stop Instance)をクリックします.

ステータスが赤で停止していない場合は、まだ停止中です.しばらくお待ちください.
あとはちょっと乱れた部分が작업 > 인스턴스 설정 > 사용자 데이터 편집部分公式記事でもこのように説明しており,非常に自然にインスタンス状態ボタンの横にある操作ボタンをクリックし,インスタンス設定を確認した.ただし,そこにはユーザデータやユーザデータに関するボタンは編集されていない.くそっ!
ボタンをクリックすると、インスタンスを右クリックして確認できます.

ユーザーデータの変更


今着きました.このボタンをクリックすると、終了が完了すると、次の画面が表示されます.次に、元の選択に従って、「ユーザーデータをテキストに変更」をクリックし、次のtextareaに設定内容を書きます.

設定内容は次のとおりです.処理が必要なスクリプトは、下部#!/bin/bashから作成することができる.
作成時に注意が必要な場合:
1.sudoを基準とする.
2.ルート・フォルダに基づいています.(ec 2に接続するとホーム/ubuntu/なのでubuntuフォルダが標準だと思います.)
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
**여기부분에 원하는 스크립트를 작성하시면 됩니다, 아래 2줄은 예시입니다.**
cd home/ubuntu/futchall <---- 폴더 변경
npx pm2 start npm -- start <--- pm2 실행
--//

の最後の部分


まず急火を消した.こんな当たり前のことも考えられず、まだ初心者のようです.試行錯誤を経て、原理と流れの重要性をさらに感じた.
このスクリプトの時点についてはまだ疑問があります.先に始まったようです.インスタンスを再実行して接続し、pm 2 listを表示すると、npxは再インストール(?)すごい格好をしている.もう一度探して追加します.