アマゾンさんが入っているビルのエレベータがあのダンボール風って本当ですか?
わたし、気になります!
具体的には遊びに行かせて下さい!
このダンボールでお馴染みのアマゾンさん、利用したことがないという方はほとんどいらっしゃらないと思います。
このアマゾンさんがクラウドサービスもやっていることは御存知ですか?(御存知ない方が意外にいらっしゃいます)
「クラウドをやっていることは分かった。でも、サーバを立てたら公開されちゃうんだろ?」
いえいえ。アマゾンさんのクラウド(AWS)は、「私しか使えないクラウド」、プライベートなクラウドを作ることができるんです。
「データセンタを借りて、サーバを買って、プライベート・クラウドを作るぞ」と息巻く前に、下記の『続きを読む』をクリックして続きをお読み頂ければと思います。
5分程度で読めます。AWSでもプライベート・クラウドができるとお分かりいただけると思います。
パブリック(公開)とプライベート(非公開)の違い
パブリック
まず、パブリックでサーバを立ててみます。(図1)
図1(クリックすると大きく表示されます)
非固定のグローバルIPアドレスが付加されますので、このまま使うことができます。
ただし、これだと不特定多数からのアクセスを許すことになります。
もちろん、適切なセキュリティの設定でアクセスを制限することはできますが、例えば「このサーバはファイルサーバで社内からしか使わない」といったプライベート用途だとどうでしょう?
セキュリティをきっちりやったとしても「パブリックなところに置いていいのか?」と思ってしまいます。
(南京錠などでしっかりロックしたとしても自分しか使わない冷蔵庫を往来に置いておくのはイヤですよね)
また、社内とこのサーバとの通信も暗号化されないなど、まだ課題があります。
いろいろサーバや社内に仕込んで、安全性を維持できなくはないですが、面倒ですよね?
プライベート=VPC
この「面倒」を簡単に解決できるのが、Amazon VPC(Virtual Private Cloud)です。
企業が「クラウドやろう。ただし、社内システムなのでプライベート・クラウドにしよう」というアレです。
データセンタにラックを借りて、サーバを買ってきて、サーバにあれこれ設定して…で、構築するプライベート・クラウドと同じことが実現できます。
先ほどの社内用途のプライベートにしたいサーバをVPCに組み入れてみましょう。(図2)
図2(クリックすると大きく表示されます)
- 1. VPCを設置します
「ここに置くサーバはプライベート用途で使います」という『枠』を作ります。 - 2. サブネットを設置します
VPCは"枠"だけでIPアドレスなど接続するための情報は持っていません。
接続するためのIPアドレス帯を設定します。 - 3. 社内からVPCに接続するルータの設定する
VPCやVPC内のサーバに接続するため社内に設置したルータにVPN接続の設定をします。
はい。これでプライベート・クラウドができました。
VPC内のサーバには、VPN接続でしかアクセスできません。
このあたりの設定はAWSのサイトにて公開されています。
弊社にて導入支援のサービスを行なっています。よろしければご検討ください(宣伝)
プライベートでもインターネットがしたい
VPC内に設置したサーバにインターネットから接続したい。もしくは、VPC内に設置したサーバからインターネットに接続したい場合です。
上記、図2ではVPC内のサーバにはインターネットはアクセスできず、また、VPC内のサーバはインターネットに接続はできません。
以前のVPCは、VPC内のサーバからインターネットに直接接続する手段はありませんでした。
現在は「Internet Gateway」を設置・設定するだけでインターネット接続ができます。(図3)
図3(クリックすると大きく表示されます)
VPC内のサブネットでセキュリティグループとルーティングテーブルの設定ができますので、どうとでも制御ができます。
(上図ではややこしくなるので省略しています)
VPC内のサーバすべてをインターネットに繋ぎたくはない
インターネットゲートウェイを設置して、ルーティングテーブルの設定にも依りますが、VPC内のサーバをインターネットに接続可能にしたくない場合があります。
データベース・サーバなどが該当します。 そういう場合はどうするか? 簡単です。サブネットを複数VPC内に設ければ良いのです。(図4)
図4(クリックすると大きく表示されます) サブネットA内のサーバはインターネットに接続、インターネットから接続できますが、サブネットB内のサーバは接続はできないようにできます。
VPC内のサーバはインターネットに接続したいが、接続されないようにしたい
社内や家庭内のパソコンはインターネットにアクセスできますが、インターネットからアクセスはできません。
パソコンとインターネットの間にルータがあり、NATと呼ばれるアクセス変換をしています。 これと同じ事をしてやれば良いのです。(図5)
図5(クリックすると大きく表示されます)
NATをしてくれる専用インスタンスをゲートウェイがあるサブネット内に設置します。
このNATインスタンスが社内や家庭内にあるNATをしてくれるルータに相当します。
VPC内とVPC内でない違い
VPCを利用するメリット
サーバ(EC2インスタンス)自体は変わりませんが下記の点で違いがあります。
- ・VPC内は『閉じられる』
- ・セキュリティグループは、VPC内はOutBoundの制御ができる。VPCでないとInBoundの制御のみ
- ・VPC内のプライベートIPは固定できる
- ・VPC内にサブネットを設置できて管理できる
- ・VPC内のサーバはIPアドレスを複数割り当てられる
- ・VPC内でないサーバをVPC内へ、もしくはその逆へのサーバの移動はできません。
ただし、サーバインスタンスをいったんAMI(サーバのイメージ化)して、このAMIからVPC内にEC2インスタンスを生成すれば『移動』は可能です。異なるVPC間のサーバの移動もAMIにして移動できます。
まとめ
VPCを設置すること自体は別途料金はかかりません。(VPCにVPN接続すると料金がかかります)
つまり、「とりあえずサーバはVPC内に設置」としておくと、制御や設定が細かくできるメリットが得られます。
VPCにゲートウェイを設置、ゲートウェイとVPC内のサーバとの間をルーティング設定して、サーバはセキュリティグループでアクセス制御を行う構図は、従来のデータセンタのラックと回線を借りて、ラックにサーバを設置して環境を構築する方法と似ており、イメージしやすいのではないでしょうか。(図6)
図6(クリックすると大きく表示されます)
方法が似ているということは、現在ラックを借りているなどのオンプレミス環境からの移行がやりやすいということです。
VPCはこれからAWSを利用するには必須の知識になりそうです。
ネットワークの知識が多少必要ですが、クラウドですので簡単に試すことができます。
クラウドでは「間違えた」「失敗した」となれば、捨ててやり直すことが気軽にできるからです。
実際にいじってみれば、何となくでもお分かりいただけるかと思います。是非試してみて下さい。