AWSアーキテクチャ設計の基礎を学ぼう!

eyecatch-aws-basic-architecture
目次

AWSとは?

概要

AWSは2006年からサービス提供が開始され現在200以上のサービスが展開されているパブリッククラウドです。三大パブリッククラウドとしてAWS、Azure、GCPがありますが、AWSはシェアがNo1となっており、パブリッククラウドいます。

AWSはさまざまなインフラストラクチャサービス(コンピューティングパワー、ストレージ、データベース、ネットワーキング)やプラットフォームサービス(機械学習、分析、IoT、セキュリティ)を提供し、企業や開発者がスケーラブルで柔軟なITソリューションを構築できるようにします。具体的なサービス群は下図のようになります。

AWS, AWS の クラウドが選ばれる 10 の理由

導入メリット

パブリッククラウドの導入メリットを考える際にオンプレミスとよく比較されます。新しくインフラを導入するのであればパブリッククラウドを、自社で厳密に運用すべき事由(例えば機密情報を外に出したくないなど)がある場合はオンプレミスでの運用を想定することになるかなと思います。

比較項目パブリッククラウドオンプレミス
初期投資低い:初期投資不要。使用した分だけ支払う。高い:サーバーやインフラの購入が必要。
スケーラビリティ高い:必要に応じてリソースを迅速にスケールアップ/ダウン可能。低い:追加のハードウェア購入や設定が必要。
管理の手間低い:運用管理の多くが自動化されている。高い:すべての運用管理を自社で行う必要がある。
可用性高い:複数のデータセンターに冗長性がある。変動:ハードウェア障害が発生した場合、迅速な復旧が難しい場合がある。
セキュリティ高い:高度なセキュリティ機能が提供されており、セキュリティアップデートも自動的に適用。変動:セキュリティ対策は自社の責任。適切に管理しないとリスクが高まる。
コスト最適化高い:使用量に応じた支払いで無駄を削減。低い:ピーク時に備えたリソースを常に保持する必要があるため、無駄が生じやすい。
カスタマイズ性低い:提供されるサービスやリソースに依存する。高い:ハードウェアやソフトウェアを自由に選択・設定可能。
データコントロール低い:データはクラウドプロバイダに保管されるため、完全な制御は難しい。高い:データは完全に自社内に保管され、物理的なアクセスを制御できる。
レイテンシ変動:インターネット経由のため、ネットワークレイテンシが発生することがある。低い:ローカルネットワーク内での通信が主となるため、レイテンシが低い。
災害復旧高い:複数のリージョンやアベイラビリティゾーンにまたがるバックアップとリカバリ機能が提供される。変動:自社でのバックアップ体制と災害復旧計画が必要。
アップデート高い:自動的に最新のサービスやセキュリティパッチが適用される。低い:自社でのアップデート管理が必要。

AWSを理解して使用するために

ここまででAWSの特徴を説明してきましたが、実務でAWSを利用するためにはアーキテクチャ設計の基礎を理解する必要があります。具体的にはグローバルインフラストラクチャとWell-Architected FrameWorkになります。本記事で解説していきますので、ぜひご理解くださいね!

アーキテクチャ設計

グローバルインフラストラクチャ

リージョン、アベイラビリティゾーン、データセンター

グローバルインフラストラクチャはAWSの持つグローバルな物理インフラのことを指します。ここで押さえておく用語はリージョン、アベイラビリティゾーン(AZ)、データセンターです。リージョンは各国に設置されている3つ以上のアベイラビリティゾーンが設置されている場所のこと、アベイラビリティゾーンは複数のデータセンターをまとめた論理的な単位のこと、データセンターはアベイラビリティゾーンに設置してある物理的なサーバを指します。例えるならリージョンは大学、アベイラビリティゾーンはキャンパス、データセンターはN号棟のような関係になります。

特にAZはマルチAZを構成することがベストプラクティスとなっており、単一AZにしないようにアーキテクチャを構成することが望ましいとされています。これはシステムの可用性(利用できる状態の維持)を保持するためになります。

リージョン選択の観点

リージョン選択の観点としては、レイテンシー(遅延のこと、例えば日本とアメリカだと場合によっては数百msの遅延が発生)、コスト、ガバナンス(例えば国ごとに個人情報保護規制が相違)、利用できるサービス(最新のサービスはアメリカリージョンでリリースされ、数カ月後に他リージョンに展開)を考慮する必要があります。なお現在設置されているリージョンは下図の青丸になります。

AWS_region
AWS, AWS グローバルインフラストラクチャ

エッジロケーションとAWS LocalZones

エッジロケーションはリージョンと顧客の間に存在し、Amazon CloudFront、AWS Global Accelerator、AWS Shield、AWS WAFなどのサービスがエンドユーザーに近い場所でコンテンツを配信するためのデータセンターです。これによりデータのレイテンシが低くなりパフォーマンスが向上します。エッジロケーションは、世界中に数百か所存在しコンテンツのキャッシュやアプリケーションのレスポンスを迅速に提供します。

