【AWS】ネットワーク学習の備忘録3
■はじめに
前回同様、AWSでネットワーク構築するにあたりやったことを記録していきます。前回の「ネットワーク学習の備忘録2」まででパブリックサブネットの作成とWebサーバー用インスタンスの作成と設置が完了しています。必要な方は下記の記事をご覧ください。
■プライベートサブネットを作成する
★事前知識★
・リージョン
データセンター群が配置されている地域のこと
・アベイラビリティーゾーン
データセンターを論理的にグループ化したもの
AWSのサービス(VPCも含め)はリージョン内のいずれかのアベイラビリティーゾーンで実行される。Amazon VPCでサブネットを作成するとどこかのアベイラビリティーゾーン上で作られる。また、サブネットをそれぞれ別のアベイラビリティーゾーンで作成することも可能で、通信も問題なくできる。ただし、物理的な距離による遅延や通信料金が発生したりするので注意が必要。
アベイラビリティーゾーンの確認は、「VPC」コンソールの「サブネット」メニューでサブネット一覧を表示させ、任意のサブネットをクリックすると画面下部に情報が表示されますので、その中から「アベイラビリティーゾーン」と書かれている箇所を探しましょう。
▼プライベートサブネットを作る
「VPC」コンソールの「サブネット」メニューを選んで、「サブネットの作成」ボタンをクリックします。作成画面で以下を入力します。入力が完了したら「作成」ボタンをクリックして完了です。
サブネット名:任意(自分はプライベートサブネットと入力しました)
アベイラビリティーゾーン:パブリックサブネットと同じアベイラビリティーゾーンを選択します
CIDRブロック:10.0.2.0/24(パブリックサブネットが10.0.1.0/24だったため)
★補足★
Amazon VPCでは、サブネットを作成するとVPCのデフォルトのルートテーブルが割り当てられます。パブリックサブネット作成時にはインターネットへ接続するために新しいルートテーブル作成し設定し直していますが、プライベートサブネットはインターネットへ出ることがないのでデフォルトのルートテーブル(VPC領域[10.0.0.0/16]:VPC範囲外の宛先を破棄する)から変更する必要がありません。なのでデフォルトのルートテーブルのままにしています。
■データベース用のサーバーを構築する
▼サーバーを構築する
Webサーバーを作成したときと同じ要領でEC2でデータベース用の新しいインスタンスを作成します。作成するインスタンスの設定がWebサーバーの時と違うので以下に記載します。
●VPCとIPアドレスの設定
ネットワークはVPC領域ですが、サブネットは今回作った「プライベートサブネット」を選択します。IPアドレスは「ネットワークインターフェイス」の項目で設定します。プライベートサブネット範囲内(10.0.2.0/24)であればなんでもいいです。
●サーバー名
データベース用のサーバーなので「DBサーバー」と入力しました。
●セキュリティグループを設定する
このデータベースサーバーにはMariaDBをインストールするので、その通信も許可するセキュリティグループを新たに作成します。「ルールを追加」ボタンをクリック後、「タイプ」を「MYSQL/Aurora」(「ポート範囲」は自動的に「3306」になる)、「ソース」を「任意の場所」に設定します。また、pingでの疎通確認ができるようにもしときます。再度「ルールを追加」をクリックし、「タイプ」を「すべてのICMP-IPv4」(pingはICMP[Internet Control Message Protocol]というプロトコルが利用されます)、「ソース」を「任意の場所」に設定します。これでpingも通るはずです。以上でデータベースサーバーの設定は完了なので作成しましょう。
■踏み台サーバーを利用したSSH接続の準備をする
作成したDBサーバーはインターネットに接続してないので、ローカルから直接接続できません。なのでWebサーバーを踏み台にしてSSH接続します。SSH接続するには「秘密鍵」が必要となるのですが、今回の環境ではWebサーバーからデータベースサーバーに接続するので秘密鍵をWebサーバーに置いておきます。ちなみにファイルの転送では「SCP(Secure Copy)」というプロトコルを利用することになります。ファイル転送の方法はいくつかあり、今回は「Tera Term」の機能を使いますが、「WinSCP」などのソフトを使えばエクスプローラーの要領でファイルをドラック&ドロップやコピーができますので、自身のパソコンに入れておくと便利です。
▼秘密鍵を転送する
「Tera Tarm」の「ファイル」メニューで「SSH SCP」をクリックします。
「From」にコピー元のファイルを選択し、「To」にホームディレクトリ(「~/」)を指定したら「Send」をクリックして完了です。Webサーバーのホームディレクトリで秘密鍵があるか確認してみましょう。
▼秘密鍵の権限を変更する
WebサーバーからSSH接続したら、まず、秘密鍵の権限(パーミッション)を「自分のみ読み込める」に変更します。権限の変更は以下のコマンドで実行します。
$ chmod 400 my-key.pem
※秘密鍵のファイル名は自身のものに置き換えて下さい
▼WebサーバーからデータベースサーバーにSSH接続する
$ ssh -i my-key.pem ec2-user@10.0.2.10
※データベースサーバーのプライベートIPアドレスは自身のものに置き換えて下さい
上記コマンドでデータベースサーバーにログインできます。抜ける際は「exit」コマンドで可能です。
■おわりに
これでデータベースサーバーにもログインできるようになりました。あとはデータベースソフト(現時点ではMariaDB想定)をインストールする作業になるのですが、それは次の記事で記録しようと思います。では、また。