クラウドとAWSの概念

クラウドと仮想化

クラウドは仮想化技術によって成り立っているサービス。

そのため、クラウドを理解するにはまず仮想化について理解する必要がある。

 

仮想化とは

仮想的なインフラの構成を隠して、仮想化された単位に分けたり、統合したりして利用させる技術。

 

仮想化の仕組み

物理的なインフラに仮想化ソフトウェアを設定して、実質的な機能をユーザーに切り分けて提供する。

1つの物理的なサーバーを買ってきたけど、容量が大きくて1つのシステムやユーザーで利用するのはもったいないという場合に仮想化ソフトウェアを使う。

仮想化ソフトウェアには、Vmware型・ハイパーバイザ型の2タイプが主に使われている。

個々のユーザーは個別のサーバーのように利用できる。

柔軟にサーバー範囲を切り分けて利用できる。

 

仮想化の対象

次のようなインフラを仮想化することができる。

 

サーバーの仮想化

・1台の物理サーバー上に複数のOSを動作させる技

・ハイパーバイザ型 / VMware型 / コンテナ方式

 

ストレージの仮想化

・複数のストレージを仮想的に統合して1つの大きなストレージプールを構成する技術

・ブロックレベル仮想化 / ファイルレベル仮想化

 

ネットワークの仮想化

・新たな仮想ネットワークの構築や制御をソフトウェアにより動的に実施する技術

・SDN / VLAN

 

デスクトップの仮想化

・サーバー上に置いたPC環境のデスクトップ画面を遠隔地にある接続端末に転送する技術

・仮想PC方式 / ブレードPC方式

 

仮想化のメリット

仮想化を利用することでインフラ利用の効率性や柔軟性が圧倒的に向上する。

 

・サーバースペースの削減 / データセンター費用の削減

・効率的なサーバー利用によるコスト削減

・調達の迅速化

・構成変更やメンテナンス対応の柔軟性

・セキュリティの向上

 

コンテナ

コンテナはホストマシンのカーネルを利用し、プロセスやユーザなどを隔離する仮想化方式。

Docker

Dockerはコンテナ型の仮想環境を作成、配布、実行するためのプラットフォーム。

・コンテナはホストマシンのカーネルを利用し、プロセスやユーザなどを隔離する

・Dockerはミドルウェアのインストールや各種環境設定をコード化して管理

1、コード化されたファイルを共有するため誰でも同じ環境構築が容易に可能

2、作成した環境を配布共有が容易

3、環境の即時構築・削除が容易なため、CI/CDによる開発ができる

 

クラウドとは

必要に応じて他社所有のハードウェア・ソフトウェア等をネットワークを介して利用するシステム利用形態。

 

こんな時はクラウドに、、、

・短期的なキャンペーン用に一時的にサーバーがほしい

・需要増に応じサーバーを増強し、需要減には削減したい

・今すぐデータベースが必要だけど調達している時間がない

 

インフラを仮想化することで、ソフトウェア化されたサービスとして提供されているのがクラウド型のインフラサービス。

 

クラウド構成要素

クラウドで提供されるシステム構成要素はインフラ、ミドルウェア、アプリケーションの3層。

 

クラウドの5つの基本特性 

クラウドの特徴は「5つの基本特性」、「3つのサービス」、「3つの提供形態」

 

オンデマンド・セルフサービス

・利用者は人を介さず、必要に応じてサーバー、ネットワーク、ストレージを設置・拡張・設定が可能

 

幅広いネットワークアクセス

・ネットワークを通じてPC、スマホダブレットなど各種デバイスから利用可能

 

リソースの共有

・ハードウェアの使用容量などのリソースは複数利用者により共有し、利用者の需要に応じて動的に割り当てる。物理的配置は考慮不要

 

迅速な拡張性

・ハードウェア等の資源は必要に応じて自動または手動で増やしたり、減らしたりできる

 

サービスは計測可能

