はじめに
AWSはAmazon Web Servisesの略で、Amazonが提供しているクラウドサーバーのサービスです。
AWSへの理解度を高めるために、学んだことをアウトプットします。
今回はネットワークとの関係を記載します。
今回の流れ
前提として、AWSにVPCとパブリックサブネットはすでに作成している状態とします。
VPCのIP範囲 => 10.0.0.0/16
パブリックサブネットのIP範囲 => 10.0.1.0/24
参考) https://qiita.com/daisuke30x/items/7501f9018386240c09a8
- プライベートサブネットの作成
- DBサーバーの作成
- DBサーバーとWebサーバーとの接続
- DBサーバーへ接続する設定
プライベートサブネットの作成
プライベートサブネットとは
インターネットから接続できないサブネットのことです。
インターネットから直接接続してほしくないサーバーを作りたい時に作成します。
例えば、DBはインターネットから直接接続してほしくないものの典型です。
プライベートサブネットの作成手順
① AWSマネジメントコンソールで「VPC」ページに遷移し、サイドバーの「サブネット」をクリックします。
②右画面の「サブネットの作成」をクリックします。
③「サブネット名」と「アベイラビリティーゾーン」を任意で入力し、「CIDRブロック」に「10.0.0.0/24」の中のIP範囲を入力し、「作成」をクリックします。
※今回はサブネット名に「プライベートサブネット」、「アベイラビリティーゾーン」をパブリックサブネットと同じもの、「CIDRブロック」に「10.0.2.0/24」と入力します。
DBサーバーの作成
DBサーバーの作成手順
① AWSマネジメントコンソールで「EC2」ページに遷移し、サイドバーの「インスタンス」をクリックします。
② 右画面の「インスタンスを起動」をクリックします。
③ 「Amazon Linux 2 AMI」を選択します。
④ タイプを「t2.micro」を選択し、「次のステップ」をクリックします。
⑤ 「ネットワーク」に作成したVPC、「サブネット」に上記で作成したプライベートサブネット、「自動割り当てパブリック IP」に「無効化」を選択し、「ネットワークインターフェース」の「プライマリIP」にはサブネット「10.0.2.0/24」の中の好きなIPを入力します。
※「自動割り当てパブリック IP」に「無効化」を選択する理由は、インターネットから直接接続させないため、パブリックIPが不要だからです。
※今回、私は「プライマリIP」は「10.0.2.10」を入力します。
⑥ ストレージの追加は任意でサイズを変更して、「次のステップ」をクリックします。
※私はストレージはデフォルトの8Gのままにします。
⑦ タグの追加には「別のタグを追加」をクリックし、「キー」に「Name」、「値」に「DBサーバー」を入力し、「次のステップ」をクリックします。
⑧ 「セキュリティグループ名」に今回は「DB-SG」という名前を入力し、MariaDBの通信を許可するために、MariaDBの通信ポート「3306」を追加します。
※ 「Amazon Linux 2 AMI」で使われるDBはMariaDBです。
※ 「ルールの追加」をクリックし、「タイプ」に「MYSQL/Aurora」、「ポート範囲」に「3306」、「ソース」に「任意の場所」を入力(「0.0.0.0/0, ::/0」が自動で入ります。)し、「確認と作成」をクリックします。
Webサーバーとの接続
DBサーバーを作成しましたが、現状Webサーバーからは独立している状態です。
DBサーバーとWebサーバーを接続します。
DBサーバーとWebサーバーとの接続
①「EC2」ページの「セキュリティグループ」をクリックします。
②作成した「DB-SG」のセキュリティグループを選択し、「インバウンドルール」タブの「インバウンドルールを編集する」をクリックします。
③「ルールを追加」をクリックし、プロトコルに「すべてのICMP IPv4」を選択し、ソースに「任意の場所」を選択し、「ルールを保存」をクリックします。
④Webサーバーのセキュリティグループ(私の場合は「WEB-SG」)でも同様の作業を行います。
DBサーバーへ接続する設定
DBサーバーはインターネットと接続されていないため、Webサーバーを踏み台として接続します。
要するに、Webサーバーに接続し、そこからDBサーバーに接続します。
①カレントディレクトリのキーペアファイル(私の場合は「my-key.pem」)を、Webサーバーにコピーします。
※WebサーバーからDBサーバーへ接続する場合は、Webサーバーにキーペアファイルを置いておく必要があるため。
% scp -i my-key.pem mykey.pem ec2-user@ec2-54-95-164-166.ap-northeast-1.compute.amazonaws.com:~/
(@以下はパブリックIPのDNSで、インスタンスによって異なります。)
②Webサーバーにログインします。
% ssh -i my-key.pem ec2-user@ec2-54-95-164-166.ap-northeast-1.compute.amazonaws.com
(@以下はパブリックIPのDNSで、インスタンスによって異なります。)
③Webサーバー内にコピーしたキーペアファイルの属性を変更します。
% chmod 400 my-key.pem
参考)https://qiita.com/daisuke30x/items/6928d7ba029698e7e681
④DBサーバーにSSH接続します。
% ssh -i my-key.pem ec2-user@10.0.2.10
これで、DBサーバーへログインできました。
# 次回
DBサーバーにMariaDBのインストール方法を説明します。
追記
AWSのEC2インスタンスにMariaDBをインストールし、DBサーバーにする方法
https://qiita.com/daisuke30x/items/3f71d95b30c317595d67
参考
「Amazon Web Services 基礎からのネットワーク&サーバー構築」
著者:大澤文孝、玉川憲、片山暁雄、今井雄太
最後に
本投稿が初学者の復習の一助となればと幸いです。