From a99e9d75dc32c466a5ee89b93756aef4d9ead5ea Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 7 Oct 2024 10:47:27 +0900 Subject: [PATCH 1/7] =?UTF-8?q?docs:=20README=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ec2/README.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 ec2/README.md 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 From 55bbc69043748588ea5d161a1c51fa0afa445399 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 7 Oct 2024 10:47:43 +0900 Subject: [PATCH 2/7] =?UTF-8?q?style:=20Description=E3=82=92=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=A4=E3=83=AB=E5=90=8D=E3=81=AB=E5=90=88=E3=82=8F?= =?UTF-8?q?=E3=81=9B=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ec2/gateway/staging/public1-1/socat-dbconnection-1a.service | 2 +- ec2/gateway/staging/public2-1/socat-dbconnection-1d.service | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ec2/gateway/staging/public1-1/socat-dbconnection-1a.service b/ec2/gateway/staging/public1-1/socat-dbconnection-1a.service index ce2d87d3..551ac04d 100644 --- a/ec2/gateway/staging/public1-1/socat-dbconnection-1a.service +++ b/ec2/gateway/staging/public1-1/socat-dbconnection-1a.service @@ -1,5 +1,5 @@ [Unit] -Description = socat_dbconnection-1a +Description = socat-dbconnection-1a [Service] ExecStart = /opt/socat-portforwarding-1a.sh diff --git a/ec2/gateway/staging/public2-1/socat-dbconnection-1d.service b/ec2/gateway/staging/public2-1/socat-dbconnection-1d.service index 06c0c649..a7f9be7c 100644 --- a/ec2/gateway/staging/public2-1/socat-dbconnection-1d.service +++ b/ec2/gateway/staging/public2-1/socat-dbconnection-1d.service @@ -1,5 +1,5 @@ [Unit] -Description = socat_dbconnection-1d +Description = socat-dbconnection-1d [Service] ExecStart = /opt/socat-portforwarding-1d.sh From 32c4e498f9540faab8410a98f75c86e3d32b27de Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 7 Oct 2024 10:47:57 +0900 Subject: [PATCH 3/7] =?UTF-8?q?feat:=20=E6=9C=AC=E7=95=AA=E7=94=A8?= =?UTF-8?q?=E3=81=AE=E8=A8=AD=E5=AE=9A=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/public1-1/socat-dbconnection-1a.service | 10 ++++++++++ .../product/public1-1/socat-portforwarding-1a.sh | 3 +++ .../product/public2-1/socat-dbconnection-1d.service | 10 ++++++++++ .../product/public2-1/socat-portforwarding-1d.sh | 3 +++ 4 files changed, 26 insertions(+) create mode 100644 ec2/gateway/product/public1-1/socat-dbconnection-1a.service create mode 100644 ec2/gateway/product/public1-1/socat-portforwarding-1a.sh create mode 100644 ec2/gateway/product/public2-1/socat-dbconnection-1d.service create mode 100644 ec2/gateway/product/public2-1/socat-portforwarding-1d.sh diff --git a/ec2/gateway/product/public1-1/socat-dbconnection-1a.service b/ec2/gateway/product/public1-1/socat-dbconnection-1a.service new file mode 100644 index 00000000..551ac04d --- /dev/null +++ b/ec2/gateway/product/public1-1/socat-dbconnection-1a.service @@ -0,0 +1,10 @@ +[Unit] +Description = socat-dbconnection-1a + +[Service] +ExecStart = /opt/socat-portforwarding-1a.sh +Type = oneshot +RemainAfterExit = yes + +[Install] +WantedBy = default.target \ No newline at end of file diff --git a/ec2/gateway/product/public1-1/socat-portforwarding-1a.sh b/ec2/gateway/product/public1-1/socat-portforwarding-1a.sh new file mode 100644 index 00000000..c257a075 --- /dev/null +++ b/ec2/gateway/product/public1-1/socat-portforwarding-1a.sh @@ -0,0 +1,3 @@ +#!/bin/bash +socat tcp4-listen:40001,reuseaddr,fork TCP:mbj-newdwh2021-product-dbcluster-instance-1.chs11qsgoyix.ap-northeast-1.rds.amazonaws.com:3306 & +socat tcp4-listen:50001,reuseaddr,fork TCP:mbj-newdwh2021-product-dbcluster.cluster-chs11qsgoyix.ap-northeast-1.rds.amazonaws.com:3306 & \ No newline at end of file diff --git a/ec2/gateway/product/public2-1/socat-dbconnection-1d.service b/ec2/gateway/product/public2-1/socat-dbconnection-1d.service new file mode 100644 index 00000000..a7f9be7c --- /dev/null +++ b/ec2/gateway/product/public2-1/socat-dbconnection-1d.service @@ -0,0 +1,10 @@ +[Unit] +Description = socat-dbconnection-1d + +[Service] +ExecStart = /opt/socat-portforwarding-1d.sh +Type = oneshot +RemainAfterExit = yes + +[Install] +WantedBy = default.target \ No newline at end of file diff --git a/ec2/gateway/product/public2-1/socat-portforwarding-1d.sh b/ec2/gateway/product/public2-1/socat-portforwarding-1d.sh new file mode 100644 index 00000000..0f1d2747 --- /dev/null +++ b/ec2/gateway/product/public2-1/socat-portforwarding-1d.sh @@ -0,0 +1,3 @@ +#!/bin/bash +socat tcp4-listen:40001,reuseaddr,fork TCP:mbj-newdwh2021-product-dbcluster-instance-1-ap-northeast-1d.chs11qsgoyix.ap-northeast-1.rds.amazonaws.com:3306 & +socat tcp4-listen:50001,reuseaddr,fork TCP:mbj-newdwh2021-product-dbcluster.cluster-chs11qsgoyix.ap-northeast-1.rds.amazonaws.com:3306 & \ No newline at end of file From a6d74da063c2ff1535dddfb8fb31e99a0b5e1df6 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 7 Oct 2024 14:31:26 +0900 Subject: [PATCH 4/7] =?UTF-8?q?docs:=20=E3=83=95=E3=82=A9=E3=83=AB?= =?UTF-8?q?=E3=83=80=E3=83=91=E3=82=B9=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ec2/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ec2/README.md b/ec2/README.md index 016fb0e3..d57a876e 100644 --- a/ec2/README.md +++ b/ec2/README.md @@ -38,17 +38,17 @@ EC2インスタンス内では、NLBからの任意のポートをAuroraデー - 以下の操作を実行し、`socat`プロセスを起動するシェルスクリプトを配置する。 - **ap-northeast-1aのインスタンス(public-1-1)の場合** - `sudo vi /opt/socat-portforwarding-1a.sh`コマンドを実行する。 - - `<環境名>/public-1-1/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`コマンドを実行する。 - - `<環境名>/public-2-1/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`コマンドを実行する。 - - `<環境名>/public-1-1/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`コマンドを実行する。 - - `<環境名>/public-2-1/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`コマンドを実行し、サービスを有効化する。 From 5f513d974d16c6d76f7ca3e303a22e304d1f77fc Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Thu, 10 Oct 2024 13:56:43 +0900 Subject: [PATCH 5/7] =?UTF-8?q?docs:=20=E3=83=AC=E3=83=93=E3=83=A5?= =?UTF-8?q?=E3=83=BC=E6=8C=87=E6=91=98=E5=AF=BE=E5=BF=9C=E3=80=82=E8=AA=A4?= =?UTF-8?q?=E5=AD=97=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ec2/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ec2/README.md b/ec2/README.md index d57a876e..f3efae3d 100644 --- a/ec2/README.md +++ b/ec2/README.md @@ -5,7 +5,7 @@ ### 目的 Merck様のDB接続経路としてのNLBから、Auroraデータベースに踏み台アクセスを行うため、ゲートウェイの機能を提供するEC2インスタンスを稼働している。 -EC2インスタンス内では、NLBからの任意のポートをAuroraデータベースのポートにほわ~でィングするために、`socat`プロセスを動かす必要がある。 +EC2インスタンス内では、NLBからの任意のポートをAuroraデータベースのポートにフォワーディングするために、`socat`プロセスを動かす必要がある。 `socat`プロセスを動かすためのコマンドと、EC2インスタンス起動時にプロセスを実行するためのsystemdの設定を配置している。 ### フォルダ構成 @@ -16,7 +16,7 @@ EC2インスタンス内では、NLBからの任意のポートをAuroraデー └── gateway ├── staging -- ステージング環境用設定 │ ├── public1-1 -- ap-northeast-1aのインスタンス要設定 - │ │ ├── socat-dbconnection-1a.service -- のsystemdにsocatプロセスを登録するためのファイル + │ │ ├── socat-dbconnection-1a.service -- systemdにsocatプロセスを登録するためのファイル │ │ └── socat-portforwarding-1a.sh -- socatでAuroraデータベースにポートフォワーディングするためのシェルスクリプト │ └── public2-1 -- ap-northeast-1dのインスタンス要設定 │ ├── socat-dbconnection-1d.service From 379785b542a725ecb90a464d72e9d19beded6a4e Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Thu, 10 Oct 2024 14:42:30 +0900 Subject: [PATCH 6/7] =?UTF-8?q?docs:=20=E3=83=AC=E3=83=93=E3=83=A5?= =?UTF-8?q?=E3=83=BC=E6=8C=87=E6=91=98=E5=AF=BE=E5=BF=9C=E3=80=82=E3=82=B5?= =?UTF-8?q?=E3=83=BC=E3=83=93=E3=82=B9=E7=99=BB=E9=8C=B2=E5=89=8D=E3=81=AB?= =?UTF-8?q?chmod=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ec2/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ec2/README.md b/ec2/README.md index f3efae3d..9c47ce9e 100644 --- a/ec2/README.md +++ b/ec2/README.md @@ -39,16 +39,20 @@ EC2インスタンス内では、NLBからの任意のポートをAuroraデー - **ap-northeast-1aのインスタンス(public-1-1)の場合** - `sudo vi /opt/socat-portforwarding-1a.sh`コマンドを実行する。 - `ec2/gateway/<環境名>/public-1-1/socat-portforwarding-1a.sh`の内容をコピペして保存する。 + - `sudo chmod 764 /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 764 /opt/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`の内容をコピペして保存する。 + - `sudo chmod 764 /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 764 /etc/systemd/system/socat-dbconnection-1d.service`コマンドを実行する。 - 以下の操作を実行し、`socat`プロセスを起動するスクリプトをsystemdに登録する - **ap-northeast-1aのインスタンス(public-1-1)の場合** - `sudo systemctl enable socat-dbconnection-1a.service`コマンドを実行し、サービスを有効化する。 From 901643974e94386055d04a9b948aefe23a83cee9 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Thu, 10 Oct 2024 14:44:11 +0900 Subject: [PATCH 7/7] =?UTF-8?q?docs:=20=E3=83=91=E3=83=BC=E3=83=9F?= =?UTF-8?q?=E3=83=83=E3=82=B7=E3=83=A7=E3=83=B3=E4=BF=AE=E6=AD=A3=EF=BC=88?= =?UTF-8?q?=E6=89=80=E6=9C=89=E8=80=85=E3=83=BB=E3=82=B0=E3=83=AB=E3=83=BC?= =?UTF-8?q?=E3=83=97=E3=81=ABRDX=E6=A8=A9=E9=99=90=E3=80=81=E3=81=9D?= =?UTF-8?q?=E3=81=AE=E4=BB=96=E3=81=ABR=E6=A8=A9=E9=99=90=E3=82=93?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ec2/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ec2/README.md b/ec2/README.md index 9c47ce9e..0dda354b 100644 --- a/ec2/README.md +++ b/ec2/README.md @@ -39,20 +39,20 @@ EC2インスタンス内では、NLBからの任意のポートをAuroraデー - **ap-northeast-1aのインスタンス(public-1-1)の場合** - `sudo vi /opt/socat-portforwarding-1a.sh`コマンドを実行する。 - `ec2/gateway/<環境名>/public-1-1/socat-portforwarding-1a.sh`の内容をコピペして保存する。 - - `sudo chmod 764 /opt/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 764 /opt/socat-portforwarding-1d.sh`コマンドを実行する。 + - `sudo chmod 774 /opt/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`の内容をコピペして保存する。 - - `sudo chmod 764 /etc/systemd/system/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 764 /etc/systemd/system/socat-dbconnection-1d.service`コマンドを実行する。 + - `sudo chmod 774 /etc/systemd/system/socat-dbconnection-1d.service`コマンドを実行する。 - 以下の操作を実行し、`socat`プロセスを起動するスクリプトをsystemdに登録する - **ap-northeast-1aのインスタンス(public-1-1)の場合** - `sudo systemctl enable socat-dbconnection-1a.service`コマンドを実行し、サービスを有効化する。