・稼働状況が常に計測されており、利用状況をコントロール・最適化できる

・計測結果に応じて従量課金が可能

 

クラウドの3つのサービス形態

主にSaaS、PaaS、IaaSの3つのサービスが存在。

SaaS

クラウド事業者がアプリケーションまで提供

・自社はすぐにアプリケーションを利用可能

 

PaaS

クラウド事業者がミドルウェアまでを提供

・自社はアプリケーション開発に専念

 

IaaS

クラウド事業者がハードウェア提供

・自社でミドルウェア、OSを購入しアプリケーションを開発

 

クラウドの3つの提供形態

クラウド提供形態はプライベートとパブリックが主流。

加えて両方を併用するハイブリッド型の提供形態がある。

 

オンプレミス(自社所有)

特徴:ハードウェア / ソフトウェアを購入し、自社にシステムを構築

メリット:自社でハードウェアを自由にコントロール可能

デメリット:調達・構築に時間を要す。運用管理に人材、コストを要す。

 

プライベートクラウド(自社所有)

特徴:自社内にクラウド基盤を構築し、ハードウェア・ソフトウェアを事業部や子会社間で共同利用

メリット:自社資産の効率化。パブリックと比較しコントロールが自由。

デメリット:クラウド運用管理が難しく、クラウドのメリットが低下

 

パブリッククラウド(他社所有)

特徴:ハードウェア・ソフトウェアを他社と共同利用し、柔軟に構築・解除が可能

メリット:運用管理を他社に委任可能

デメリット:自社コントロールの範囲が制限

 

クラウドの進化

クラウドから超分散コンピューティング型のクラウドへと発展。

 

クラウドIoT

AWSは他のプラットフォームよりも機能が豊富で、グローバルシェアも高い。

 

クラウドAI

完成したAI機能をクラウドを通じて即座に利用することも可能。

 

クラウドファーストの時代へ

クラウドを中核に「ネットとリアルの融合」、「ITとビジネスの融合」が促進される。

「テクノロジーの進化」と「ビジネス変化のスピード」に対応するため、柔軟で素早いシステム開発が求められる。

今後のテクノロジー×ビジネスに柔軟に対応するためには、クラウドファーストが必要不可欠。

 

AWSとは

AWSAmazonが提供する総合クラウドサービスで、あらゆる領域のクラウドサービスを網羅的に提供している。

 

なぜAWSか?

圧倒的なトップリーダーの地位にあるため。

 

グローバルシェ

Amazonは長年クラウドシェアで3割以上のシェアをキープしており圧倒的な存在である。

Gartnerの調査においてもクラウドのトップリーダーとして位置付けられている。

 

データ技術力

AIプラットフォームもビッグ4クラウドベンダーが他を圧倒。

 

なぜAWSがトップなのか

圧倒的な投資額でクラウドをリード。

 

データ活用の軍拡競争

圧倒的投資によりAIを含めた最新のサービスが続々とリリースされ、後発企業が単体で追いつくことはもはや不可能。

 

AWSファースト

ITインフラ構築検討の際にはAWSファーストにならざるを得ない。

 

AWSの仕組み

インフラやアプリ開発に必要な機能がオンデマンドのパーツサービスとして提供される。

サーバーを立ち上げるのに数分で無料で今すぐにでも利用できることが大きな特徴。

インフラ / システム機能をブロックパーツのようにオンライン上に組み合わせて自分の好きな構成を実現する仕組み。

 

AWSのサービスにはアンマネージド型とマネージド型が存在。

・アンマネージド型

スケーリング / 耐障害性 / 可用性を利用者側で設定し管理する必要がある。

メリット:設定が柔軟に可能

デメリット:管理が面倒

 

・マネージド型

スケーリング / 耐障害性 / 可用性がサービスに組み込まれておりAWS側で管理されている。

メリット:管理が楽

デメリット:設定が限定的

 

