はじめに
こんにちは!
株式会社BFT名古屋支店・新卒の「なる」と「もな」です。
前回の「第1章【悲報】プライベートサブネットのインスタンスってクライアントPCからSSH接続できなくない...??」では、プライベートサブネットに属しておりパブリックIPアドレスを持たないインスタンスに、どのようにしてクライアントPCからSSH接続するかについてお話ししました。
そして、踏み台サーバを利用することでプライベートサブネットに属しているインスタンスにSSH接続できることを発見しました。
DBサーバ潜入、いざMariaDBインストール!
問題が解決し、無事踏み台サーバからDBサーバにたどり着いた私たちは、SSH接続できた安心から完全に油断していました。
「これで新卒研修で行った通りDBサーバにSSH接続して、yumコマンドでMariaDB入れて...」
...通らない。
yumコマンドが通りません。
どうやらDBサーバはyumコマンドを実行するとインターネットからMariaDBをインストールしようとしてしまうようです。
君はインターネットに接続できていないのよ、、
そこで私たちはいくつかの方法を考えました。
・DBサーバ内で何とかしてyumコマンドを実行する→どうやって?
・別サーバでMariaDBをインストール、後にファイル転送→関連パッケージの扱いに難あり、、
・ローカルでMariaDBをダウンロードしSSH SCPで転送→Amazon Linuxサポートないかも?
・NATゲートウェイをプライベートサブネットに配置→コストがかかる
んー、どれも難しそう...一人で考えていても埒が明かないので、こんな時は先輩に相談!
見つけた!解決策
どうやらインターネットに接続しているWEBサーバを介してインターネットに接続し、インストールしてくるんだよとDBサーバに教えてあげないといけないようです。
そんな時に使えるのがこのソフトウェア!
「squid」!!
今回はこれを使って、WEBサーバにフォワードプロキシさせていきます。
手順は以下の通りです。
1.WEBサーバにsquidをインストール
$ sudo yum install squid
2.WEBサーバのセキュリティグループのインバウンドルールを編集し、3128番ポート(カスタムTCP)をDBサーバ用に開放
3.DBサーバにSSH接続し、yumの設定ファイル(/etc/yum.conf)に下記のプロキシの設定を追記
Proxy=http://(webサーバのプライベートIPアドレス):3128
※同じVPC内でEC2がそれぞれやり取りする際にはプライベートIPアドレスの方を使うので、プライベートIPアドレスの方を記載してあげましょう
以上でフォワードプロキシの設定は終了です。
これでプライベートサブネットのインスタンスでもyumコマンドが実行できるようになりました!
インターネットに接続しているWEBサーバを介す、ということが肝だったんですねえ、、
これで無事、DBサーバはyumコマンドを使ってMariaDBをインストールすることができました!
よかったよかった。
今回はかなり苦戦したけど、APサーバのTomcatは作業用PCのローカルから入れるし、SSH SCPでファイル転送するだけだから余裕よね!