4.5 KiB
4.5 KiB
EC2インスタンス管理資材
NLBゲートウェイ インスタンス 起動スクリプト
目的
Merck様のDB接続経路としてのNLBから、Auroraデータベースに踏み台アクセスを行うため、ゲートウェイの機能を提供するEC2インスタンスを稼働している。
EC2インスタンス内では、NLBからの任意のポートをAuroraデータベースのポートにフォワーディングするために、socatプロセスを動かす必要がある。
socatプロセスを動かすためのコマンドと、EC2インスタンス起動時にプロセスを実行するためのsystemdの設定を配置している。
フォルダ構成
.
├── 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コマンドを実行する。ec2/gateway/<環境名>/public-1-1/socat-portforwarding-1a.shの内容をコピペして保存する。sudo chmod 774 /opt/socat-portforwarding-1a.shコマンドを実行する。
- ap-northeast-1dのインスタンス(public-2-1)の場合
sudo vi /opt/socat-portforwarding-1d.shコマンドを実行する。ec2/gateway/<環境名>/public-2-1/socat-portforwarding-1d.shの内容をコピペして保存する。sudo chmod 774 /opt/socat-portforwarding-1d.shコマンドを実行する。
- ap-northeast-1aのインスタンス(public-1-1)の場合
- 以下の操作を実行し、
socatプロセスを常駐させるためのサービス設定ファイルを配置する。- ap-northeast-1aのインスタンス(public-1-1)の場合
sudo vi /etc/systemd/system/socat-dbconnection-1a.serviceコマンドを実行する。ec2/gateway/<環境名>/public-1-1/socat-dbconnection-1a.serviceの内容をコピペして保存する。sudo chmod 774 /etc/systemd/system/socat-dbconnection-1a.serviceコマンドを実行する。
- ap-northeast-1dのインスタンス(public-2-1)の場合
sudo vi /etc/systemd/system/socat-dbconnection-1d.serviceコマンドを実行する。ec2/gateway/<環境名>/public-2-1/socat-dbconnection-1d.serviceの内容をコピペして保存する。sudo chmod 774 /etc/systemd/system/socat-dbconnection-1d.serviceコマンドを実行する。
- ap-northeast-1aのインスタンス(public-1-1)の場合
- 以下の操作を実行し、
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
- ap-northeast-1aのインスタンス(public-1-1)の場合