メインコンテンツまでスキップ

AWS基礎

クラウドコンピューティングの基本概念と、AWSのグローバルインフラストラクチャ、料金モデル、基本的な操作方法を学びます。


所要時間

約30分

学べること

  • クラウドコンピューティングの基本概念と利点
  • AWSのグローバルインフラストラクチャ(リージョン、AZ、エッジロケーション)
  • AWSの料金モデル(従量課金、リザーブド、スポット)
  • AWSアカウントの構造と管理方法
  • AWS CLI / マネジメントコンソール / SDK の基本操作
  • 主要サービスのカテゴリと全体像

前提知識

  • 基本的なIT用語(サーバー、ネットワーク、データベース)の理解
  • コマンドラインの基本操作

目次

  1. クラウドコンピューティングとは
  2. AWSとは
  3. グローバルインフラストラクチャ
  4. AWSの料金モデル
  5. AWSアカウントの構造
  6. AWSの操作方法
  7. 主要サービスの全体像
  8. IDサービスでの活用

1. クラウドコンピューティングとは

オンプレミスとクラウドの違い

┌─────────────────────────────────────────────────────────────┐
│ オンプレミス vs クラウド │
├─────────────────────────┬───────────────────────────────────┤
│ オンプレミス │ クラウド │
│ │ │
│ ┌───────────────────┐ │ ┌───────────────────────────┐ │
│ │ 自社でサーバー購入 │ │ │ 必要な分だけ借りる │ │
│ │ 自社でネットワーク │ │ │ API/コンソールで操作 │ │
│ │ 自社で設置・運用 │ │ │ 使った分だけ支払い │ │
│ └───────────────────┘ │ └───────────────────────────┘ │
│ │ │
│ 初期投資: 数百万円〜 │ 初期投資: ゼロ │
│ 調達期間: 数週間〜数月 │ 調達期間: 数分 │
│ 拡張: ハードウェア追加 │ 拡張: ボタンひとつ │
│ 縮小: 困難 │ 縮小: 即座に可能 │
│ │ │
├─────────────────────────┴───────────────────────────────────┤
│ クラウド = 「必要なときに、必要な分だけ、すぐに使える」 │
└─────────────────────────────────────────────────────────────┘

クラウドの5つの特徴(NIST定義)

特徴説明
オンデマンドセルフサービス人手を介さず、自分で即座にリソースを確保できる
幅広いネットワークアクセスインターネット経由でどこからでもアクセス可能
リソースプーリング複数の利用者がインフラを共有(マルチテナント)
迅速な弾力性需要に応じて素早くスケールアップ/ダウン
計測可能なサービス使用量を計測し、使った分だけ課金

クラウドのサービスモデル

IaaSPaaSSaaS
概要インフラだけ借りる実行基盤まで借りるソフトウェアをそのまま使う
自分で管理アプリ、ミドルウェア、OSアプリのみなし(設定のみ)
プロバイダが管理仮想化、サーバー、ストレージ、ネットワーク左記 + OS、ミドルウェアすべて
AWS例EC2, EBSElastic Beanstalk, App RunnerWorkMail, Chime
一般例-HerokuGmail, Salesforce
自由度高い中程度低い
運用負荷高い中程度低い

2. AWSとは

AWS(Amazon Web Services)は、Amazonが提供するクラウドコンピューティングプラットフォームです。2006年にS3とEC2のサービスから始まり、現在では200以上のサービスを提供する世界最大のクラウドプロバイダーです。

AWSの主な特徴

特徴説明
グローバル展開世界中にリージョンを持ち、低レイテンシでサービスを提供
豊富なサービスコンピュート、ストレージ、DB、AI/ML、IoT等200以上
従量課金使った分だけ支払い、初期費用不要
エコシステム膨大なドキュメント、パートナー、コミュニティ
セキュリティ多数のコンプライアンス認証(SOC、ISO、PCI DSS等)取得

責任共有モデル

AWSとユーザーの責任範囲は明確に分かれています。

┌─────────────────────────────────────────────────────────────┐
│ 責任共有モデル │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ お客様の責任 │ │
│ │ 「クラウドの中のセキュリティ」 │ │
│ │ │ │
│ │ ・データの暗号化と管理 │ │
│ │ ・IAM(アクセス管理) │ │
│ │ ・OS/ネットワーク/ファイアウォールの設定 │ │
│ │ ・アプリケーションのセキュリティ │ │
│ └───────────────────────────────────────────────────────┘ │
│ ─────────────────────── 境界線 ───────────────────────── │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ AWSの責任 │ │
│ │ 「クラウドのセキュリティ」 │ │
│ │ │ │
│ │ ・物理インフラ(データセンター、ハードウェア) │ │
│ │ ・ネットワークインフラ │ │
│ │ ・仮想化レイヤー │ │
│ │ ・マネージドサービスのパッチ適用 │ │
│ └───────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

