diff --git a/ec2/README.md b/ec2/README.md new file mode 100644 index 00000000..016fb0e3 --- /dev/null +++ b/ec2/README.md @@ -0,0 +1,58 @@ +# EC2インスタンス管理資材 + +## NLBゲートウェイ インスタンス 起動スクリプト + +### 目的 + +Merck様のDB接続経路としてのNLBから、Auroraデータベースに踏み台アクセスを行うため、ゲートウェイの機能を提供するEC2インスタンスを稼働している。 +EC2インスタンス内では、NLBからの任意のポートをAuroraデータベースのポートにほわ~でィングするために、`socat`プロセスを動かす必要がある。 +`socat`プロセスを動かすためのコマンドと、EC2インスタンス起動時にプロセスを実行するためのsystemdの設定を配置している。 + +### フォルダ構成 + +```txt +. +├── README.md -- 当ファイル +└── gateway + ├── staging -- ステージング環境用設定 + │ ├── public1-1 -- ap-northeast-1aのインスタンス要設定 + │ │ ├── socat-dbconnection-1a.service -- のsystemdにsocatプロセスを登録するためのファイル + │ │ └── socat-portforwarding-1a.sh -- socatでAuroraデータベースにポートフォワーディングするためのシェルスクリプト + │ └── public2-1 -- ap-northeast-1dのインスタンス要設定 + │ ├── socat-dbconnection-1d.service + │ └── socat-portforwarding-1d.sh + │ + ├── product -- 本番環境用設定 + │ ├── public1-1 + │ │ ├── socat-dbconnection-1a.service + │ │ └── socat-portforwarding-1a.sh + │ └── public2-1 + │ ├── socat-dbconnection-1d.service + │ └── socat-portforwarding-1d.sh +``` + +### ファイル配置方法(両環境共通) + +- 対象のゲートウェイEC2インスタンスにログインする + - セッションマネージャーでログインした場合は、`ec2-user`に切り替えること(`sudo su --login ec2-user`) +- 以下の操作を実行し、`socat`プロセスを起動するシェルスクリプトを配置する。 + - **ap-northeast-1aのインスタンス(public-1-1)の場合** + - `sudo vi /opt/socat-portforwarding-1a.sh`コマンドを実行する。 + - `<環境名>/public-1-1/socat-portforwarding-1a.sh`の内容をコピペして保存する。 + - **ap-northeast-1dのインスタンス(public-2-1)の場合** + - `sudo vi /opt/socat-portforwarding-1d.sh`コマンドを実行する。 + - `<環境名>/public-2-1/socat-portforwarding-1d.sh`の内容をコピペして保存する。 +- 以下の操作を実行し、`socat`プロセスを常駐させるためのサービス設定ファイルを配置する。 + - **ap-northeast-1aのインスタンス(public-1-1)の場合** + - `sudo vi /etc/systemd/system/socat-dbconnection-1a.service`コマンドを実行する。 + - `<環境名>/public-1-1/socat-dbconnection-1a.service`の内容をコピペして保存する。 + - **ap-northeast-1dのインスタンス(public-2-1)の場合** + - `sudo vi /etc/systemd/system/socat-dbconnection-1d.service`コマンドを実行する。 + - `<環境名>/public-2-1/socat-dbconnection-1d.service`の内容をコピペして保存する。 +- 以下の操作を実行し、`socat`プロセスを起動するスクリプトをsystemdに登録する + - **ap-northeast-1aのインスタンス(public-1-1)の場合** + - `sudo systemctl enable socat-dbconnection-1a.service`コマンドを実行し、サービスを有効化する。 + - `sudo systemctl status socat-dbconnection-1a.service`コマンドを実行し、サービスのステータスを確認する。`enabled;`となっていればOK + - **ap-northeast-1dのインスタンス(public-2-1)の場合** + - `sudo systemctl enable socat-dbconnection-1d.service`コマンドを実行し、サービスを有効化する。 + - `sudo systemctl status socat-dbconnection-1d.service`コマンドを実行し、サービスのステータスを確認する。`enabled;`となっていればOK