Amazon VPCの便利な機能をWordPressを例にして使ってみる

記事タイトルとURLをコピーする

こんにちは!インフラエンジニアの柳瀬です!
先日、東京にもオープンしたAmazon VPCがこれから注目を集めてくるに違いないと確信しているのですが、『実はその素晴らしさがあまり認知されていないのではないか?』と思う事があります。
Amazon VPCとはどのようなサービスでしょうか?
AmazonとVPN接続が出来るサービス! と直感的に思ってしまいますが、これは個人的に半分だけ正解だと思っています。
といいますのも、VPN接続だけでなく他にもとても素晴らしい使い方が出来るからです。
今回はみなさん良くご存知のCMSであるWordPressを例にして便利な機能を使ってみたいと思います。
まず最初に今回のエントリで紹介する機能は以下となります。

  • VPC内に公開用と非公開用の2つのサブネットを作成する
  • フロントのWebサーバは公開用へ、DBサーバは非公開用へ配置する
  • DBサーバのメンテナンスはNATアドレッシングインスタンスを経由して外部へ接続する
  • 公開用と非公開用サブネット間には簡単なACL機能を設定する

■全体構成図
このような構成を組む事で、公開する必要があるインスタンスのみを公開セグメントに配置する事や(必要がないものは完全非公開のセグメントへ配置)、ACLによってネットワークレベルでのアクセス制限を実現出来るメリットがあります。

※以降の手順は以前のエントリーでVPCを作成した事が前提の手順となりますので、ご注意ください。

1.公開サブネットとNATアドレッシング


最初のポイントであるAmazon VPCでサブネットの作成はManagement Consoleから簡単に出来ます!
DBサーバが外部へ接続する為に必要となるNATアドレッシングインスタンス以下のようにAMIを検索してみてください。
作成したインスタンスを先ほど作成したVPCサブネット内で起動します。
次に起動したインスタンスを選択して、Change Source/Dest. CheckをDisableとします。
EIPの取得と割り当ても忘れずに行ってください。
改めてManagement ConsoleのVPC画面に戻り公開用サブネットに割り当てるインターネットゲートウェイを作成します。
公開用サブネットに割り当てるルートテーブルを作成します。
作成した公開用サブネットのデフォルトルート(0.0.0.0/0)に作成したインターネットゲートウェイを割り当てます。
メンテナンスは社内からVPN経由で行う場合は以下の設定を参考にしてください。
また、VPC作成時に設定したサブネットは非公開用としますので以下のように設定してください。
デフォルトルートのターゲットに先ほど起動したインスタンスを指定する事でNATして外部へアクセス出来ます。

2.WordPressインスタンスの準備


それでは実際にWordPressを構成するインスタンスを起動してみましょう。
Webインスタンスは公開用セグメント、DBインスタンスは非公開用セグメントを指定してVPC内で起動します。
Webインスタンスは外部からのアクセスを受け付けるのでEIPを付与する事を忘れないでください。
あとは通常のWordPressの構築と同様に以下の設定をインスタンスに行っていけばOKです。

  • DBインスタンス:MySQLのインストール、DB作成など
  • Webインスタンス:ApacheとPHP、WordPress

接続先のデータベースはは以下のようにDBインスタンスのローカルIPを指定してあげてください。
インストールが無事に完了すると、以下のようにブログへアクセス出来ます。

3.サブネット間のACL設定


VPC内のNetwork ACLsもManagement Consoleからoutboundとinboundの設定が簡単に出来ます。
Amazon VPCはVPN接続だけでなく、柔軟なネットワークが構築出来る素晴らしいサービスですね★
WordPressを例にあげましたが、これらの機能を使うことで色々なシステムをVPC内で運用する事が出来そうです!