IDサービスでは、認証情報や個人データを扱うため、「お客様の責任」の部分が特に重要です。IAMの設定、データの暗号化、ネットワークの分離を適切に行う必要があります。


3. グローバルインフラストラクチャ

リージョン(Region)

リージョンは、AWSがサービスを提供する地理的に独立した領域です。各リージョンは完全に独立しており、データは明示的に転送しない限り他のリージョンには移動しません。

┌─────────────────────────────────────────────────────────────┐
│ AWSグローバルインフラストラクチャ │
├─────────────────────────────────────────────────────────────┤
│ │
│ 北米 ヨーロッパ アジア太平洋 │
│ ┌──────────────┐ ┌──────────┐ ┌──────────┐ │
│ │ us-east-1 │ │ eu-west-1│ │ ap-north- │ │
│ │ (バージニア) │ │ (アイル │ │ east-1 │ │
│ │ │ │ ランド) │ │ (東京) │ │
│ │ us-west-2 │ │ eu-central│ │ │ │
│ │ (オレゴン) │ │ -1 │ │ ap-south- │ │
│ │ │ │ (フランク │ │ east-1 │ │
│ │ ca-central-1 │ │ フルト) │ │ (シンガ │ │
│ │ (カナダ) │ │ │ │ ポール) │ │
│ └──────────────┘ └──────────┘ └──────────┘ │
│ │
│ リージョン選択の基準: │
│ ・レイテンシ(ユーザーとの距離) │
│ ・法規制(データ居住要件) │
│ ・利用可能なサービス │
│ ・料金 │
│ │
│ 日本向けIDサービスなら → ap-northeast-1(東京)が基本 │
│ │
└─────────────────────────────────────────────────────────────┘

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

各リージョンは複数の**アベイラビリティゾーン(AZ)**で構成されています。AZは物理的に離れたデータセンター群であり、独立した電源・ネットワーク・冷却設備を持ちます。

┌─────────────────────────────────────────────────────────────┐
│ ap-northeast-1(東京リージョン) │
├─────────────────────────────────────────────────────────────┤
│ │
│ AZ-a AZ-c AZ-d │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ DC群 │ │ DC群 │ │ DC群 │ │
│ │ ┌──┐┌──┐│ │ ┌──┐┌──┐│ │ ┌──┐┌──┐│ │
│ │ │DC││DC││ │ │DC││DC││ │ │DC││DC││ │
│ │ └──┘└──┘│ │ └──┘└──┘│ │ └──┘└──┘│ │
│ │ 独立電源 │ │ 独立電源 │ │ 独立電源 │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ └────────────────┼────────────────┘ │
│ 高速専用ネットワーク(低レイテンシ) │
│ │
│ ポイント: │
│ ・AZ間: 高速・低レイテンシ(数ms以下)の専用線接続 │
│ ・AZ障害: 1つのAZが障害でも他は影響を受けない │
│ ・マルチAZ: 重要なシステムは複数AZに配置する │
│ │
└─────────────────────────────────────────────────────────────┘

エッジロケーション

CloudFrontやRoute 53が使う世界中の拠点です。ユーザーに近い場所でコンテンツをキャッシュしたり、DNS応答を返したりして、レイテンシを削減します。

コンポーネント用途
リージョン30以上フルサービスを提供する独立した地理的領域
アベイラビリティゾーン90以上リージョン内の独立したデータセンター群
エッジロケーション400以上CDN/DNSのためのキャッシュ拠点

4. AWSの料金モデル

基本原則: 従量課金(Pay-as-you-go)

使った分だけ支払います。電気代のように、使用量に応じて課金されます。

主な料金モデルの比較

モデル割引率期間ユースケース
オンデマンドなし(基準価格)なし開発/テスト、一時的な負荷
リザーブドインスタンス最大72%1年/3年常時稼働のシステム(本番DB等)
Savings Plans最大72%1年/3年柔軟なコミット(インスタンスタイプ変更可)
スポットインスタンス最大90%不定(中断あり)バッチ処理、CI/CD、耐障害性のあるワークロード

無料利用枠

AWSには3種類の無料利用枠があります。

