AWSからインターネットへのアウトバウンド通信の構成方法
はじめに
昨今のシステムにおいて、そのシステム単体で機能が完結する事は少なく、他のシステムと連携し動作する事が多くなってきました。
また、連携先も社内ネットワークに閉じた自社システムだけではなく、インターネット上に存在するシステムと連携するケースも多々あります。
第三者がインターネットを経由し提供しているAPIを、アマゾン ウェブ サービス(AWS)環境に存在するAmazon EC2から実行する、いわゆるAPI連携がそれにあたります。
本記事では、そのAWS環境からHTTPを利用しインターネットへ通信する方法について整理しました。以降、当通信をアウトバウンド通信と記載して解説していきます。
アウトバウンド通信の必要性
AWS環境からのアウトバウンド通信は以下ケースにおいて必要となる場合があります。
なお、VPC内からAmazon S3等のVPC外にあるAWSサービスにアクセスする場合、VPC内にインターフェースVPCエンドポイントを構成する事で、インターネットへアクセスする経路を確保する事なく、アクセス可能です。
- 外部システムのAPIをインターネット経由で実行する
- ウィルス定義ファイルをインターネットから取得する
- サーバに導入するソフトウェアをインターネットから取得する
- サーバのアップデートモジュールをインターネットから取得する
- システム環境内に構成されたクライアントPCからAWSマネジメントコンソールに接続する
アウトバウンド通信経路設計時の検討事項
アウトバウンドの通信経路を設計するにあたり、検討すべき事項を整理します。
インターネットという自システムが与り知らない箇所への接続となり、脅威を見極めたうえで、慎重に検討する必要があります。
①インターネットアクセスログの取得
セキュリティインシデントや障害発生時等の調査に必要となる、「誰が何時、何処にアクセスしたか」、いわゆるアクセスログを記録し保管する必要があります。
ログの記録レベルや保管期間、またHTTPSの暗号化通信においてもアクセス先URLを複合化し記録する必要があるなど、ログ取得要件の検討が必要になります。
②インターネット接続の制御
許可されたユーザ、あるいは許可された端末のみをインターネットに接続可能とする等、インターネットの利用制限の検討が必要になります。
③アクセス先の制限
特定のURLのみアクセス許可するのか、不特定多数のURLを許可するのか、あるいは特定カテゴリのみアクセス許可するのか、アクセス先制限の検討が必要になります。
④マルウェア対策
アクセス元にコンテンツがダウンロードされる前にマルウェアチェックが必要なのか、ダウンロードされた後にアクセス元のマルウェア対策製品で検知できれば良いのか等、マルウェアのチェック箇所の検討が必要になります。
アウトバウンド通信の構成パターン
パターン1.オンプレに構成されたプロキシサーバを利用
オンプレ基盤に既に存在するプロキシサーバをAmazon EC2等から利用するパターンです。
オンプレにシステム基盤を保持していて、AWS Direct ConnectやAWS Transit Gateway等でオンプレとAWSを接続し、AWSに社内ネットワークを延伸する形で、システムを構築するケースが多いかと思います。その場合、前項で記載した、「アウトバウンド通信経路設計時の検討事項」が反映された環境を利用でき、最も簡単に構成可能です。
パターン2.NAT Gatewayを利用
Public SubnetにNAT Gatewayを構成し、Amazon EC2等からインターネットにアクセスするパターンです。
このパターンでは、前項の①~④が実現できませんが、簡単に構成可能なパターンとなります。
ただし、NAT Gatewayは、一つのENIに対し、一つの宛先(同じIP、ポート)に同時接続できる数が約900/秒という制限があります。
最大8つまでENIを設定できるため、最大でも約7,200/秒までの同時接続可能となり、これを超える場合は接続エラーとなる可能性があり、アクセス量の考慮が必要です。
パターン3.AWS環境のプロキシサーバを利用
Public Subnetにプロキシサーバを構成し、Amazon EC2等からインターネットにアクセスするパターンです。
このパターンでは、前項の①~④が実現できますが、プロキシサーバのランニングコストの考慮が必要となります。
前述のNAT Gatewayは時間単位料金とデータ処理料金に応じてコストが発生しますので、データ通信量が多量に発生する場合は、こちらの方法を採用した方が、コストメリットがある可能性もあります。
パターン4.NAT Gateway + AWS Network Firewallを利用
Public SubnetにNAT GatewayとAWS Network Firewallを構成し、Amazon EC2等からインターネットにアクセスするパターンです。
Network Firewall機能にて前項の①~③が実現可能です。
AWS Network Firewallにはマルウェア対策の機能がありませんので、別途考慮が必要となります。
まとめ
以下が各アウトバウンド通信の構成パターンを整理した構成図になります。
アウトバウンドの通信経路の構成方法は様々ありますが、これが正解といった正しい構成方法はなく、可用性要件、負荷要件、セキュリティ要件を加味して総合的に判断し設計、構成する事が必要になります。
TISでは、AWSの導入に向けた計画・検証から導入時の構築/移行作業、導入後の運用/ガバナンス、クラウド最適化までお客様の各フェーズに合わせたサービスを提供しています。
お客様のビジネスの成功につながる、最適なクラウド活用をご提案いたしますので是非一度ご相談ください。
著:TIS株式会社
IT基盤技術本部 IT基盤技術事業部
IT基盤エンジニアリング第4部
エキスパート 山田 耕