このサイトについて
AWSをこれから使いたい企業・PoCフェーズ向けに、構成や考え方を整理した学習・検証内容をまとめています。
本サイトは CloudFormation を用いてCloudFront + S3 で構築しています。
※本資料に使用しているAWSサービスアイコンは、 Amazon Web Services, Inc. が提供する公式アイコンを使用しています。
AWSとは?
AWSは正式名称として「Amazon Web Service」と言いAmazonがクラウドサービスとなります。
クラウドサービスにはAWS以外にも複数存在し例えばMicrosoft社の「Azure」やGoogole社の「GCP(Google Cloud Platform)」などがあります。
これら3つのクラウドを合わせて3大クラウドと呼ばれています。
クラウドサービスとは?
クラウドサービスのクラウドとは「Cloud(雲)]のことを指しネットワーク経由の外部サービスを雲の形で表す習慣から来ています。
雲のシンボルはネットワークが物理的にどこにあるのかを意識させずにサーバやデータが「どこかに存在している」という抽象的な概念を伝えるために使用されています。
AWSは外部ネットワーク(インターネット)を経由するサービスであり、 インターネットを通じて サーバやストレージなどの コンピュータリソースを提供する サービスです。
オンプレミスとクラウド①
クラウドが普及される前にはオンプレミスという方式が主流となっていました。
オンプレミスとは、サーバなどのハードウェアからOS、ソフトウェアなどを含めたITインフラの機材に加え場合によっては施設内の電源、冷却装置など施設そのものも含め 各企業が自己で運用管理する方式です。
オンプレミスの特徴
メリット
- カスタマイズ性が高い
デメリット
- 自社でサーバやネットワークを保有・運用する必要がある
- 初期費用が高くなりやすい
- スケールに時間がかかる
- 運用・保守の負担が大きい
オンプレミスとクラウド②
オンプレミスの問題点を解決するために登場したモノがクラウドサービスとなります。
クラウドサービスでは、サービス提供側が用意したサーバなどを使用するため機材を購入する必要が無くユーザーはインターネットに接続できるPCを用意できればインターネット経由でITインフラの構築をすることができるようになります
また物理機材の管理も全てサービス提供側で行われます
クラウドサービスを使用するメリット
- サーバ等を購入する必要が無い
- 物理機器の運用・保守が不要
- 仮想化技術を用いてサーバスペックの変更が容易
このようにクラウドは、オンプレミス環境で課題となりやすい 初期費用・拡張性・運用負荷といった点を解決できる選択肢です。
AWSサービス
AWSはサーバやデータベース、ストレージなどあらゆる機能を「サービス」という単位で分けて提供を行っています。
各サービスが特定の機能や目的を持つ独立した機能を持っており利用者は必要なサービスを選択し組み合わせ設計を行いシステムを構築します。
AWSには非常に多くのサービスがありますが、 ここではPoCや初期構成でよく利用される代表的なサービスに絞って紹介します。
以下にAWSサービスの組み合わせ例を記載します。
AWS構成図(WEBアプリケーション)
仮想サーバ(EC2)とデータベース(RDS)を使った、一般的なWebアプリの構成イメージです。
サーバやデータベースを複数用意することで、障害が起きても止まりにくい仕組みになっています。
AWS構成図(サーバーレスWEBアプリケーション)
仮想サーバ(EC2)を使用しないWEBアプリケーションの構成イメージです。
必要なときだけ自動で動くため費用を抑えられますが、実行できる処理にはいくつか制限があります。
AWS構成図(データ分析基盤)
外部から送られてきたデータを受け取るAPIを用意しストレージに保存する仕組みです。
保存されたデータは、決まった形式に変換され、AWSの分析ツールを使ってグラフなどで確認できるようになります。
AWS構成図(IoTシステム)
この構成は、IoTデバイスから送られてくるデータをAWSクラウドで受け取り、管理・分析・通知まで行う仕組みを表しています。
センサーなどのIoT機器がAWSに接続され、データは安全に保存・分析され、必要に応じて管理者に通知されます。
Well-Architectedフレームワーク
AWS上で安全・高性能・信頼性・コスト最適化・持続可能性を満たすシステムを設計するためのAWS公式ベストプラクティス集です。
Well-Architectedフレームワークは6つの柱で構成されており、これを参照することでAWSを安全かつ最適に利用できます。
公式ドキュメント AWS Well-Architected Framework
| 名前 | 説明 |
|---|---|
| オペレーショナルエクセレンス | 運用の自動化、監視、改善プロセスを整備し、継続的に運用品質を高める |
| セキュリティ | データ保護、アクセス管理、脅威検出などを活用してAWS環境を安全に運用を行う |
| 信頼性 | 障害に強く、迅速に復旧できるシステムを構築するための設計指針 |
| パフォーマンス効率 | 最適なリソース選択とスケーリングにより、効率的に高パフォーマンスを維持 |
| コスト最適化 | 無駄なコストを削減し、必要な部分に適切に投資するための設計原則 |
| 持続可能性(サスナビリティ) | 環境負荷を最小限に抑え、エネルギー効率の高いアーキテクチャを実現するための指針 |
リージョンとAZ(アベイラビリティゾーン)
AWSは世界中にデータセンターを展開しており、地域ごと「リージョン」と呼ばれる独立した領域に区切っています。 AWSサービスにはリージョン単位で稼働、設定を行うものがありリージョンごとに利用料金や使用可能なサービス数が異なります。
リージョン内は物理的に離れたデータセンター群として「AZ(アベイラビリティゾーン)で構成されています。
AZはリージョン内に複数存在し、各AZごとに障害、火災、停電などの影響が受けにくく設計されています。
※AZのデータセンターの場所はセキュリティ上、公表されていません。
AZのデータセンター入退出管理・災害対策
入退出管理
- 24時間365日の監視体制が行われている。
- バイオメトリクスや多要素認証を用いたセキュリティプロトコルを使用されている。
災害対策
- 地震や洪水に対する自然災害に対する設計が行われている。
- 電源供給も独立した経路から行われ単一の障害が全体に影響しないように設計されている。
AWSサービスを使用しシステムを構築するのに、サービスごとに主にリージョン単位またはAZ単位で作成・管理するサービスに分けられます。
| スコープ | 説明 | 代表サービス |
|---|---|---|
| リージョン単位 | 特定のリージョン内で作成・管理。AZを意識せず使用。 | VPC、S3、Lambda、CloudWatch |
| AZ単位 | 特定のAZ内に配置される。高可用性のために複数AZに分散することが多い。 | EC2、VPC(サブネット)、RDS、ELB、ElasticChace |
マルチAZ構成(冗長化)
AZは耐障害性に優れたデータセンターとして設計されていますが過去にAZ障害による停止事例も存在します。
AZ障害が発生すれば障害が発生したAZ内に作成したシステムも停止するリスクがあります。
基本的にサービスを停止させないためには複数のAZを使用した冗長化の構成が推奨されます。
この冗長化の構成をマルチAZと呼ばれます。
責任共有モデル
AWS利用者とAWS側の責任を分担する担当範囲を明確化する考え方となります。
責任範囲はAWSが公式で発表されています。
AWS利用ユーザーは以下の範囲から作成したサービスや構築したシステムに対し責任を取る必要があります。