アンマネージド型の代表的なサービスはEC2(サーバー)

マネージド型の代表的なサービスはRoute53(DNS

 

AWSのグローバルインフラ構成

リージョンとアヴェイラビリティーゾーン(AZ)とエッジロケーションの3つの区分。

 

リージョン

リージョンは国や地域における地理的に隔離されたAWS拠点。

日本には東京と大阪の2つのリージョンが設置されている。

リージョンとリージョンは物理的に独立したインフラ拠点。

ただし、隣接リージョン間は広帯域の専用ネットワークで接続されている。

リージョンに応じてAWSサービスの利用可否と値段が異なる。

米国東部のバージニア北部は最新機能が使える。

 

アベイラビリティゾーン(AZ)

リージョンの中に複数の独立したインフラ拠点が存在し、それをアベイラビリティゾーンと呼ぶ。

同リージョン内のAZ同士は低レイテンシーのリンクで接続されている。

AZは1つの複数の物理的なデータセンターで構成されている。

AZにある物理インフラを仮想化してユーザーにインフラ機能をサービスとして提供している。

よって、1つのAZ内のみでAWSサービスを利用しているとデータセンターの停止によるサービス停止の可能性がある。

複数AZで分けて信頼性の高いシステム構成にするのが基本的なAWSアーキテクチャとなる。

複数AZを跨ぐと物理的な耐久性などが向上するが、システム間の連携や共有が制限される。

 

リージョンの選択

データやシステムに係る法律や社内規定を考慮し、基本的には自身の身近なリージョンを選択してAWSシステムを構築する。

リージョンのある国の法律に影響される可能性も考慮する。

事業継続計画(BCP)などの対策のためデータや予備システムとして別リージョンを利用する。

 

エッジロケーション

エッジロケーションはキャッシュデータなどを利用する際の更に小さなエンドポイントとなる拠点。

・CloudFront

・Lambdaエッジ

 

コンピューティング

アプリケーションを構築する際にサーバーなどのコンピューティングを起動・実行する関連サービス。

・EC2

 AWSを利用して仮想サーバーを立ち上げるサービス。

 ELB / AutoScaling / セキュリティグループも必須。

 

・Lambda

 サーバレスでプログラミングコード処理を実行するサービス。

 

・Lightsail

 仮想サーバー、ストレージ、データベース、

 およびネットワーキングを予測可能な低価格で提供。

 

・Elastic Container Service(ECS)

 Dockerコンテナをサポートする拡張性と

 パフォーマンスに優れたコンテナオーケストレーションサービス。

 

ストレージ

AWSにおいてデータを保存する際に利用する多様なストレージ。

 

・S3

 スケーラビリティ、データ可用性、セキュリティ、

 およびパフォーマンスを提供するオブジェクトストレージサービス。

 

・Elastic Block Store(EBS)

 EC2にアタッチして利用する専用のブロックストレージ。

 

インスタンスストア

 EC2にアタッチして利用する一時データ保存用ストレージ。

 

・Elastic File System(EFS)

 AWSクラウドサービスおよびオンプレミスリソースで使用するための、

 シンプルでスケーラブル、かつ伸縮自在な完全マネージド型のNFSファイルシステム

 

・S3 Glacier

 安全性と耐久性に優れ、極めて低コストのS3クラウドストレージクラスで、

 データのアーカイブや長期バックアップに使用する。

 

ネットワーキングとコンテンツ配信

ネットワークやコンテンツ配信・AWS環境への接続設定に利用するサービス。

 

VPC

 IPアドレス範囲の選択、サブネットの作成、ルートテーブルやネットワークゲートウェイの設定など、仮想ネットワーキング環境を構築するサービス。

 

・CloudFront

 低レイテンシーの高速転送により世界中の視聴者に安全に配信する高速コンテンツ配信ネットワークCDN)サービス。

 

