AWS運用 ネットワーク構成(基本編)
AWSをご利用いただく際に、オンプレミスのネットワーク構成をそのまま、またサーバーを単純に仮想サーバーに移行すればいいとお考えではありませんか。
もちろんそのままの構成でも問題なくご利用いただくことは可能だと思いますし、1から設計しても結果的に変わらない構成になるかもしれません。
しかし、AWSにはオンプレミス環境にはなかった様々なサービスが存在します。単純にサーバーの移行ではなく既存のシステムをAWSのサービスに置き換えることで利便性の向上やメンテナンス費用の削減などに結びつく場合があります。
例えばオンプレミス環境の場合、使えると思って導入した機器が使えなかったら無駄な投資になることがあります。
それに対しAWS環境では様々なサービスを試してみて有効なら活用し、そうでなければサービスの停止や削除することで無駄なコストがかかりません。
そして、そんな様々なサービスを有効に活用するために重要なのが「ネットワーク構成」です。
目次
AWS運用でも重要な「ネットワーク」とは
今の世の中では当たり前ですが、ネットワークに繋がっていると、インターネットで検索できたり、ネットショッピングできたり、チケットが予約できたり、サーバーにファイルを保存したりできるのは、いずれもネットワークに繋がっているからこそできることです。
また、ご存知の通り、パソコンやサーバー以外にもみなさんが今お使いのスマートフォンや携帯電話もネットワークに繋がっています。
対極は「スタンドアロン」でしょうか。ネットワーク環境が普及するまでは、例えば異なるパソコン間のデータの受け渡しは、20〜30年前は「フロッピーディスク」、それよりも前は「カセットテープ」などの記録メディアを使っていました。
USBメモリーやSDカードなどのメディアの登場や、Bluetooth など近距離通信が使えるようになったのはインターネットが普及してからですよね。
・・・少々脱線したので戻します。
オンプレミス環境とAWS環境にもそれぞれネットワークが、またオンプレミスとAWSを繋ぐのもネットワークですし、インターネットに繋ぐのもネットワークです。
では、結局ネットワークってなんなの?ということで、以下のように大きく2つに分けて説明しようと思います。
- パブリック(グローバル)ネットワーク:インターネットなど
- プライベート(ローカル)ネットワーク:社内ネットワークなど
どちらも相互に繋がるため全く異なるものではありませんが、AWS環境を説明する上で分けて考えたほうが分かりやすいのでご理解ください(以降の表記はパブリック/プライベートで統一します)。
AWS運用でのネットワーク構成(オンプレミスとの違い)
私は以前、オンプレミス環境で社内ネットワークを設計・構築した経験があります。そして現在はAWS環境でお客様の要件にあわせたネットワークを設計・構築し、提供しています。
オンプレミスとAWSの両方を経験した事で、AWS環境をご利用いただく際に、特にオンプレミス環境しか経験のない方に理解していただいたほうが良いと思う「大きな違いがある」と気づきました。
オンプレミスの場合
オンプレミスのネットワークに繋がっているサーバーやパソコン、その他のデバイスはそのネットワーク内の通信に制限された「プライベートIPアドレス」しか持っていません。
そしてプライベートIPアドレスでは、通常はインターネットに繋ぐことができません。
ではなぜ今お使いのパソコンがインターネットに繋がるのかと言うと、プライベートネットワークとパブリックネットワークを繋げるルーターという装置が存在し、そのルーターが「パブリックIPアドレス」を持っているためです。
勘のいい方はお気付きだと思いますが、オンプレミスのローカルネットワークからインターネットにアクセスする場合の「パブリックIPアドレス」は、通常はそのネットワークに繋がっている他のパソコンやデバイスと同じIPアドレスです。
※ネットワーク設計により複数の「パブリックIPアドレス」を所有されているお客様の場合でも、通常はパブリックIPアドレスが変化することはありません
AWSクラウドの場合
では、AWSの場合はどうでしょうか。
オンプレミスと同様に特定の「パブリックIPアドレス」からのみインターネットアクセスするように構築することもできますが、個々のインスタンスに「パブリックIPアドレス」を持たせることが可能で、ここがオンプレミスとの最大の相違点になるかと思います。
おそらくオンプレミスの経験しかない方は不思議に思われることでしょう。
※ Amazon EC2 がリリースされた当時は VPC(Virtual Private Cloud = 仮想プライベートクラウド)の概念はありませんでしたが(Classic環境)、現在はもう新たに利用できないため割愛させていただきます。
ただし「パブリックIPアドレス」は必ずインスタンスに紐付けられるわけではなく、通常は「プライベートIPアドレス」があり、必要に応じて「パブリックIPアドレス」を設定する事になります。
また、単純に「パブリックIPアドレス」を設定すればインターネットにアクセスできるという訳ではなく、インターネット接続用のゲートウェイをルートテーブルに設定してやるなどの対応が必要です。
IPアドレス | オンプレミス | AWS |
パブリック IPアドレス | ネットワークに通常は1個 | 1インスタンスに0個以上 ※固定/可変は設定次第 |
プライベート IPアドレス | サーバー/PC1台に1個以上 | 1インスタンスに1個以上 ※プライマリIPは固定 |
このようにオンプレミス環境とAWS環境では、パブリックIPアドレスとプライベートIPアドレスの扱い方に大きな違いがあります。ここを理解することで、AWS運用に適したネットワークの設計と構築を実現することができます。
では次に、構成例を使ってもう少し詳しく見ていきましょう。
AWS運用 ネットワーク構成例
この図のように、AWS環境ではインスタンス(プライベートIPアドレス)にパブリックIPアドレスが紐付けられるようになります。
そしてVPC内のインスタンス間の通信は、プライベートIPアドレスを使います。
Amazon RDS(データベースサービスに特化したインスタンス)へのアクセスはエンドポイントを使用しますが、内部ではプライベートIPアドレスを持っています。パブリックアクセスを有効にすると、やはりこの図のようにパブリックIPアドレスが付加されます。
※ちなみにこれは余談ですが、RDSのエンドポイントを名前解決すると、VPC内部ではプラーベートIPアドレスを、VPC外部ではパブリックIPアドレスを返します。但し、これは仕様を説明しているだけなので、RDSをご利用の際は必ずエンドポイントでアクセスしてくださいね。
AWS運用 ネットワーク構成(まとめ)
これまでの説明で、Amazon EC2 や Amazon RDS といったインスタンスだけでもAWSのネットワークはかなり自由度の高い構成や設計が可能であることが、少しはご理解いただけたのではないかと思います。
ただ、実際のネットワーク設計では注意してください。自由度が高いことはメリットではありますが、一歩間違えるとセキュリティレベルを下げてしまったり、拡張できないなどの問題が発生し、結果的に再構築が必要になる可能性があります。
また、とりあえずスモールスタートで始めて後から拡張する場合は、特に最初のVPC設計がとても重要です。
拡張を見込んだ構成で設計しておかないと変更を余儀なくされたり、最悪の場合は一度作成したインスタンスなどを削除しないと対応できないこともあります。
そのような事態をさけるためにも、AWS導入の際には運用のプロフェッショナルである弊社までぜひ一度ご相談ください。
経験豊富なエンジニアが、お客様のご要望に沿ったAWSならではの設計をご提案させていただきます。
元記事発行日: 2020年12月17日、最終更新日: 2023年04月03日