0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[備忘]クラウドの基礎理解まとめ(AWS・GCP・Azure)|オンプレとの違いと設計思想から学ぶ

Posted at

本記事は、個人的な学習メモです。

🌍 1. クラウドとは?

クラウドコンピューティングとは、インターネット経由でITリソース(サーバー・ストレージ・データベースなど)をオンデマンドで利用する仕組み
物理的な機器を購入・設置することなく、必要なときに必要な分だけ利用可能


🏢 2. オンプレミスとの違い

項目 オンプレミス クラウド
インフラ管理 自社でサーバーを設置・保守 クラウド事業者が提供・保守
初期コスト 高い(ハードウェア購入) 低い(利用量課金)
拡張性 制限あり(機器追加が必要) 無制限にスケール可能
導入スピード 数週間〜数ヶ月 数分〜数時間で利用可能
セキュリティ責任 全て自社管理 共有責任モデル(事業者+利用者)
障害対応 自社で復旧 クラウドの冗長構成で自動復旧可

🔹 ポイント
クラウドは「自社で管理する負担を減らし、迅速にスケールできる環境」を提供します。
一方で、「セキュリティ設定」や「コスト最適化」は利用者側の責任になります。


🧩 3. クラウドの3つのサービスモデル

モデル 概要 代表サービス 利用者の責任範囲
IaaS(Infrastructure as a Service) 仮想サーバーやネットワークなど基盤を提供 AWS EC2、Azure VM、GCP Compute Engine OS・アプリ構築以降
PaaS(Platform as a Service) 開発・実行環境を提供 AWS Elastic Beanstalk、GCP App Engine、Azure App Service アプリ開発・設定
SaaS(Software as a Service) ソフトウェアをサービスとして提供 Salesforce、Google Workspace、dotData 利用のみ(運用不要)

💡 ポイント

🧩 IaaS・PaaS・SaaSの違いとは?

クラウドサービスは提供範囲によって大きく IaaS / PaaS / SaaS の3種類に分類されます。
それぞれが「どの部分をクラウド事業者が提供し、どの部分を利用者が管理するか」に違いがあります。


🏗️ IaaS(Infrastructure as a Service)

=インフラをサービスとして提供する

  • 提供内容:仮想サーバー、ストレージ、ネットワーク、OSインストール環境など、インフラ基盤を提供

  • 利用者の責任範囲:OSの設定、ミドルウェアの構築、アプリケーションの開発・運用は利用者側が行う

  • 代表的サービス

    • AWS:EC2、S3、VPC
    • GCP:Compute Engine、Cloud Storage
    • Azure:Virtual Machines、Blob Storage

🧠 特徴
サーバーを自分で構築・管理できる柔軟性が高いが、その分インフラ運用の知識が求められる。


⚙️ PaaS(Platform as a Service)

=開発基盤をサービスとして提供する

  • 提供内容:アプリケーションの実行環境(OS、ランタイム、ミドルウェアなど)を提供

  • 利用者の責任範囲:アプリケーションコードの開発と運用のみ

  • 代表的サービス

    • AWS:Elastic Beanstalk、Lambda
    • GCP:App Engine、Cloud Run
    • Azure:App Service、Functions

🧠 特徴
環境構築やスケーリングを自動化できるため、開発効率が高い。
ただし、カスタマイズ性はIaaSよりも制限される。


🧰 SaaS(Software as a Service)

=ソフトウェアをサービスとして提供する

  • 提供内容:アプリケーションそのものをインターネット経由で利用できるように提供

  • 利用者の責任範囲:アカウント管理・設定のみ(アプリやサーバーの管理は不要)

  • 代表的サービス

    • Google Workspace、Salesforce、Slack、Zoom、Notion

🧠 特徴
利用者は即座に使える利便性があるが、システム内部の制御はできない。


📊 比較表

項目 IaaS PaaS SaaS
提供範囲 インフラ(サーバ・ネットワーク) 開発・実行環境 ソフトウェア(アプリケーション)
利用者が管理 OS設定・アプリ構築 アプリ開発のみ 利用設定のみ
柔軟性 高い 中程度 低い
導入の手軽さ やや手間がかかる 比較的簡単 すぐ使える
代表例 AWS EC2 / GCP Compute Engine AWS Elastic Beanstalk / GCP App Engine Google Workspace / Salesforce


🧱 4. 各クラウドの主要サービス比較

分野 AWS GCP Azure 役割
仮想サーバー EC2 Compute Engine Virtual Machines アプリケーションを実行するための計算リソース
ストレージ S3 Cloud Storage Blob Storage ファイルやデータの保存
データベース RDS / DynamoDB Cloud SQL / Firestore SQL Database / Cosmos DB データの永続的保存
ネットワーク VPC VPC Virtual Network サーバー間の通信経路を制御
コンテナ ECS / EKS GKE AKS Kubernetes環境を提供
モニタリング CloudWatch Operations Suite Azure Monitor リソース監視・ログ管理

💡 共通設計思想

  • 「スケーラビリティ」:負荷に応じて自動でリソースを増減
  • 「冗長性」:複数のリージョンで可用性を確保
  • 「セキュリティ by Design」:アクセス制御・暗号化が標準装備
  • 「Infrastructure as Code」:設定をコードで自動化(Terraform, CloudFormationなど)

🧠 5. クラウド設計思想の核心

クラウドアーキテクチャの根底にある設計思想は以下の3つです。

設計思想 概要 具体例
疎結合(Loose Coupling) 各コンポーネントを独立させ、障害の影響を最小化 EC2 と RDS を別構成で管理
スケーラビリティ(Scalability) トラフィックや負荷に応じて自動拡張 Auto Scaling、負荷分散(ELB)
可用性(Availability)と耐障害性(Fault Tolerance) 障害に強いシステムを設計 マルチAZ構成、リージョン分散

📌 ポイント

  • 「クラウド設計で意識すべき3つの要素は?」
    → 疎結合・スケーラビリティ・可用性
  • 「オンプレと比べて、クラウドの設計思想が優れている理由は?」
    → 柔軟性と自動化による運用負荷軽減

🚀 6. まとめ:クラウドを理解する=運用を理解する

  • クラウドは単なる「インフラ」ではなく、運用と自動化の思想そのもの
  • 「クラウドを理解する」とは、「どう作るか」ではなく「どう運用するか」を理解すること
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?