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

yumのリポジトリについて

CentOSでは様々なパッケージが用意されていますが、標準で使えるもの以外にもさまざまなリポジトリがあります。 Contents1 リポジトリ一覧2 有効、無効や指定してのインストールについて リポジ …

no image

herokuでMySQL

昨日に続き、heroku+MySQLのメモです。 herokuはディフォルトではPostgreSQLですが、アドオンを使うとMySQLも使えるようになります。 使い方ですが、herokuの管理画面でク …

no image

apacheで複数インスタンスの起動

前回のphpenvがらみの引き続きですが、php5.6と7を共存させ、なおかつWEBアプリで動かす方法を調べたところapacheの複数インスタンスがであれば可能だとのこと。 早速調べなんとかできました …

no image

Vagrantでのフォルダ共有

Contents1 vagrantとホストOSのフォルダの共有2 ネットワークアダプタ設定3 任意のディレクトリをマウント vagrantとホストOSのフォルダの共有 ディフォルトではvagrantは …

no image

herokuでのLet’s Encrypt設定

herokuで運用しているアプリでhttps設定(Let’s Encrypt)をしたいという要望があり、調査、設定をすることに。 当然herokuでなくても大丈夫です。 過去に行ったhtt …