・Route53

 DNSサーバーの機能を提供し、ドメイン変換とルーティングを実施するサービス。

 

・Direct Connect

 AWSとデータセンター、オフィス、またはコロケーション環境との間に

 プライベート接続を確立する専用線サービス。

 

API Gateway

 リアルタイム双方向通信アプリケーションを実現するRESTful API

 およびWebSocket APIを作成・管理する。

 

・Storage Gateway

 オンプレミスから実質無制限のクラウドストレージへのアクセスを提供する

 ハイブリッドクラウドストレージサービス。

 

データベース

AWSでは様々なタイプのデータベースサービスがマネージド型サービスで提供されている。

 

・RDS

 MySQLPostgreSQLOracleSQL ServerMariaDB向けのマネージドリレーショナルデータベースサービス。

 

・Aurora

 MySQLおよびPostgreSQLと互換性のあるクラウド向けの

 分散・高速化されたリレーショナルデータベース。

 

・DynamoDB

 規模に関係なく数ミリ数台のパフォーマンスを実現する、

 key-valueおよびドキュメントデータベース。

 

・ElastiCache

 RedisまたはMemcachedに互換性のある完全マネージド型の

 インメモリデータストア。

 

・Redshift

 高速かつシンプルで、費用対効果の高いデータウェアハウス。

 

アイデンティティ・セキュリティ・コンプライアンス

AWSでのセキュリティやコンプライアンスに寄与するサービス。

 

・Identity & Access Management(IAM)

 AWSのサービスやリソースへのアクセスを安全に管理するアクセス管理サービス。

 

・GuardDuty

 悪意のある操作や不正な動作を継続的にモニタリングする脅威検出サービス。

 

・Inspector

 自動化されたセキュリティ評価サービスで、AWSにデプロイした

 アプリケーションのセキュリティとコンプライアンスを向上させることができる。

 

AWS Key Management Service

 暗号化キーを簡単に作成して管理し、幅広いAWSのサービスや

 アプリケーションでの使用を制御する。

 

・CloudHSM

 法令遵守のためのハードウェアベースキーストレージ。

 

・WAF

 一般的なウェブの脆弱性からウェブアプリケーションまたは

 APIを保護するウェブアプリケーションファイアウォール

 

・Shield

 マネージド型の分散サービス妨害(DDoS)保護サービス。

 

・Artifact

 AWSコンプライアンスレポートにオンデマンドでアクセスできる

 無料のセルフサービスポータル。

 

マネジメントとガバナンス

運用保守やサポートに関する支援ツールやサービス。

 

・CloudWatch

 アプリケーションを監視し、リソース使用率の最適化を行い、

 運用上の健全性を統括的に把握するモニタリングサービス。

 

・CloudTrail

 ユーザーアクティビティとAPI使用状況の追跡するログ取得サービス。

 

・Config

 AWSリソースの設定を評価、監査、審査できるサービス。

 

・Organizations

 複数のAWSアカウント全体の一元管理と一括請求。

 

AWS Personal Health Dashboard

 AWSのサービス状態のパーソナライズされた表示。

 

AWS Service Catalog

 一般的にデプロイさているITサービスの一元的な管理サービス。

 

AWS Well-Architected Tool

 AWSアーキテクチャ設計原則の確認とワークロードの見直しと改善を支援。

 

AWS Systems Manager

 AWSの様々なサービスの運用データを確認でき、

 AWSリソース全体に関わる運用タスクを自動化する運用支援サービス。

 

AWS サポート

 AWSによるサポートサービス

 ベーシック / 開発者 / ビジネス / エンタープライズプランの4つ。

 

アプリケーション統合

アプリケーション間の通信制御やフロー作成・データ連携などに利用するサービス。

 

SNS

 完全マネージド型 pub / sub メッセージング。

 

・SQS

 完全マネージド型のメッセージキューイングサービス。

 

・SES

 Eメール送受信サービス。

 

移行と移転

