AWS

AWS勉強 -プライベートサブネットにサーバーを構築する-


プライベートサブネットにサーバーを構築する

プライベートサブネットができたので次にサーバーを構築していく!


サーバーを構築する

スクリーンショット 2018-10-27 18.04.23.png

からの,

https://qiita.com/KawamotoShuji/items/71acff242ee7548bd4f9

ステップ3までは上記参考に🙇‍♂️

スクリーンショット 2018-10-27 18.27.50.png

からの,

スクリーンショット 2018-10-27 18.31.38.png

からの,

スクリーンショット 2018-10-27 18.35.11.png

からの,

スクリーンショット 2018-10-27 18.38.50.png

正常に作られたのか確認する,

スクリーンショット 2018-10-27 18.49.06.png


pingコマンドで疎通確認できるようにする

このDBサーバーがWebサーバーからアクセスできるかどうか確認してみる.

サーバー間での疎通を確認するときによく用いるのが「pingコマンド」だ.

pingコマンドを実行するとネットワーク疎通を確認したいホストに対して「ICMPエコー要求」というパケットを送信する.

それを受け取ったホストは「ICMPエコー応答」というパケットを返信する.

このコマンドでは「ICMPエコー要求」と「ICMPエコー応答」のやりとりから疎通確認や相手に届くまでの時間を計測したりする.


ICMPが通るように構成する


手順1 -インバウンドの設定を始める-

スクリーンショット 2018-10-27 20.04.36.png

からの,

スクリーンショット 2018-10-27 20.14.18.png

からの,

スクリーンショット 2018-10-27 20.39.17.png


疎通を確認する

ICMPプロトコルを通るように構成したのでpingコマンドを使って疎通確認できる.

実際にWebサーバーからDBサーバーへの疎通確認をしてみる.

スクリーンショット 2018-10-27 20.40.24.png


SSHでログインする

$ ssh -i ~/Downloads/my-key.pem ec2-user@ec2-18-179-47-97.ap-northeast-1.compute.amazonaws.com


DBサーバーのIPに対してpingを実行してみる

$ ping 10.0.2.10

スクリーンショット 2018-10-27 20.51.04.png

上記みたいな感じになる.


ローカル環境からWebサーバーに疎通できるようにする

さらにpingコマンドを使って疎通確認を続ける.


接続してみる

ローカル環境からこのWebサーバーに対してpingコマンドを実行してみる.

$ ping ec2-18-179-47-97.ap-northeast-1.compute.amazonaws.com

スクリーンショット 2018-10-27 21.10.53.png

しかし,上記のようにTimeOutしてしまう.

これはWebサーバーと疎通不可能なわけではなく,Webサーバーに適用されているセキュリティグループにおいてICMPを許可していないからだ.


ICMPを許可する設定を加える

スクリーンショット 2018-10-27 21.15.19.png

そうすると疎通確認することができる.

スクリーンショット 2018-10-27 21.23.48.png


踏み台サーバーを経由してSSHで接続する

ここまでで作成したDBサーバーにSSHでログインしてMySQLをインストールする.

そこで疑問なのが,DBサーバーはインターネットと接続されていないのにどうやってSSH接続するのかだ.

その解決策の1つが「踏み台サーバー」だ.

ここまでで,WebサーバーにはSSHで接続でき,WebサーバーからDBサーバーに疎通確認が取れている.

そこで,

①WebサーバーにSSHでアクセス,②WebサーバーからDBサーバーにSSHでアクセスというようにWebサーバーを踏み台とすればローカル環境からDBサーバーへとアクセスできる.


秘密鍵をアップロードする

インスタンスにSSHでアクセスするには「秘密鍵」をWebサーバーに置く必要がある.

サーバーにファイルを転送するには「SCP(Secure Copy)」というプロトコルを使う.


ファイルを転送してみる

Macで行う!

ターミナルで以下を実行.

$ scp -i ~/Downloads/my-key.pem ~/Downloads/my-key.pem ec2-user@ec2-18-179-47-97.ap-northeast-1.compute.amazonaws.com:~/


WebサーバーからSSHで接続する

接続しましょう!(雑


鍵ファイルのパーミッションを変更する

下記コマンドを入力

$ chmod 400 my-key.pem

スクリーンショット 2018-10-27 22.01.15.png

こんな感じ.


Webサーバーを踏み台にしてDBサーバーにSSH接続

Webサーバー上から下記コマンドを入力

$ ssh -i my-key.pem ec2-user@10.0.2.10

スクリーンショット 2018-10-27 22.06.08.png

できた❣️


感想

会社でAWSのDBサーバーにアクセスするとき,

二回SSHログインしていた意味がわかった.

こんな構成になっていたんだ...

もっと勉強するぞ.