LoginSignup
2
0

More than 3 years have passed since last update.

AWSにDBサーバーの構築とWebサーバーとの接続を行う

Last updated at Posted at 2020-10-31

はじめに

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 基礎からのネットワーク&サーバー構築」
著者:大澤文孝、玉川憲、片山暁雄、今井雄太

最後に

本投稿が初学者の復習の一助となればと幸いです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0