┌─────────────────────────────────────────────────────────────┐
│ AWS 無料利用枠 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 12ヶ月無料(アカウント作成後1年間) │
│ ├── EC2: t2.micro 750時間/月 │
│ ├── RDS: db.t2.micro 750時間/月 │
│ ├── S3: 5GB │
│ └── ELB: 750時間/月 │
│ │
│ 常に無料 │
│ ├── Lambda: 100万リクエスト/月 │
│ ├── DynamoDB: 25GB ストレージ │
│ └── CloudWatch: 基本モニタリング │
│ │
│ トライアル(初回のみ) │
│ ├── SageMaker: 2ヶ月間 │
│ └── Inspector: 15日間 │
│ │
└─────────────────────────────────────────────────────────────┘

コスト管理のポイント

  • AWS Cost Explorer: 過去と将来のコストを可視化
  • AWS Budgets: 予算を設定してアラートを受け取る
  • タグ戦略: リソースにタグを付けてコストを部門/プロジェクト別に追跡
  • 請求アラーム: CloudWatchで請求額を監視

5. AWSアカウントの構造

ルートアカウントとIAMユーザー

┌─────────────────────────────────────────────────────────────┐
│ AWSアカウント構造 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ ルートアカウント(メールアドレスで作成) │ │
│ │ ・全権限を持つ(制限不可) │ │
│ │ ・日常的に使ってはいけない │ │
│ │ ・MFA必須で厳重に保護する │ │
│ └───────────────────┬───────────────────────────────────┘ │
│ │ │
│ ┌────────────┼────────────┐ │
│ │ │ │ │
│ ┌──────┴─────┐┌─────┴──────┐┌────┴───────┐ │
│ │ IAMユーザー ││ IAMユーザー ││ IAMロール │ │
│ │ (管理者) ││ (開発者) ││ (サービス用)│ │
│ │ 必要な権限 ││ 必要な権限 ││ 必要な権限 │ │
│ │ のみ付与 ││ のみ付与 ││ のみ付与 │ │
│ └────────────┘└────────────┘└────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

AWS Organizations

複数のAWSアカウントを一元管理する仕組みです。

┌─────────────────────────────────────────────────────────────┐
│ AWS Organizations │
├─────────────────────────────────────────────────────────────┤
│ │
│ マネジメントアカウント(親) │
│ ├── OU: 本番環境 │
│ │ ├── 本番アカウント A(IDサービス) │
│ │ └── 本番アカウント B(Webアプリ) │
│ ├── OU: 開発環境 │
│ │ ├── 開発アカウント A │
│ │ └── 開発アカウント B │
│ └── OU: セキュリティ │
│ ├── ログ集約アカウント │
│ └── 監査アカウント │
│ │
│ SCP(サービスコントロールポリシー)で │
│ OU/アカウント単位の権限制限が可能 │
│ │
└─────────────────────────────────────────────────────────────┘
機能説明
一括請求複数アカウントの料金をまとめて管理
SCPアカウント/OUレベルで利用可能なサービスを制限
OUアカウントを論理的にグループ化
アカウント分離環境(本番/開発)を完全に分離

6. AWSの操作方法

AWSを操作する方法は3つあります。

マネジメントコンソール

Webブラウザから操作するGUIです。視覚的でわかりやすいため、学習やリソースの確認に適しています。

AWS CLI

コマンドラインからAWSを操作します。スクリプトによる自動化に適しています。

# AWS CLIのインストール(macOS)
brew install awscli

# 初期設定
aws configure
# AWS Access Key ID: AKIAXXXXXXXXXXXXXXXX
# AWS Secret Access Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Default region name: ap-northeast-1
# Default output format: json

# 基本的な操作例
# S3バケット一覧
aws s3 ls

# EC2インスタンス一覧
aws ec2 describe-instances --query 'Reservations[].Instances[].{Id:InstanceId,State:State.Name,Type:InstanceType}' --output table

# CloudFormationスタックのデプロイ
aws cloudformation deploy --template-file template.yaml --stack-name my-stack

AWS SDK

プログラムからAWSを操作します。アプリケーションへの組み込みに使用します。

// AWS SDK for Java v2 の例
// S3からオブジェクトを取得
S3Client s3 = S3Client.builder()
.region(Region.AP_NORTHEAST_1)
.build();

GetObjectRequest request = GetObjectRequest.builder()
.bucket("my-bucket")
.key("config/settings.json")
.build();

