クラウド時代の基盤技術AWSと従来のITインフラの比較
目次[非表示]
こちらの記事はDIVXアドベントカレンダー2023の21日目の記事です。
まえがき
こんにちは、DIVXエンジニアの田中です。
今回このテーマを選んだのは「従来のITインフラの知識は死ぬまで、もっと言うと灰になるまで使える知識です」というCTOの言葉があったからです。AWSの知識と従来のITインフラの技術を結びつけるような内容にしました。
はじめに
クラウドコンピューティングの普及とその重要性
そもそも「クラウドコンピューティング」とは?
様々なサービス(ex:サーバ、ストレージ、ネットワーク、データベース、ソフトウェアなど)をインターネット(クラウド)経由で提供する利用形態のことを指します。
1995年頃からのインターネット普及の他に、「ウェブスケール」という、インターネットで扱うデータが膨大かつ継続的に増加する現象に対応するために生まれた概念のことです。[引用]
・システムが扱うデータ量がウェブスケールである時の問題点
⚪︎扱うデータ量の継続的増大に伴い、システムを拡大する必要が頻繁に生じること
⚪︎膨大なデータを計算する処理能力がシステムに必要となること
「クラウド」の概念は1997年に南カリフォルニア大学のラムナト・チェラッパ(Ramnath Chellappa)により提唱されましたが、実際には2006年に当時のGoogle CEOエリック・シュミット(Eric Emerson Schmidt)の発言により注目を浴びるようになったと言われています。
AWSホワイトペーパーによるとクラウドコンピューティングには主に 6 つの利点があります。
クラウドコンピューティングはその柔軟性、コスト効率、および革新的な潜在力により普及し、現代ビジネスの効率化、コスト削減、ビジネスの拡張と革新、災害復旧、セキュリティの向上に大きく貢献しており、現代のビジネスにおいて欠かせない技術となっています。
AWSはどのように従来の IT インフラの原則を踏襲しているのか
そもそもIT インフラとは?
ITインフラとは、ITインフラストラクチャーの略で、IT分野におけるインフラストラクチャーのことです。インフラストラクチャーとは「下支えするもの」「下部構造」を意味し、日常生活では、電気・ガスのような産業基盤や、道路・鉄道・病院などのことを指します。
ITインフラは、情報システムを支える基盤となる設備や施設のことで、例えばパソコンやサーバ、ハードウェアだけでなくOSやデータベース、LANなどのネットワークを含む情報技術基盤を指します。
従来のITインフラは、下記のような複数の重要な原則に基づいて設計されています。
- 可用性(Availability): システムが信頼性を持ってアクセス可能であることを保証する。
- 安全性(Security): データやシステムを不正アクセスや攻撃から保護する。
- 堅牢性(Robustness): システムが障害に対して強い耐性を持ち、容易に壊れないこと。
- 拡張性(Scalability): 成長や需要の変化に応じて、容易に拡張できること。
- 耐久性(Durability): データが失われることなく保存されること。
- パフォーマンス(Performance): 効率的で高速な処理能力。
- コスト効率(Cost-Efficiency): 経済的に効率的な運用が可能であること。
- 柔軟性(Flexibility): 新しい技術や変化するビジネスニーズに適応できること。
- ポータビリティ(Portability): 異なる環境間での互換性。
- 標準化(Standardization): 業界標準や規格に準拠していること。
- 管理性(Manageability): 効率的な運用、保守、監視が可能であること。
- 互換性(Compatibility): 他のシステムやアプリケーションとの互換性。
これらの原則は、信頼性の高いシステムを構築するための基礎となっています。
AWSはこれらの原則を基盤としながらも、クラウドコンピューティングの柔軟性、スケーラビリティ、コスト効率といった利点を組み合わせて、従来のITインフラストラクチャーの概念を再定義しています。
セクション1〜3では、この進化したITインフラの概念としてのAWSと、従来の物理的なITインフラストラクチャーとの主要な違いに焦点を当てていきます。
セクション1: 従来のITインフラ構造とAWSの比較
従来のITインフラは、物理サーバ、ストレージ、ネットワークの三つの主要な要素から成り立っています。これらの要素は、企業や組織が情報技術を利用する上での基盤となり、企業が自ら管理し、所有する必要があります。
一方、AWS(Amazon Web Services)は、クラウドコンピューティングプラットフォームを提供しており、従来の物理的なITインフラとは異なる構造を持っています。AWSの主要なサービスには、EC2、S3、VPCなどがあります。
それでは、両者を比較していきます。
サーバの概念
サーバとは、ネットワークを通じてデータやサービスを提供するコンピューターシステムです。データの処理、ストレージ、アプリケーションの実行などを行い、クライアント(ユーザーのデバイスなど)のリクエストに応じて情報を提供します。
・サーバの種類
サーバには大きく分けて物理サーバと仮想サーバの2つの種類があります。
⚪︎物理サーバ:
コンピュータのハードウェアの一部で、データの処理やストレージ、アプリケーションの実行などを行います。物理的な機器としてオフィスやデータセンターに設置され、特定のタスクやサービスを提供するために専用化されることが多いです。
⚪︎仮想サーバ:
仮想サーバは、物理サーバ上で仮想化技術を使用して作成されるサーバです。物理サーバのリソースを分割して複数の仮想サーバを実行できます。この仮想化には、主にホストOS型とハイパーバイザー型の2つの方式が存在し、それぞれ適切な用途に応じて使い分けられます。
・仮想化の方式
⚪︎ホストOS型仮想化: 既存のオペレーティングシステム上で動作する仮想化ソフトウェアを使用して、仮想マシンを実行します。ホストOSのリソースを共有して利用するため、オーバーヘッドが大きくなることがあります。
⚪︎ハイパーバイザー型仮想化: ホストマシンのハードウェア上に直接インストールされる専用のソフトウェア(ハイパーバイザー)を使用します。ハイパーバイザーは物理ハードウェアのリソースをゲストOSに分配し、各ゲストOSが隔離された環境で動作できるようにします。これにより、一つのホストマシン上で複数の異なるOSを同時に実行することが可能になります。ハイパーバイザーは物理リソースを直接管理し、高い効率と性能を提供します。(AWS EC2はこちらを採用しています。AWSのデータセンター内の物理サーバ上でハイパーバイザーが動作し、ユーザーはこの環境上で仮想マシンのインスタンスを起動し、使用することができます。)
⚪︎(今回の文脈とは少しずれるので余談)コンテナ型仮想化:コンテナと呼ばれる軽量な実行環境を使用してアプリケーションを実行します。コンテナは、ホストOSのカーネルを共有しながら、アプリケーションとその依存関係をパッケージ化します。これにより、異なる環境間でのアプリケーションの移植性と一貫性が向上します。(Docker、Kubernetesなど)ゲストOSを起動する必要がないため低リソースで仮想化環境を構築することができますが、ホストOSとは別のOSの仮想環境を構築することができないという制約もあります。
従来のITインフラとAWSにおけるサーバの比較
特徴 |
従来のITインフラ(物理サーバ) |
AWS(仮想サーバ:EC2・AWS Fargate・AWS Lambda) |
存在形態 |
物理的なハードウェアとして存在 |
クラウド上で仮想化されたサーバ |
管理 |
自社でハードウェアの購入、設置、メンテナンスが必要 |
AWSがハードウェアの管理を担い、ユーザーは仮想サーバーの設定に集中 |
スケーラビリティ |
物理的な制約によりスケールアップに限界がある |
必要に応じてリソースを迅速にスケールアップ/ダウン可能 |
コスト |
初期投資と維持管理にコストがかかる |
使用したリソースに応じた従量課金制 |
柔性 |
物理的な制約により柔軟性に欠ける |
高い柔軟性を提供し、様々なニーズに対応可能 |
パフォーマンス |
専用ハードウェアにより高性能を提供 |
インスタンスタイプにより異なるが、一般的に高いパフォーマンスを提供 |
ストレージの概念
ストレージは、デジタルデータを保存するためのデバイスやメディアの総称です。データを安全に保存し、必要に応じてアクセスや管理を行うための基本的なITリソースです。
ストレージの3つのサブカテゴリー
1. ファイルストレージ: データをファイルとして保存し、ファイルシステムの階層構造内で管理します。ユーザーはファイル名やパスを通じてデータにアクセスできます。
2. ブロックストレージ: データを固定サイズのブロックに分割して保存します。各ブロックは独立しており、高速な読み書きが可能です。データベースやトランザクション重視のアプリケーションに適しています。
3. オブジェクトストレージ: データをオブジェクトとして保存します。各オブジェクトにはデータ本体の他にメタデータやユニークなIDが含まれ、大量の非構造化データの管理に適しています。
従来のITインフラとAWSにおけるストレージの比較
ストレージタイプ |
従来のITインフラ |
AWSにおけるリソース |
ファイルストレージ |
ネットワーク接続ストレージ(NAS)デバイスで使用。ファイルとフォルダの階層構造でデータ管理。ネットワーク経由でアクセス。 |
Amazon EFS(Elastic File System):NASの機能をクラウド上で提供。複数のEC2インスタンスからの同時アクセスに対応。 |
ブロックストレージ |
サーバに直接接続されるストレージ(SAN)。データベースやアプリケーション実行に適している。データは固定サイズのブロックで管理。 |
Amazon EBS(Elastic Block Store):EC2インスタンスに接続するための高性能ブロックストレージ。パフォーマンスや耐久性に優れる。 |
オブジェクトストレージ |
大規模なデータセンターで使用。データはオブジェクトとして保存。各オブジェクトにユニークなIDを割り当てる。 |
Amazon S3(Simple Storage Service):大量の非構造化データを効率的に保存・管理。高い耐久性とスケーラビリティを提供。 |
ネットワークの概念
ネットワークは、異なるコンピューターやデバイスが互いに通信するためのシステムです。これには有線(イーサネットケーブルなど)や無線(Wi-Fiなど)の方法があります。ネットワークを通じて、データの転送、通信、インターネットへのアクセスなどが可能になります。
・従来のITインフラにおけるネットワーク
従来のITインフラにおけるネットワークは、物理的なハードウェア(スイッチ、ルーター、ケーブルなど)に基づいて構築されます。これらのネットワークは、オフィスビルやデータセンター内でコンピューターやデバイスを接続し、内部通信やインターネットへのアクセスを提供します。実際にネットワークを構築しようとすると、どこのデータセンター?何のラック?どのメーカーのネットワーク機器?…などなど、かなり大変です。
・AWSにおけるネットワーク
AWSでは、ネットワークは主にVPC(Virtual Private Cloud)を通じて構築されます。
従来の物理的なITインフラで必要な機能を抽象化し、サービスとして予め用意されています。(=Networking Function Virtualizationと呼びます)
VPCは、AWSクラウド内にプライベートなネットワーク環境を仮想的に作成し、EC2インスタンスなどのAWSリソースを管理するためのサービスです。ユーザーは、セキュリティや接続設定をカスタマイズし、クラウドリソースへのアクセスを制御できます。
特徴 |
従来のITインフラ |
AWS |
ネットワークの構築 |
物理的なハードウェアによる |
Amazon VPCを使用した仮想ネットワーク |
管理 |
自社でネットワークの設計、設定、メンテナンスが必要 |
AWSがインフラの管理を担い、ユーザーは設定に集中 |
柔軟性 |
物理的な制約により柔軟性に欠ける |
VPCでは様々なコンポーネント※を用意しているため、高い柔軟性を持ち、需要にあったカスタマイズが可能 |
※コンポーネントの一部
セクション2: ネットワーキングの深掘り
ネットワーキングは、コンピューターシステムやデバイスが相互に通信を行うための一連のプロセスとプロトコルです。これはデータの送受信、帯域幅の管理、データのセキュリティ、パフォーマンスの最適化など、デジタル環境での情報共有の基盤となります。今回は、このネットワーキングの基本的な概念とそれがどのようにAWS の各サービス内で適用されるのかを、特に重要な要素に焦点を当てて比較していきます。
OSI参照モデル
ネットワークプロトコルのフレームワークであり、データ通信を7つのレイヤーに分け、それぞれのレイヤーが特定の機能を果たすことを説明しています。
OSI参照モデルの各層と、それに対応するAWSのサービスや機能を表にまとめます。
(注意:AWSのサービスはOSIモデルの特定の層に完全に一致したサービスを提供しているわけではなく、その機能は複数の層にまたがる場合があったり、概念的には似ているが厳密には異なる側面もあります)
OSI参照モデル |
OSIモデルの役割 |
AWSにおける当てはまりそうな機能 |
7. アプリケーション層 |
エンドユーザーのアプリケーションがネットワークサービスにアクセスするためのインターフェースを提供。(例:ウェブブラウザ、電子メールクライアント) |
Amazon S3, Amazon RDS, Amazon DynamoDB:アプリケーションに直接組み込まれるデータストレージやデータベース管理機能を提供。 |
6. プレゼンテーション層 |
データの変換、暗号化、圧縮。(例:文字コードASCII→Unicode、データ形式XML→JSON形式への変換など) |
AWS Certificate Manager (SSL/TLS):SSL/TLS証明書の管理を簡素化し、安全なHTTPS接続を提供。 |
5. セッション層 |
セッションの確立、管理、終了。これにより、長期間にわたる通信や複雑なトランザクションが可能になる |
ELB(Elastic Load Balancin)の一部:ELBの中の「Application Load Balancer」がセッションに対する永続性(Stickiness)をサポートしている。特定のクライアントクライアントのリクエストを一貫して同じバックエンドインスタンスにルーティングします。ただし、これはアプリケーションがHTTP/HTTPSである場合に限り、また完全にOSIモデルのセッション層の定義を満たすわけではありません。 |
4. トランスポート層 |
異なるネットワークデバイス間でデータを確実かつ効率的に伝送する役割を担う。この層は、データの分割、再組み立て、エラー検出、および回復を管理し、信頼性の高いデータ通信を保証する。(例:TCP \UDPプロトコル) |
Amazon VPC (NACLs, Security Groups):トランスポート層でのデータ伝送を制御し、セキュリティを強化。特定のトラフィックの許可や拒否を定義し、VPC内のリソースへのアクセスを適切に管理。 |
3. ネットワーク層 |
異なるネットワーク間でデータパケットを転送し、最適な経路を決定する役割を担う。IPアドレッシングとルーティングを通じて、データが目的地に効率的かつ正確に到達することを保証する。 |
Amazon VPC (ルーティング、サブネット):ルーティングテーブルとサブネットを使用して、AWSクラウド内でのデータの転送経路を管理。これにより、VPC内のリソース間および外部ネットワークとの間で安全かつ効率的なデータ通信が可能になる。 |
2. データリンク層 |
同じネットワーク内のデバイス間でのデータ転送を担当し、フレームの形成、物理アドレス(MACアドレス)を用いたアドレッシング、エラー検出、およびフレームの順序付けを行う。データが物理層を通じて正確に伝送されることを保証する。 |
Amazon VPC (サブネット、ネットワークインターフェース):サブネットはネットワークの区分けを行い、ネットワークインターフェースはEC2インスタンスなどのリソースに物理的なネットワーク接続を提供。これにより、VPC内のリソース間でのデータ転送が効率的かつ安全に行われる。 |
1. 物理層 |
ネットワークデバイス間での生のビットストリーム(デジタルデータ(ビット形式)を電気信号、光信号、無線信号などの物理的な信号に変換したもの)を、ケーブル、ファイバー、無線などの物理的な媒体を通じてデータを転送する。 |
AWS Direct Connect:物理的な専用回線(例えば、光ファイバーケーブル)を使用して、オンプレミスのデータセンターとAWSクラウド間の物理的な接続を確立する。インターネットを経由せずに、高速で安定したデータ転送が可能になり、物理層での接続の信頼性と一貫性が向上する。(データリンク層の一部の機能も利用している) |
従来のネットワーク機能とAWSサービスの対応関係
次に、特定の従来のネットワーク機能が、具体的にどのような形でAWSのサービスとリンクしているのかを比較していきます。
従来のネットワーク機能 |
機能の説明 |
AWSでの機能名称 |
LAN (Local Area Network) |
LANは物理的なプライベートネットワークです。VPCはクラウド上の仮想プライベートネットワークで、物理的な制約がありません。 |
Amazon VPC (Virtual Private Cloud) |
WAN (Wide Area Network) |
WANは遠隔地のLANを接続するネットワークです。AWS VPNはAWSとオンプレミスネットワークを安全に接続します。 |
AWS VPN (Virtual Private Network) |
パブリックサブネット |
従来のネットワークにおけるパブリックサブネットは、インターネットに直接アクセス可能なネットワークセグメントです。AWSのパブリックサブネットも同様に、インターネットゲートウェイを介してインターネットにアクセスできます。 |
パブリックサブネット |
プライベートサブネット |
従来のネットワークにおけるプライベートサブネットは、インターネットから直接アクセスできない内部ネットワークセグメントです。AWSのプライベートサブネットもインターネットから隔離されており、NATゲートウェイを介して外部と通信します。 |
プライベートサブネット |
インターネットゲートウェイ |
インターネットゲートウェイは、ローカルネットワークとインターネットの接続点です。AWSのインターネットゲートウェイは、VPCとインターネットの間の接続を提供します。 |
インターネットゲートウェイ |
プライベートIPアドレス |
プライベートIPアドレスは、内部ネットワーク内でのみ有効です。AWSでは、VPC内のリソースがプライベートIPアドレスを持ちます。 |
プライベートIPアドレス |
グローバルIPアドレス |
グローバルIPアドレスは、インターネット上で一意のIPアドレスです。AWSのElastic IPは、AWSリソースに割り当てることができる静的なパブリックIPアドレスです。 |
Elastic IP |
NAT (Network Address Translation) |
NATは、プライベートIPアドレスをパブリックIPアドレスに変換します。AWSでは、NATゲートウェイやNATインスタンスがこの役割を果たします。 |
NATゲートウェイ(NATとNAPTの役割の両方を果たす) |
NAPT (Network Address Port Translation) |
NAPTは複数のネットワークデバイスが一つの公開IPアドレスを共有するための技術で、IPアドレスとポート番号を変換します。AWSのNATゲートウェイは、プライベートサブネットからのアウトバウンドトラフィックのIPアドレスとポート番号を変換します。 |
NATゲートウェイ(NATとNAPTの役割の両方を果たす) |
DNS (Domain Name System) |
DNSはドメイン名をIPアドレスに変換します。Amazon Route 53は、DNSサービスを提供し、ドメイン名の管理とルーティングを行います。 |
Amazon Route 53 |
デフォルトゲートウェイ |
デフォルトゲートウェイは、ローカルネットワークから外部へのアクセスポイントです。AWSのルートテーブルは、VPC内のトラフィックのルーティングを管理します。 |
ルートテーブル |
DHCP (Dynamic Host Configuration Protocol) |
DHCPは、ネットワークデバイスにIPアドレスを動的に割り当てます。AWSでは、DHCPオプションセットを使用して、VPC内のリソースにIPアドレスを割り当てます。 |
DHCPオプションセット |
アーキテクチャダイアグラムにしてみるとこんな感じ
セクション3: セキュリティの原則とAWS
セキュリティはクラウドコンピューティングにおいて最も重要な側面の一つです。このセクションでは、セキュリティを強化するために不可欠な要素に焦点を当てます。以下の3つの主要なテーマを従来のセキュリティの原則とそれをどのようにAWSが叶えているかを比較していきます。
認証・アクセス制御とAWS IAMの対応関係
認証と認可は、システムリソースへの安全なアクセスを保証するための基本的なセキュリティ概念です。一方、アクセス制御はラベル式とロールベースの二つの方式で設定可能です。ここでは、これらの概念とAWSのIdentity and Access Management (IAM) がどのように関連するかを詳述します。
・認証と認可
認証は、ユーザーまたはデバイスが本人(本物)であることを確認するプロセスです。これには知識認証(ID・PW)、生体認証(指紋、顔、DNA)、所持認証(ワンタイムパスワード)、二要素認証や二段階認証が含まれます。一方、認可は、認証されたユーザーやデバイスに対して、特定のリソースやサービスへのアクセス権を与えるプロセスです。
・ラベル式とロールベースのアクセス制御
ラベル式アクセス制御(ABAC)とロールベースアクセス制御(RBAC)が主な方法です。
ラベル式アクセス制御はユーザーやリソースの属性にラベルをつけてアクセス権を制御します。
対して、ロールベースアクセス制御は各ユーザーにロールを割り当ててアクセス権を制御します。
・IAMとの関連
AWSリソース(EC2,S3,DynamoDBなど)へのアクセスをセキュアにコントロールするサービスのことを指します。IAMを使用して、特定のAWSユーザーがどのAWSリソースを扱い、そのアクションが許可されるかを制御することができます。
IAMは認証と認可、同時にラベル式アクセス制御(ABAC)とロールベースアクセス制御(RBAC)を統合して提供し、ユーザーがAWSリソースに対するアクセスを詳細に管理できるようにします。
セキュリティの概念 |
機能 |
AWS IAMでの対応 |
認証 (Authentication) |
ユーザーやデバイスの身元を確認し、正当なアクセスを許可する。 |
ユーザー名とパスワード、アクセスキー、多要素認証(MFA)などを通じて、AWSリソースへのアクセス時にユーザーの身元を確認する。 |
認可 (Authorization) |
認証されたユーザーやデバイスに対して、特定のリソースやサービスへのアクセス権を与える。 |
IAMポリシーを通じて、どのユーザーがどのリソースにアクセスできるかを定義し、どんな行動を許可するか制御する。 |
ラベル式アクセス制御 (ABAC) |
ユーザーやリソースの属性に基づいてアクセス権を管理し、細かな制御を可能にする。 |
IAMでの属性(部門、役職、所在地など)ベースのアクセス制御 で、リソースやリクエストのコンテキスト属性に基づく権限を付与する。 |
ロールベースアクセス制御 (RBAC) |
ロール(役割)に基づいてアクセス権を管理し、権限の分離とセキュリティ強化を図る。 |
IAMのロールを使用して各ユーザーに必要な権限を付与することでアクセスを制御する。 |
従来のファイアウォールとセキュリティグループの進化
クラウドコンピューティング環境では、従来のファイアーウォール技術が進化を遂げ、AWSのセキュリティグループやWAF(Web Application Firewall)といった形で応用されています。それぞれの機能とAWSでの利用方法について掘り下げます。
・従来のファイアウォールとAWSセキュリティグループの比較
従来のファイアウォールはネットワークの保護に必要なプロトコル、ポート、IPアドレスなどを設定してトラフィックを制御します。典型的には、ネットワークのエッジで外部環境と内部ネットワークとの間に設定されます。
一方、AWSのセキュリティグループは仮想的なファイアウォールで、EC2インスタンスといったAWSリソースのインバウンドとアウトバウンドトラフィックを制御します。セキュリティグループのルールが適切に設定されることで、不必要なトラフィックをブロックし、必要なトラフィックのみを許可にすることができます。
これらの違いから、従来のファイアウォールは「フィジカルなネットワークの保護」に、セキュリティグループは「仮想環境で利用するリソース保護」にそれぞれ最適化されていますが、OSIモデルの第3層(ネットワーク層)を保護している点において役割が共通しています。
・従来のWAFとAWS WAFの比較
従来のWAF(Web Application Firewall)は、ウェブアプリケーションのセキュリティを担保するために、不正なHTTPリクエスト等を検出・遮断します。HTTPリクエストの中身(パラメータ等)まで精査できるため、SQLインジェクションやクロスサイトスクリプティングなどのアプリケーションロジックに対する攻撃をブロックできます。
その一方で、AWS WAFはAWSのクラウド環境に特化したWAFサービスで、ALB(Application Load Balancer)やAmazon CloudFrontなどのAWSサービスと統合して、ウェブアプリケーションを不正アクセスから保護します。ルールの設定や管理はコンソールやAPIを介して可能ですし、リアルタイムのメトリクスをCloudWatchで確認することもできます。
従来のWAFは、「物理的なウェブサーバやオンプレミス環境のウェブアプリケーション保護」に最適化されています。一方、AWS WAFは「クラウド環境におけるウェブアプリケーションの保護」に特化しています。しかし、これらは共にOSIモデルの第7層(アプリケーション層)を保護している点において役割が共通しています。
・AWSでの利用
以上のように、従来のファイアウォール・WAFとAWSの各サービス(セキュリティグループ・WAF)は、それぞれ不正アクセスからシステムを保護するための手段として存在しますが、その用途や操作性には違いがあります。AWSでは、セキュリティグループ、WAFが補完的に使用されます。セキュリティグループはEC2インスタンスなどの個別リソースに対して細かなトラフィック制御を提供し、AWS WAFはウェブアプリケーションのセキュリティを強化します。
従来のファイアウォール |
AWSセキュリティグループ |
従来のWAF |
AWS WAF |
|
適用環境 |
物理ネットワーク |
仮想環境(AWSリソース) |
物理のWebサーバやオンプレミス環境 |
AWSクラウド環境 |
主に保護するOSIモデル層 |
第3層(ネットワーク層) |
第3層(ネットワーク層) |
第7層(アプリケーション層) |
第7層(アプリケーション層) |
機能 |
トラフィックの制御、不正な通信の遮断 |
EC2インスタンスなどのAWSリソースのトラフィック制御 |
SQLインジェクションやXSSなどを検出・遮断 |
AWSサービスと統合してウェブアプリケーションの保護、不正なHTTPリクエストの検出・遮断 |
従来の暗号化技術とAWS KMS(Key Management Service)の比較
クラウドコンピューティングが普及するにつれて、暗号化技術も進化を遂げ、AWS KMS(Key Management Service)などの形で応用されています。暗号化技術の基本フォーマットは、共通鍵暗号と公開鍵暗号が中心で、これらはデータの保護方法における重要な要素です。
・従来の暗号化技術
従来の暗号化技術は、データを一定のルールに基づいて変換し、そのデータが他の誰かに読まれてしまうことを防ぐ、主な技術です。これは、多くの場合、オンプレミス環境で実行され、鍵の保管や管理はユーザーの責任となります。
暗号化には様々な手法が存在します。その一つに「共通鍵暗号」があります。これは、暗号化と復号化に同じ暗号鍵を使用する方法で、データ転送の際に第三者によるデータの覗き見を防ぐことができます。また、「公開鍵暗号」は暗号化と復号化に異なる鍵(公開鍵と秘密鍵)を用いる技術で、鍵の共有を必要としないため、鍵の管理が容易になります。
・AWS KMS(Key Management Service)
AWS KMSは、クラウド環境における鍵の管理をはじめ、生成、配布、利用、ローテーション、破棄等の一連のタスクを管理するサービスです。このサービスは従来の暗号化技術をベースにしており、共通鍵暗号や公開鍵暗号の両方に対応しています。
AWS KMSでは、暗号鍵の一元管理を実現し、AWS IAMと連携して鍵の使用権限を細かく制御できること、そしてAWS CloudTrailとの連携による監査記録の提供など、鍵のライフサイクル全体を管理するための様々な機能を提供しています。
また、AWS KMSは、AWSの各種サービス(EC2インスタンス、S3バケット等)と連携して、それらのサービスが生成するデータの暗号化を容易に行うことができます。これにより、クラウド上のセキュリティと拡張性が向上します。
従来の暗号化技術 |
AWS KMS |
|
鍵の種類 |
共通鍵・公開鍵 |
共通鍵・公開鍵 |
鍵管理 |
個別・ユーザー責任 |
一元管理による自動化 |
鍵の生成 |
手動 |
自動生成・手動生成の両方対応 |
鍵の利用権限 |
OSやソフトウェアに依存 |
AWS IAMと連携による細かな権限管理 |
監査記録 |
監査ツールに依存 |
AWS CloudTrail利用による監査記録と透明性 |
実行環境 |
オンプレミス |
クラウド |
拡張性 |
限定的 |
AWSサービスとの連携による高い拡張性 |
参考
・https://qwikskills.com/blog/cloud-computing-vs-traditional-it-infrastructure/
・https://www.ntt.com/business/sdpf/knowledge/archive_24.html#:~:text=2-1. オブジェクトストレージとファイルストレージの違い&text=オブジェクトにはデータそのもの,データを区別します。
・https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/security-group-rules.html
最後に
最後までお読みいただき、ありがとうございました。
技術が進化しても、基本的な原則や概念はインターネットが登場した初期から変わっていないということを実感しました。
AWSと従来のITインフラの知識が繋がって、自分の知識が広がっていく感覚があれば幸いです。
DIVXでは共に働ける仲間を募集しています。
興味をお持ちの方は、ぜひ採用ページをご覧ください。