AWS

AWS|クラウドの概念について

クラウドとは

クラウドとは様々なITリソースをオンデマンド(利用したいときに、利用したい分だけの従量課金)で利用できるサービスの総称。ITリソースというのは、コンピューティング(仮想サーバー)、データベース、ストレージ(ディスク領域)、アプリケーションなどのこと。
一方、オンプレミスとは、サーバー、ネットワーク、ソフトウェアなどの設備を自前で用意し運用するシステム。

AWSクラウドコンピューティングの6つのメリット

  1. 固定費(設備投資費)が柔軟な変動費へ
  2. スケールによる大きなコストメリット
  3. キャパシティ予測が不要に
  4. 速度と俊敏性の向上
  5. データセンターの運用と保守への投資が不要に
  6. わずか数分で世界中にデプロイ

クラウドアーキテクチャの設計原理

故障に備えた設計

Design for Failure=単一障害点をなくそう

  • 1つのデータセンターのみで運用しない
  • 単一のインスタンスのみで構成しない

マネージドなサービスを利用しよう。AWSのマネージドなサービスは単一障害点にならないように考慮されている

AWSのマネージドなサービスとは例えばRDS(Relational Database Service)のこと。EC2にデータベースサービスをインストールする場合、その後のパッチ適用を自身で行う必要があるが、RDSを利用すれば、AWS側でパッチ適用を行ってくれるため、安定的な運用が可能となる。

コンポーネントの分離

  • システムのコンポーネントを疎結合にする
  • マイクロサービスアーキテクチャを利用する
  • キューイングチェーンを利用して、非同期かつ疎結合な構成をとる

弾力性の実装

固定されたリソースではなく、クラウドの利点である弾力性(伸縮性)を使って動的にスケーリングを行う。

弾力性は次の3つの方法を用いることで実現できる。

巡回スケーリング、イベントベーススケーリング、オンデマンドの自動スケーリング

使い捨て可能なリソースとして、サーバーを考える。

並列化を考慮する

  • ロードバランサーを組み合わせて、並列処理を行う。
  • スケーリングは弾力性を組み合わせて、高負荷時にはスケールアウト、低負荷時にはスケールインを行う。

動的コンテンツデータをコンピュータの近くに、静的コンテンツデータをエンドユーザーの近くに保管する

  • 静的コンテンツは外部に出して、エンドユーザーの近くに保管する
  • 動的に処理するデータは、クラウド上のコンピューティングリソースの近くに保管する。

AWS Well-Architectedフレームワーク

AWS Well-Architectedフレームワークとは、運用上の優秀性、セキュリティ、信頼性、パフォーマンス効率、コスト最適化を考慮したシステムを設計しクラウドで運用するための、アーキテクチャのベストプラクティスのこと。