AWSクラウドへのインフラ移行やデータ移行に利用するサービス。

 

AWS Application Discovery Service

 サーバーの設定データ、使用状況データ、動作データが収集して

 サーバーの使用率データや依存関係のマッピングなどの移行に必要な情報を

 提供するサービス。

 

AWS Database Migration Service

 データベースを短期間で安全にAWSに移行することが可能な、

 データベース移行ツール。

 

AWS Server Migration Service

 数千のオンプレミスワークロードを従来よりも簡単に、

 かつ短時間でAWSに移行できるエージェントレスサービス。

 

AWS Show ファミリー

 エッジでデータを収集して処理し、AWSとの間でデータを移行する、

 非常に安全なポータブルデバイス

 

AWSコスト管理

AWS Cost Explorer

 AWSのコストと使用量や経済性を把握し、分析・管理するための可視化ツール。

 

AWSのコストと使用状況レポート

 AWSのコストと使用状況の詳細を確認するためのレポート。

 

AWS Budgets

 予算のしきい値を超えた時にアラートを発信するカスタム予算を設定。

 

・価格算定ツール

 AWSのコスト計算を支援するツール。

 簡易見積りツール / TCO計算ツール / Pricing Calculator

 

AWS Cost Categories

 自身の組織やプロジェクト構造に分けてコストをカテゴライズすることが

 可能な機能。

 

・Trusted Advisor

 コスト最適化とセキュリティと耐障害性とパフォーマンス向上について

 アドバイスを提供するサービス。

 

AWS活用メリット

IaaSとしてのAWS

AWSの基本サービスはIaaSであり、様々なインフラをインターネットを介してオンデマンドで利用可能なことが利点。

 

PaaSとしてのAWS

AWSのIaaSに加え、アプリケーション開発ツール(PaaS)を利用して、アプリケーションを構築する。

・コーディングツール → Cloud9

・コード管理、デプロイ → Codeシリーズ / Elastic BeanStalk / Gitなど

・開発環境のインフラ → EC2 / RDS / VPCなど

 

SaaSとしてのAWS

AI翻訳機能や文章解析AIなどのAWSによって既に完成されたサービスを利用するクラウド形態。

 

AWS活用例

既にサービスとして出来上がったクラウドサービスをAPIから利用して組み込むことで、最先端の機能を利用できる。

 

オンプレミスとAWSクラウドの良し悪し

クラウドのメリット・デメリット

柔軟にリソースを活用できるクラウドのメリットに対して、ベンダーロックインという最大のデメリットがある。

 

メリット

◼️オンデマンドでリソースを柔軟に迅速に活用できる。

◼️オンプレミス環境とのハイブリッドやオンプレミス環境に

 AWSクラウドサービスを展開することも可能。

 

デメリット

◼️クラウド業者のサービスに依存してしまうベンダーロックイン

◼️データ保存先や活用で社内での保管が義務付けられている等、

 クラウド環境が利用できない。→回避策はある

 

ベンダーロックイン

オンプレミスのサーバーでシステム構築を自社内でしていれば、サーバー変更やソフトウェア変更は比較的容易に可能。

EC2インスタンスなどオンプレミスサーバーと類似の製品は移行が容易である。

AWS独自のサーバーレスの仕組みをアプリに組み込んで機能開発してしまうと、環境移行が困難になる。

例えば、AWS LambdaやElastic File System(EFS)、AWS Storage Gatewayなどの機能を、別サーバーでそのまま再現できるわけではない。

 

どっぷりAWSに依存して環境設定や開発を進めてしまうとAWS外への移行がどんどん困難になる。

 

オンプレミス環境のAWS

AWS Outpostsはオンプレミス環境にAWSサービスをセットアップして独自に利用できるように構築できる。

 

AWSの操作

AWSの操作方法は3つ。

1、AWSマネジメントコンソール

2、インスタンス操作(SSH等)

3、AWS CLI操作