ResponseBytes<GetObjectResponse> response =
s3.getObjectAsBytes(request);
操作方法用途特徴
マネジメントコンソール学習、確認、小規模操作視覚的、手軽
AWS CLIスクリプト、自動化、運用再現性が高い
AWS SDKアプリケーション連携プログラムから直接操作

7. 主要サービスの全体像

AWSの200以上のサービスを主要カテゴリ別に整理します。

コンピュート

サービス説明IDサービスでの利用
EC2仮想サーバー開発/テスト環境
ECS/EKSコンテナオーケストレーション本番環境の実行基盤
FargateサーバーレスコンテナECS/EKSのコンピュートエンジン
Lambdaサーバーレス関数イベント駆動処理

ストレージ

サービス説明IDサービスでの利用
S3オブジェクトストレージログ保存、設定ファイル
EBSブロックストレージEC2のディスク
EFSファイルストレージ共有ファイルシステム

データベース

サービス説明IDサービスでの利用
RDSマネージドRDBPostgreSQL/MySQL
Aurora高性能RDB本番データベース
DynamoDBNoSQLセッション管理
ElastiCacheキャッシュトークンキャッシュ

ネットワーク

サービス説明IDサービスでの利用
VPC仮想ネットワークネットワーク分離
ALB/NLBロードバランサトラフィック分散
Route 53DNSドメイン管理
CloudFrontCDN静的コンテンツ配信

セキュリティ

サービス説明IDサービスでの利用
IAMアクセス管理権限管理の基盤
KMS暗号鍵管理秘密鍵の暗号化
Secrets Manager秘密情報管理DB認証情報、APIキー
WAFWebアプリファイアウォール不正アクセス防御
ACMSSL証明書管理HTTPS証明書

管理・監視

サービス説明IDサービスでの利用
CloudWatchモニタリングメトリクス、ログ、アラーム
CloudTrailAPI監査ログ操作の監査
CloudFormationIaCインフラのコード管理
Systems Manager運用管理パラメータストア

8. IDサービスでの活用

idp-serverをAWS上で運用する際の基本的な構成を概観します。

┌─────────────────────────────────────────────────────────────┐
│ IDサービスの基本AWS構成 │
├─────────────────────────────────────────────────────────────┤
│ │
│ インターネット │
│ │ │
│ ┌────┴────┐ │
│ │ Route53 │ ← ドメイン管理(例: auth.example.com) │
│ └────┬────┘ │
│ │ │
│ ┌────┴────────┐ │
│ │ CloudFront │ ← 静的コンテンツ、DDoS防御 │
│ └────┬────────┘ │
│ │ │
│ ┌────┴────┐ │
│ │ ALB │ ← HTTPS終端、パスベースルーティング │
│ └────┬────┘ │
│ │ ┌─────────── VPC ──────────────┐ │
│ │ │ │ │
│ │ │ Private Subnet │ │
│ ├──────────┤ ┌──────────┐ ┌──────────┐ │ │
│ │ │ │idp-server│ │idp-server│ │ │
│ │ │ │ (ECS) │ │ (ECS) │ │ │
│ │ │ └────┬─────┘ └────┬─────┘ │ │
│ │ │ │ │ │ │
│ │ │ ┌────┴────────────┴───┐ │ │
│ │ │ │ Aurora │ │ │
│ │ │ │ (PostgreSQL) │ │ │
│ │ │ └────────────────────┘ │ │
│ │ │ │ │
│ │ └───────────────────────────────┘ │
│ │ │
│ ┌────┴────────────────────────┐ │
│ │ KMS / Secrets Manager │ ← 鍵・秘密情報管理 │
│ └─────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

リージョン選択の考慮点

IDサービスの場合、以下の観点でリージョンを選択します。

観点考慮事項
レイテンシ認証リクエストは低レイテンシが重要。ユーザーに近いリージョンを選択
データ居住要件個人情報を扱うため、法規制に準拠したリージョンでデータを保持
サービス可用性使用するサービス(Aurora、ECS等)がリージョンで利用可能か確認
DR災害復旧のために別リージョンへのバックアップを検討

まとめ

概念ポイント
クラウド従量課金、即座にスケール、責任共有モデル
リージョン/AZ地理的分離、マルチAZで高可用性
料金モデルオンデマンド、リザーブド、スポットの使い分け
アカウントルートを保護し、IAMユーザーで運用
操作方法コンソール(学習)、CLI(自動化)、SDK(アプリ連携)

次のステップ

  • IAM - AWSのアクセス管理の基盤を学ぶ

参考リソース