はじめに
このページは、当ブログで公開しているAWSハンズオン記事のまとめページです。
各ハンズオンは 難易度別(Tier 1〜3) に整理しており、それぞれ以下の2種類の記事を用意しています。
| 種類 | 対象者 | 特徴 |
|---|---|---|
| SAM版(IaC版) | コードで管理したい方 | AWS SAM テンプレートを使いインフラをコード化。再現性・管理性が高い |
| コンソール版 | まず動かしてみたい方 | マネジメントコンソールをクリック操作で構築。最短で全体像を把握できる |
「まずコンソール版で雰囲気をつかんでからSAM版でコード化する」という順番もおすすめです。
今後もハンズオン記事を追加し次第、このページに随時追記していきます。
🗺️ ハンズオン難易度マップ
| 難易度 | Tier | 対象サービス | 課金リスク |
|---|---|---|---|
| ★☆☆☆☆ | 入門 | CloudFormation + EC2 | 小(t2.micro無料枠) |
| ★★☆☆☆ | Tier 1 | S3, CloudFront, EventBridge, Lambda | 極小 |
| ★★★☆☆ | Tier 2 | SQS, Step Functions, Cognito, API Gateway, DynamoDB, SNS | 小〜中 |
| ★★★★☆ | Tier 3 | Rekognition, CloudWatch Logs | 小(無料枠あり) |
| ★★★★☆ | 実務 | S3 + CloudFront + WAF | 中(WAFは有料) |
📌 入門編:IaC の第一歩
CloudFormationでWeb自動起動EC2を構築
AWSのインフラをコードで管理する「IaC(Infrastructure as Code)」の入口となるハンズオンです。マネジメントコンソールで手動構築したEC2インスタンスを、CloudFormationテンプレートに置き換えることで、再現性・バージョン管理・チーム共有の価値を体感できます。
難易度: ★☆☆☆☆
学習時間の目安: 60〜90分
課金リスク: 小(t2.micro 無料枠対象)
学べること
- CloudFormation テンプレートの基本構造(YAML)
- EC2インスタンス・セキュリティグループ・KeyPairのコード定義
- VSCode + AWS CLI を使ったデプロイフロー
こんな方におすすめ
「AWSはコンソールで触ったことがあるけど、コードでインフラ管理をしてみたい」という方の最初の一歩に最適です。
| バージョン | リンク |
|---|---|
| CloudFormation版(IaC) | 記事を読む |
🟢 Tier 1:簡単 / 課金リスク極小
1. S3 + CloudFront 静的サイトホスティング
S3バケットにHTMLを配置し、CloudFront経由でCDN配信する静的サイトホスティング環境を構築します。OAC(Origin Access Control)を使ってS3を非公開にしつつCloudFrontからのみアクセスを許可するセキュアな構成を学べます。
難易度: ★★☆☆☆
学習時間の目安: 30〜60分
課金リスク: 極小(CloudFront 無料枠 1TB/月、S3 GET は少額)
学べること
- S3バケットのパブリックアクセスブロック設定
- CloudFront ディストリビューション作成と OAC 設定
- HTTPSリダイレクト、キャッシュ無効化(Invalidation)の操作
こんな方におすすめ
「ウェブサイトをサーバーレスで公開したい」「CDNとキャッシュの仕組みを理解したい」方に最適。CloudFrontの基本を押さえたい方はここから始めてください。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版 | 記事を読む |
2. EventBridge + Lambda 定期バッチ実行
EventBridgeのスケジュールルールを使って、Lambdaを定期実行する「Cronバッチ」を構築します。rate式(例: 毎5分)とcron式(例: 毎日午前9時)の両方を試し、イベント駆動アーキテクチャの基本を体感できます。
難易度: ★★☆☆☆
学習時間の目安: 30〜60分
課金リスク: 極小(Lambda 無料枠 100万リクエスト/月)
学べること
- EventBridge スケジュールルールの作成(rate / cron式)
- Lambda 関数のIAMロール設定
- CloudWatch Logs でのログ確認
こんな方におすすめ
「定期実行処理をサーバーレスで実装したい」「cron式の書き方を理解したい」方向け。Lambdaの基本と組み合わせて最初のサーバーレスハンズオンとしても最適です。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版 | 記事を読む |
3. S3 ファイルアップロード → Lambda 非同期処理
S3バケットへのファイルアップロードをトリガーに、Lambdaを自動起動する非同期処理パイプラインを構築します。ファイルアップロードをイベントとして扱う「イベント駆動」の基本パターンです。
難易度: ★★☆☆☆
学習時間の目安: 30〜60分
課金リスク: 極小(S3 PUT + Lambda 実行のみ)
学べること
- S3 ObjectCreated イベント通知の設定
- Lambda トリガーとリソースベースポリシー
- URLデコード処理(日本語ファイル名対応)
- DeletionPolicy によるバケット削除制御
こんな方におすすめ
「ファイルをアップロードしたら自動で何か処理したい」ユースケース(画像変換、CSV取り込みなど)の基礎を学びたい方向け。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版 | 記事を読む |
4. SQS + Lambda メッセージキュー処理
SQSキューにメッセージを投入し、Lambdaがポーリングして処理するメッセージキューアーキテクチャを構築します。処理失敗時に備えたDLQ(デッドレターキュー)も合わせて実装します。
難易度: ★★★☆☆
学習時間の目安: 60分
課金リスク: 極小(SQS 無料枠 100万リクエスト/月)
学べること
- SQS標準キューとDLQ(デッドレターキュー)の作成
- RedrivePolicy(最大受信数・DLQ連携)の設定
- Lambda SQSポーリングとバッチ処理
- IAM権限(SQSPollerPolicy)の付与
こんな方におすすめ
「非同期処理・リトライ・失敗メッセージ管理を学びたい」方向け。マイクロサービス間の疎結合通信の基礎として重要なパターンです。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版 | 記事を読む |
🟡 Tier 2:中程度 / 少し設定多め
5. Step Functions + Lambda 受注処理ワークフロー
Step Functionsのステートマシンを使って、注文検証→在庫確認・支払い処理(並列)→注文確定という受注処理ワークフローを構築します。ビジュアルエディタ(Workflow Studio)とASLコードの両面からワークフローを理解できます。
難易度: ★★★☆☆
学習時間の目安: 60〜90分
課金リスク: 小(Step Functions 無料枠 4,000回のステート遷移/月)
学べること
- Task / Parallel / Retry / Catch ステートの定義
- ASL(Amazon States Language)の記述
DefinitionSubstitutionsによる Lambda ARN の動的差し込み(SAM版)- Workflow Studio(ビジュアルエディタ)の操作(コンソール版)
こんな方におすすめ
「複数処理のオーケストレーションを学びたい」「並列処理やエラーハンドリングを含む業務フローをAWSで実装したい」方向け。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版 | 記事を読む |
6. Lambda + API Gateway + DynamoDB メモアプリAPI
Lambda・API Gateway・DynamoDBを組み合わせて、メモの作成・取得・更新・削除(CRUD)ができるREST APIをサーバーレスで構築します。実用的なCRUD APIの実装パターンを一通り学べます。
難易度: ★★★☆☆
学習時間の目安: 60〜90分
課金リスク: 小(DynamoDB 無料枠 25GBストレージ・25RCU/WCU)
学べること
- DynamoDB テーブル設計(パーティションキー・ソートキー)
- Lambda からの boto3 による DynamoDB 操作(CRUD)
- API Gateway REST API のリソース・メソッド設定
- Lambda プロキシ統合とレスポンス形式
こんな方におすすめ
「サーバーレスでWebAPIを作りたい」「DynamoDBの基本操作を覚えたい」方向け。フロントエンドと組み合わせるバックエンドAPI開発の基礎として最適です。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版 | 記事を読む |
7. Cognito + API Gateway + Lambda 認証付きAPI
Amazon CognitoのUser Poolを使ってJWT認証付きAPIを構築します。API Gatewayに Cognito Authorizer を設定することで、Lambdaコードを変更せずに認証を追加できる設計パターンを学べます。
難易度: ★★★☆☆
学習時間の目安: 90〜120分
課金リスク: 小(Cognito 無料枠 5万MAU/月)
学べること
- Cognito User Pool・User Pool Client の作成
- IDトークン(JWT)の取得と検証フロー
- API Gateway Cognito Authorizer の設定
- DefaultAuthorizer によるAPI全体への認証適用
こんな方におすすめ
「ログイン機能付きAPIを作りたい」「JWT認証の仕組みを理解したい」方向け。独自の認証基盤を実装するより安全で、スケーラブルな認証設計を学べます。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版(新UI対応) | 記事を読む |
8. SNS + SQS + Lambda 通知システム(Pub/Sub・ファンアウト)
SNSトピックに発行したメッセージを複数のSQSキューに配信するファンアウトパターンを構築します。フィルターポリシーを使って「全ログ記録用」と「アラート用」でメッセージを振り分ける実践的な通知システムです。
難易度: ★★★☆☆
学習時間の目安: 90分
課金リスク: 小(SNS 無料枠 100万リクエスト/月)
学べること
- SNS Topic の作成と SQS サブスクリプション設定
- FilterPolicy によるメッセージ振り分け
- SQSQueuePolicy の明示的な設定(SAM版)
- 複数Lambda によるファンアウト処理パターン
こんな方におすすめ
「Pub/Subパターンやマイクロサービス間のイベント通知を学びたい」方向け。複数の処理を並列で起動するファンアウト設計はモダンなシステムの定番パターンです。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版 | 記事を読む |
🔴 Tier 3:少し複雑 / AWSらしいユースケース
9. S3 + Lambda + Rekognition 画像認識パイプライン
S3に画像をアップロードするとLambdaが起動し、Amazon RekognitionのDetectLabels APIでAI/ML画像認識を行うパイプラインを構築します。特別な機械学習の知識なしにAI機能を組み込める体験ができます。
難易度: ★★★★☆
学習時間の目安: 60〜90分
課金リスク: 小(Rekognition 無料枠 5,000枚/月)
学べること
- Amazon Rekognition DetectLabels API の使い方
- S3 + Lambda イベント駆動パイプラインの実装
RekognitionDetectOnlyPolicy/S3ReadPolicy組み込みポリシー(SAM版)- 最小権限原則に基づいたIAM設計
こんな方におすすめ
「AWSのAI/MLサービスを試してみたい」「画像に写っているものを自動分類したい」方向け。機械学習の実装不要でAI機能を組み込める体験は必見です。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版 | 記事を読む |
10. API Gateway + Lambda + CloudWatch Logs チャットボットログAPI
チャットボットの会話ログをAPIで受け取り、CloudWatch Logsに保存・集計する仕組みを構築します。Metric Filterを使ってJSONログからカスタムメトリクスを自動生成する監視基盤の実装です。
難易度: ★★★★☆
学習時間の目安: 90〜120分
課金リスク: 小(CloudWatch Logs 無料枠 5GB/月)
学べること
- CloudWatch Log Group の作成とログ保存
- Metric Filter(JSONフィルター)によるカスタムメトリクス生成
- boto3
logs.put_log_events()を使ったログ書き込み - IAM インラインポリシーの Statement 直接記述(SAM版)
こんな方におすすめ
「ログ管理・監視基盤に興味がある」「メトリクスの自動収集の仕組みを理解したい」方向け。CloudWatch の活用度を上げたいエンジニアに特におすすめです。
| バージョン | リンク |
|---|---|
| SAM版(IaC) | 記事を読む |
| コンソール版 | 記事を読む |
🔧 実務ハンズオン編
S3 + CloudFront + WAF IP制限付き静的サイト配信
S3 + CloudFrontの静的サイト構成にWAFを追加し、特定IPアドレスのみアクセスを許可するセキュリティ構成を構築します。実務でよくある「社内向け静的サイト」や「ステージング環境のIP制限」に対応した実践的な内容です。
難易度: ★★★★☆
学習時間の目安: 90〜120分
課金リスク: 中(WAF WebACL: 約$5/月 + $0.60/100万リクエスト)
学べること
- CloudFront OAC(Origin Access Control)のセキュアな設定
- WAF WebACL の作成と IP セットによるアクセス制御
- IPv4 / IPv6 デュアルスタック対応
- 実務的なトラブルシューティング(キャッシュ・ルール反映の遅延など)
こんな方におすすめ
「CloudFront + WAFによるセキュリティ強化を実装したい」「実務でIP制限付きサイトを構築する予定がある」方向け。Tier 1の「S3 + CloudFront 静的サイトホスティング」を先にやっておくとスムーズです。
| バージョン | リンク |
|---|---|
| 実務版(解説記事) | 記事を読む |
📊 全ハンズオン一覧
| # | テーマ | 使用サービス | 難易度 | SAM版 | コンソール版 |
|---|---|---|---|---|---|
| 入門 | CloudFormation EC2構築 | EC2, CloudFormation | ★☆☆☆☆ | → | — |
| 1 | 静的サイトホスティング | S3, CloudFront | ★★☆☆☆ | → | → |
| 2 | 定期バッチ実行 | EventBridge, Lambda | ★★☆☆☆ | → | → |
| 3 | ファイルアップロードトリガー | S3, Lambda | ★★☆☆☆ | → | → |
| 4 | メッセージキュー処理 | SQS, Lambda | ★★★☆☆ | → | → |
| 5 | ワークフロー処理 | Step Functions, Lambda | ★★★☆☆ | → | → |
| 6 | メモアプリAPI(CRUD) | API Gateway, Lambda, DynamoDB | ★★★☆☆ | → | → |
| 7 | 認証付きAPI | Cognito, API Gateway, Lambda | ★★★☆☆ | → | → |
| 8 | 通知システム(Pub/Sub) | SNS, SQS, Lambda | ★★★☆☆ | → | → |
| 9 | 画像認識パイプライン | S3, Lambda, Rekognition | ★★★★☆ | → | → |
| 10 | チャットボットログAPI | API Gateway, Lambda, CloudWatch | ★★★★☆ | → | → |
| 実務 | IP制限付き静的サイト | S3, CloudFront, WAF | ★★★★☆ | — | → |
さいごに
各ハンズオンは難易度順に進めるとスムーズに学習できます。ただし、興味のあるテーマから始めても問題ありません。
学習の進め方の例:
- IaC入門 → CloudFormation EC2でコードによるインフラ管理を体験
- Tier 1 → EventBridge + Lambda の定期実行でサーバーレスの基本を把握
- Tier 2 → メモアプリAPIやCognitoで実用的なAPIを構築
- Tier 3 / 実務 → 画像認識やWAFを追加して本格的な構成へ
また、同じテーマのコンソール版で全体像をつかんでからSAM版でコード化するという進め方もおすすめです。IaC化の効率性と再現性を実感できます。
引き続きハンズオン記事を追加予定ですので、ぜひブックマークしてご活用ください!
コメント