またエッジロケーションと近いサービスとしてAWS LocalZonesがあります。これはリージョンのサービス(EC2など)をリージョンを飛び出して小さなリージョンで展開し顧客の近くで利用できるようにするAWSのサービスであり、特定の地理的な場所で低レイテンシの計算リソースを提供するためのサービスです。これによりAWSリージョンから遠く離れた場所でも、アプリケーションが非常に低いレイテンシで動作します。Local Zonesは、エンドユーザーに近い場所でAWSのインフラを提供することでリアルタイムの要件や厳しいレイテンシ要件を持つアプリケーションに対応します。

AWSエッジロケーションとAWS Local Zonesは、それぞれ異なるニーズに対応するためのインフラストラクチャです。エッジロケーションは主にコンテンツ配信とセキュリティサービスに焦点を当てており、AWS Local Zonesは特定の地域での低レイテンシ計算リソースの提供に特化しています。これにより、AWSはグローバルなスケールで幅広いアプリケーションの要件に対応することができます。

AWS Well-Architected FrameWork

Well-Architected FrameWorkはAWSの設計原則やアーキテクチャのベストプラクティスを示したもので6つの柱からなります。具体的な観点としては運用の優秀性(運用の効率化)、セキュリティ、信頼性、パフォーマンス効率、コスト最適化、持続可能性(持続可能な運用)から成ります。それぞれの柱と簡単にベストプラクティスを下記に紹介します。正確な情報についてはこちらの公式ページ詳細ドキュメントを参考にしてください。

1. 運用の優秀性(Operational Excellence)

運用の優秀性は、システムの運用と監視を効率的に行い、継続的な改善を図ることを目的としています。

  • ベストプラクティス:
    • 運用手順のコーディング: 手動の運用タスクを自動化して、エラーを減少させる。
    • 継続的な改善: フィードバックループを設けて、運用プロセスを常に見直し、改善する。

2. セキュリティ(Security)

セキュリティは、システムの保護とデータの安全性を確保するための枠組みを提供します。

  • ベストプラクティス:
    • 識別とアクセス管理: 誰が何にアクセスできるかを制御する。
    • インフラストラクチャの保護: ネットワークセキュリティ、ファイアウォール、データ暗号化を使用してインフラストラクチャを保護する。

3. 信頼性(Reliability)

信頼性は、システムが障害から迅速に復旧し、正しく動作し続ける能力を指します。

  • ベストプラクティス:
    • リカバリ戦略の設計: 障害発生時に迅速に復旧するための戦略を持つ。
    • 自動化による回復: フェイルオーバーとバックアップの自動化を実施する。

4. パフォーマンス効率(Performance Efficiency)

パフォーマンス効率は、リソースを最適化し、システムが効率的に動作するように設計することを目指します。

  • ベストプラクティス:
    • 最新技術の採用: 最新の技術やサービスを使用して効率を向上させる。
    • モニタリングとアナリティクス: パフォーマンスを監視し、ボトルネックを特定して最適化する。

5. コスト最適化(Cost Optimization)

コスト最適化は、コストを効果的に管理し、無駄を減らすことを重視します。

  • ベストプラクティス:
    • リソースの適切なサイズ設定: 必要なリソースのみを使用し、過剰なリソースを削減する。
    • 消費モデルの採用: 使用した分だけ支払うペイ・アズ・ユー・ゴーモデルを活用する。

6. 持続可能性(Sustainability)

持続可能性は、クラウドリソースの使用において環境への影響を最小限に抑えることを目的としています。

  • ベストプラクティス:
    • エネルギー効率: エネルギー効率の高いインスタンスを選択し、リソースの使用を最適化する。
    • ライフサイクルの管理: リソースのライフサイクルを管理し、不要なリソースを削除することで環境への負荷を減らす。

補足 AWS Well Architected Tool

AWS Well Architected FrameWorkの確認ツールとしてAWS Well Architected Toolが提供されています。これを利用することでアーキテクチャがベストプラクティスに従っているかを評価し改善策を提言してくれます。興味がありましたら活用してみるとよいでしょう。

補足 リファレンスアーキテクチャ

パブリッククラウドベンダーが提供しているアーキテクチャの参考情報・事例集をリファレンスアーキテクチャと言います。AWSのリファレンスアーキテクチャとしてAWSアーキテクチャセンターがあります。もし実際の構成図を参考にしたい場合はこちらを参考にしてみるとよいでしょう。

まとめ

本記事ではAWSを利用する上で重要なアーキテクチャ設計の基礎について解説をしました。具体的なAWSサービスを利用するためには本記事で説明した概念を理解しておく必要があります。ぜひ内容を理解した上でAWSのサービスを快適に利用いただけたらと思います!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Hack Luck Labの管理人hakula(ハクラ)です。2012年にSIerに新卒入社し、SE、新規事業、情シスを担当。その後、ITコンサルを経て、現在はバックエンドエンジニア。過去にはC#、SQL Server、JavaScriptで開発を行い、現在はPython、Rest Framework、Postgresql、Linux、AWSなどを使用しています。ノーコードツールやDX関連も興味あり。「技術は価値を生むために使う」ことが信条で、顧客や組織への貢献を重視しています。

目次