2024-10-07 14:31:26 +09:00
..
2024-10-07 14:31:26 +09:00

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の内容をコピペして保存する。
    • ap-northeast-1dのインスタンス(public-2-1)の場合
      • sudo vi /opt/socat-portforwarding-1d.shコマンドを実行する。
      • ec2/gateway/<環境名>/public-2-1/socat-portforwarding-1d.shの内容をコピペして保存する。
  • 以下の操作を実行し、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の内容をコピペして保存する。
    • ap-northeast-1dのインスタンス(public-2-1)の場合
      • sudo vi /etc/systemd/system/socat-dbconnection-1d.serviceコマンドを実行する。
      • ec2/gateway/<環境名>/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