概要
NIST: National Institute of Standards and Technology(米国国立標準技術研究所)の作成したクラウドコンピューティングについてをまとめた文書が読みやすかったので、これを元にAWSサービスを捉え直す。
クラウドコンピューティングの定義から見たAWSサービス
5つの基本的な特徴
オンデマンド・セルフサービス
- オンデマンドでリソースをプロビジョニングできるオンデマンドサービスを提供出来るサービス
- ユーザー自身でサービスの起動設定が出来るサービス
- AWSサービス例:
-
- インスタンスサービス
- オンデマンドでサーバーを起動・停止出来る
- インスタンスの起動や停止はユーザー自身によって行われる
- 従量課金、実際に利用した時間・リソースに対して料金が発生する
- EC2単体ではオートスケールが行えないので、後述のAuto Scalingと組み合わせる必要が有る
-
- ストレージサービス。大容量データを保存する事が出来る
- オンデマンド利用可能
- データの保存量を元に料金が発生
- オブジェクトストレージである。ファイルストレージではないので、バックアップ用途に多く使われる
-
- フルマネージドなデータベースサービス
- MySQL、PostgreSQL、Oracle、SQL Serverをサポートしている
- データベース管理が不要
-
- サーバーレスなWebアプリケーションを構築可能
-
幅広いネットワークアクセス
- 33 の地理的地域内に 105 のアベイラビリティーゾーンが有る。AWS グローバルインフラストラクチャ
- 自身に近い場所のリージョン/アベイラビリティゾーンを利用出来る
- AWSサービス例:
-
VPC:
仮想ネットワーク構築サービス
論理的に分離された仮想ネットワーク内での AWSリソースを設定できる
VPC内においてサブネット単位でセグメント化可能
セキュリティグループ、ACLを利用してネットワークのアクセス制御可能 -
Amazon Direct Connect:
AWS への専用ネットワーク接続を作成出来るサービス
オンプレミスとAWSクラウドを専用回線で接続するサービス -
Amazon Transit Gateway:
複数のVPCやオンプレミスネットワークを統合、シームレスにネットワーク間接続できる -
Amazon Route 53:
DNSサービス。高可用性のDNSサービスを提供する -
AWS Global Accelerator:
AWS グローバルネットワークを使用して、アプリケーションの可用性、パフォーマンス、およびセキュリティを向上させる事が出来る
グローバルネットワークを使用してトラフィックを最適化するサービス。
ユーザーから最も近いエッジロケーションへの接続を高速化可能
-
VPC:
リソースの共用
- AWSは専有サービスを利用しない限りマルチテナントとなっている
- 複数のユーザーが同じ物理リソースを共有出来る。これにより、効率的にリソースを活用出来る
- コスト効率的が図れるが、他のアカウントとリソースを共有しているため、セキュリティ面の課題、及びパフォーマンス制約がある
- AWSサービス例:
- 共有ホストと専有ホストのテナンシーオプションの中で、共有ホストが該当する
- 複数のアカウントが同じ物理ホスト上でリソースを共有している
スピーディな拡張性
- リソースをスピーディーに拡張出来る
- オートスケールはAWSを利用する大きなメリットと言える
- AWSサービス例:
-
Amazon EC2
- 新しいインスタンスを数分で起動できる
-
Auto Scaling
- 前述したが、事前設定した設定値を元にEC2インスタンスを自動的にスケールアウト/スケールインする事が出来る
-
Amazon RDS
- 必要に応じてデータベースのインスタンスを追加できる
- DBストレージサイズを自動的にスケーリング可能な点が拡張性高い所と言える
- ※オンプレミスの場合は、運用管理者がDBサーバーを止めてストレージを追加する必要が有る
- リードレプリカの作成も可能
-
Amazon S3
- 必要に応じてバケットを作成し、データを追加出来る
-
Amazon EC2
サービスが計測可能であること
- 利用したリソースに対して料金を把握できる。利用料の管理・コスト最適化が可能
- モニタリングツールが提供されている
- AWSサービス例:
-
- メトリクスとは、システムのパフォーマンスに関するデータである
- 計測したいリソースやアプリケーションのメトリクスを発行する事でパフォーマンス計測できる
- 無料で取得できるメトリクスとしてAmazon EC2 インスタンス、Amazon EBS ボリューム、Amazon RDS DB インスタンス等がある
-
- Amazon CloudWatch Logs を使用して、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、Route 53、およびその他のソースからのログファイルをモニタリング AWS CloudTrail、保存、およびアクセス出来る。( Amazon CloudWatch Logs とは)
- ログデータをリアルタイムで監視し、特定のパターンを検索したり、リソースの問題を特定出来る
- ログデータを長期間保持することが可能
- アクセス制御、セキュリティ分析、コンプライアンスの要件を満たす為に使用できる
-
3つのサービスモデル
SaaS(Software as a Service)
- クラウド上でアプリケーションを提供するサービスモデルである
- ユーザーはアプリケーションの管理が不要。利用する時間分料金を支払って利用する
- AWSサービス例:
-
Amazon Chime
- 組織の内外を問わず会議、チャット、業務上の電話を単一のアプリケーションで実現する通信サービス
-
Amazon WorkDocs
- コンテンツの作成、ストレージ、コラボレーション用の安全なフルマネージド型サービス
-
Amazon WorkMail
- セキュリティに優れた企業向け E メールおよびカレンダーのマネージド型サービス
-
Amazon Chime
PaaS(Platform as a Service)
- アプリケーションを開発・実行するためのプラットフォームを提供するサービスモデルとなっている
- ユーザーはアプリケーションの実装やデプロイを担当するが、基盤となるインフラス管理はAWSが行う
- AWSサービス例:
-
AWS Elastic Beanstalk
- アプリケーションのデプロイメント、スケーリング、管理を自動化するPaaS
-
AWS Amplify
- ウェブおよびモバイルアプリの構築、デプロイメント、ホスティング、バックエンドサービスの支援ツール
-
AWS App Runner
- コンテナイメージまたはコードから、スケーラブルなウェブアプリケーションを簡単にデプロイ、実行するPaaS
-
AWS Elastic Beanstalk
IaaS(Infrastructure as a Service)
- 仮想OSのインスタンス、ストレージ、ネットワーキングなどのプラットフォームを提供するサービスモデルである
- このプラットフォーム上にユーザー自身でアプリケーションやサービスを構築・管理する
- AWSサービス例:
-
Amazon EC2
- クラウド上で仮想サーバーを起動・実行するためのサービス
-
Amazon S3
- オブジェクトストレージサービス
-
Amazon VPC
- 仮想ネットワークを構築するためのサービス
-
Amazon EC2
4つの実装モデル
プライベートクラウド
- 組織が他の組織と独立して自社のリソースを管理するモデル(サーバーを占有している状態)
- AWS OutpostsやAWS PrivateLinkなどのサービスを利用してプライベートクラウドを実現できる
- AWS Outposts を使用すると、一部の AWS のサービスをローカルで実行し、ローカルの AWS リージョンで利用できる幅広いサービスに接続できる
- AWS PrivateLinkを利用する事で、データをインターネットに公開することなく、VPC と AWS のサービス間の接続を確立する事が可能
- 上記サービスを利用して、AWSのインフラストラクチャをローカルデータセンターやオンプレミス環境に拡張し、他の組織とリソースを共有せずに利用出来る
コミュニティクラウド
- 業界毎ソリューションや利用目的に特化したソリューション
- ヘルスケア、金融業界向けの業界特有の要件を満たす場合に使用する
- AWSが提供する特定のサービスやリソースが含まれている
- 例:
パブリッククラウド
- 公開ネットワーク上に構築する
- EC2、Amazon S3、Amazon RDSなどの主要サービスがインターネット経由でアクセス可能
- 一般ユーザー及び一般企業を対象としている
ハイブリッドクラウド
- AWS Direct Connect、AWS VPNなどのネットワークサービスを利用する事でハイブリッドクラウドを実現できる
- パブリッククラウドとオンプレミスのプライベートクラウドを組み合わせも可能
- 例えば、運用上セキュリティ、コンプライアンスの重要度が高いデータをオンプレミスに保持しつつ、以外のデータをパブリッククラウド等に展開することが可能