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

herokuでのhttpd.conf設定

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

no image

Sambaインストール

オフィスでサーバーをたてていますが、普段使っているメインのPCとのファイルのやりとりをSFTPクライアントなどでするのが面倒くさいので、同期させるためにSambaをインストールしました。 環境ですが、 …

no image

nginxのSSL通信や認証、ログに関して

今回はnginxでSSL通信をする際の注意点など。といっても、それほど難しくないようでSSL通信をするには主に2つだけです。 SSLを利用することを明示 サーバー証明書と秘密鍵を指示する またngin …

no image

dockerコンテナ間での連携(PHP+MySQL)

dockerでのコンテナ間の連携について 以前、dockerではCentOSのイメージからコンテナを作成し、その中にphp,apache,mysqlをインストールしてましたが、dockerの使い方とし …

no image

ECCUBE2,3でのnginx利用

ECCUBE2,3をインストールする機会があったのでメモ。 例によってnginxの設定がめんどいですね。・・ ファイルパス ECCUBE2,ECCUBE3ともに下記パス,URLと仮定します。 [cra …