skillup

技術ブログ

サーバー・ネットワーク

VPCでEC2+RDSを構築

投稿日:

以前の記事で、VPCを使ってEC2の環境を作りましたが、一般的にwebアプリはwebサーバーとDBがセットになることがほとんどだと思いますので、AWSでこの環境を構築してみようと思います。

イメージ図

*EC2のサブネットは外に通じていますが、DBは通じていないため、直でアクセスができません。アクセスするときはEC2をSSHで踏み台にして、そこからアクセスする必要があります。

RDSの設定に関するポイント

サブネットグループ

DBのサブネットは個別のサブネットではなく、複数のアベイラビリティーゾーンを含むサブネットグループという複数のサブネットを定義することになります。

*アベイラビリティーゾーン・・リージョンのさらに細分化された地域のことです。リージョンが国ならアベイラビリティーゾーンはその国の中の地域のようなものになるかと思います。

そのためにDBのサブネットはアベイラビリティーゾーンを散らせておきましょう。

RDSの設置画面から「サブネットグループ」→「DBサブネットグループ」→「サブネットグループ」の選択から複数のサブネットを選択すればOKです。

セキュリティグループ

RDSはEC2のみから接続が可能なようにしますので、下記のようにセキュリティグループを設定すればOKです。

その他のポイント

DBのホスト名ですが、相当するのは「エンドポイント」になります。

確認は当然EC2からDBに繋げるか(PHPの簡単なスクリプトなどでの検証が有効)を試せばOK。

上記のように設定しておけばEC2サーバーを踏み台しにしてRDSにつなげますが、直で繋ぎたい場合は、下記3点に気をつけて設定しましょう。

  • RDS作成時にパブリックアクセシビリティを「はい」にしておく
  • RDSのセキュリティグループで「MySQL/Aurora」「マイIP」を選択し、自分のIPを許可しておく
  • RDSのサブネットでルートテーブルの紐付けが必要

-サーバー・ネットワーク
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

nginxの設定&php-fpmインストール

本日、久しぶりにPHPのWebアプリを別サーバーに移行したのですが、nginxの設定でかなり手間取りましたのでちょっと記録しておきます。 Contents1 nginxの設定1.1 インストール1.2 …

no image

環境構築の手法について

2019年9月現在、PHPは7系(最新は7.3)を使うことが一般的ですが、たまにレガシー案件などでPHP5系を使ったりすることはあります。 まあ7系でも7.0じゃ動かないとか色々な制約あるんですけど・ …

no image

mod_rewriteについて

本日はapacheのmod_rewriteについて。 例えばget句に郵便番号を付けて、住所を出力するWEBプログラムがあるとします。 この場合、そのままだと[crayon-5eff7708ed3da …

no image

PHP7に関して

先週きづいたのですが、PHPが5.6から7になりましたね。 まあ当分はまだPHP5で開発していきますが、herokuがいきなり7になり、アプリが動かないということが起こりました。 7対応させたかったん …

no image

herokuでのhttpd.conf設定

前回の記事でLet’s EncryptでSSL設定する場合、 http://ドメイン/.well-known/ というURLにアクセスする必要があります。 ただherok …