AWS Hands-on

AWS ハンズオン一覧

手を動かしながら AWS を学ぶハンズオン集です。気になるテーマを選んで、マネジメントコンソールで実際に構築してみましょう。各ハンズオンは独立しているので、どれから始めても構いません。

レベルで絞り込む:
サービスで絞り込む
ネットワーク
コンピュート
ストレージ・配信
データベース
監視
サーバーレス・統合
セキュリティ・運用
コスト管理
機械学習
その他

ネットワーク(VPC)

全 7 件
● Lv.1 ⏱ 15 〜 30 分

はじめての VPC を
マネジメントコンソールで作成する

AWS に自分専用のネットワーク空間「VPC」を作成します。サブネットもサーバーも置かず、ネットワークの一番外側の「箱」を 1 つだけ作る、AWS ネットワークの最初の一歩です。

VPC ネットワーク CIDR マネジメントコンソール
はじめる →
● Lv.1 ⏱ 20 〜 40 分

VPC のネットワークを
サブネットで区切る

VPC という大きなネットワークの箱の中を、用途ごとに区切る「サブネット」を 2 つ作成します。アドレス範囲を小さな区画に分けるという、ネットワーク設計の基本となる考え方を体感します。

VPC サブネット CIDR アベイラビリティーゾーン
はじめる →
● Lv.1 ⏱ 30 〜 50 分

外につながる区画と
つながらない区画を作り分ける

VPC の中にパブリックサブネットとプライベートサブネットを作ります。インターネットゲートウェイとルートテーブルを使って、片方はインターネットにつながり、もう片方はつながらないという違いを自分の手で構成します。

VPC サブネット インターネットゲートウェイ ルートテーブル
はじめる →
● Lv.3 ⏱ 45 〜 60 分

別々の VPC を
安全につなぐ

CIDR の異なる 2 つの VPC を VPC ピアリングでつなぎ、それぞれ独立したまま、許可した範囲だけプライベート IP アドレスで直接通信できる状態を作って確かめます。

VPC VPC ピアリング ルートテーブル セキュリティグループ
はじめる →
● Lv.3 ⏱ 50 〜 70 分

プライベートのサーバーが
外だけに出られる道を作る

外から直接アクセスできないプライベートサブネットのサーバーに、NAT ゲートウェイで外向きの通信だけを許します。インターネットゲートウェイとの違いを、踏み台サーバー経由の SSH で実際に確かめます。

VPC NAT ゲートウェイ プライベートサブネット ルートテーブル
はじめる →
● Lv.3 ⏱ 50 〜 70 分

NAT の仕組みを、
自分の手で組み立てる

マネージドサービスの NAT ゲートウェイを使わず、ふつうの EC2 に設定を施して「NAT インスタンス」を自分の手で組み立てます。IP フォワーディングと送信元/送信先チェックの無効化を、実際に設定して体感します。

EC2 NAT インスタンス IP フォワーディング
はじめる →
● Lv.3 ⏱ 50 〜 70 分

外に出ずに
S3 へアクセスする道を作る

インターネットへの経路を持たないプライベートサブネットの EC2 から S3 にアクセスできない状態をまず確認し、VPC ゲートウェイ型エンドポイントを追加することで、外を経由せずに S3 へアクセスできる状態に変えます。

VPC S3 ゲートウェイ型エンドポイント Session Manager
はじめる →

コンピュート(EC2)

全 11 件
● Lv.1 ⏱ 30 〜 50 分

クラウド上にサーバーを
1 台立てて中に入る

仮想サーバーサービス「EC2」で Amazon Linux のサーバーを 1 台起動します。鍵(キーペア)を作り、自分のパソコンのターミナルから SSH でログインして、クラウドの中に自分のサーバーがある状態を体感します。

EC2 キーペア SSH セキュリティグループ
はじめる →
● Lv.2 ⏱ 30 〜 50 分

起動と同時に Web サーバーが
動くサーバーを作る

EC2 の「ユーザーデータ」に数行のスクリプトを書いておき、起動した瞬間から Apache Web サーバーが動いている状態を作ります。サーバーにログインせず、ブラウザでアクセスすると自分のページが表示されるところまでを体験します。

EC2 ユーザーデータ Apache セキュリティグループ
はじめる →
● Lv.2 ⏱ 30 〜 50 分

再起動しても変わらない
IP アドレスをサーバーに付ける

EC2 のパブリック IP は停止・起動のたびに変わってしまいます。Elastic IP アドレスを取得して関連付け、何度再起動しても同じアドレスでアクセスできる状態を作ります。固定の便利さと、放置すると課金される注意点の両方を体験します。

EC2 Elastic IP パブリック IP コスト
はじめる →
● Lv.2 ⏱ 40 〜 60 分

設定済みのサーバーを
まるごと複製する

セットアップ済みの EC2 からカスタム AMI(自分専用のイメージ)を作り、そこから新しいサーバーを起動します。何も入れ直していないのに同じ状態のサーバーが立ち上がる、「完成状態を焼き込んで複製する」やり方を体験します。

EC2 AMI スナップショット 複製
はじめる →
● Lv.2 ⏱ 40 〜 60 分

ディスクが足りなくなったので、
後から大きくする

EC2 にアタッチされたディスク(EBS ボリューム)の空き容量が足りなくなった状態をあえて作り、コンソールでサイズを拡張したうえで、サーバーの中でパーティションとファイルシステムを広げて使える容量を増やします。

EC2 EBS ボリューム拡張 ファイルシステム
はじめる →
● Lv.2 ⏱ 30 〜 45 分

サーバーの性能を、
後から変える

起動済みの EC2 インスタンスを「停止 → インスタンスタイプを変更 → 起動」の手順でスペックアップします。コンソールの表示だけでなく、サーバーの中のコマンドでも CPU・メモリの変化を確かめます。

EC2 インスタンスタイプ 垂直スケーリング
はじめる →
● Lv.2 ⏱ 20 〜 35 分

同じサーバーを、
もっと安く借りる

EC2 の購入オプションから「スポットインスタンス」を選んで起動し、オンデマンドとの価格差を確認します。AWS の余剰キャパシティを安く借りられる仕組みと、短い通知で中断される可能性がある特徴の両方を体験します。

EC2 スポットインスタンス コスト
はじめる →
● Lv.3 ⏱ 60 〜 90 分

2 台のサーバーへ
アクセスを振り分ける

同じ内容の Web サーバーを 2 台用意し、その前に Application Load Balancer を置いてアクセスを自動で振り分けます。1 つのアドレスへのアクセスを複数台で分担し、1 台が止まっても表示が続く仕組みを組み立てます。

EC2 ALB ターゲットグループ アベイラビリティーゾーン
はじめる →
● Lv.3 ⏱ 50 〜 70 分

振り分ける仕組みを、
自分の手で組み立てる

マネージドサービスのロードバランサーを使わず、EC2 に nginx を入れて「振り分ける仕組み」を自分の手で組み立てます。複数サーバーへの振り分けと、調子の悪いサーバーを自動的に避ける挙動を設定ファイルで体感します。

EC2 nginx リバースプロキシ
はじめる →
● Lv.3 ⏱ 60 〜 90 分

Windows サーバーで
ファイルを共有する

2 台の Windows Server EC2 インスタンスを用意し、片方に追加したディスクを共有フォルダにして、もう片方からネットワーク越しにアクセスします。セキュリティグループ同士の参照で、共有先を限定する考え方も体験します。

EC2 Windows Server ファイル共有 セキュリティグループ
はじめる →
● Lv.4 ⏱ 70 〜 100 分

混雑に合わせてサーバーの
台数を自動で増減させる

サーバーの設計図(起動テンプレート)をもとに、Auto Scaling で台数を自動管理します。常に決めた台数を保ち、1 台が壊れれば自動で立て直し、混雑すれば増やす。ロードバランサーと組み合わせ、人手なしで回る構成の完成形を作ります。

EC2 Auto Scaling 起動テンプレート ALB
はじめる →

ストレージ

全 6 件
● Lv.1 ⏱ 20 〜 40 分

クラウドにファイルを
保管する箱を作る

オブジェクトストレージ「S3」に、ファイルを入れる箱「バケット」を作ります。自分のパソコンからファイルをアップロード・ダウンロードして、クラウド上に自分のファイル置き場がある状態を体感する、S3 の最初の一歩です。

S3 バケット オブジェクト ストレージ
はじめる →
● Lv.2 ⏱ 30 〜 50 分

サーバーを立てずに
Web サイトを S3 で公開する

S3 バケットに HTML を置き、静的ウェブサイトホスティングを有効にして公開します。サーバーを 1 台も立てずにファイルを置くだけで Web サイトが見られるようになる手軽さと、公開設定(ブロック解除・バケットポリシー)の考え方を学びます。

S3 静的ホスティング バケットポリシー 公開設定
はじめる →
● Lv.2 ⏱ 30 〜 50 分

上書き・削除した
前のファイルを取り戻す

バージョニングを有効にすると、同じ名前で上書きしても古い内容が世代として残り、削除しても元に戻せます。うっかり上書き・うっかり削除からファイルを守る仕組みを、上書きと復元を繰り返して体感します。

S3 バージョニング 削除マーカー 復元
はじめる →
● Lv.2 ⏱ 30 〜 50 分

古いファイルを自動で
安く保管し、いずれ自動で消す

ライフサイクルルールで、時間がたったファイルを安いストレージクラスへ自動で移したり、決めた日数で自動削除したりする設定を組みます。手作業に頼らず保管コストを抑える、運用の入口を体験します。

S3 ライフサイクル ストレージクラス コスト最適化
はじめる →
● Lv.1 ⏱ 15 〜 25 分

保存するデータを、
自動で暗号化する

S3 バケットの「デフォルトの暗号化」を確認・変更し、何も指定せずアップロードしたオブジェクトが自動的に暗号化されることを確かめます。設定を変えても既存のファイルには影響しない、という性質も体感します。

S3 暗号化 SSE-S3 SSE-KMS
はじめる →
● Lv.3 ⏱ 50 〜 70 分

2 台のサーバーで
同じディスクを共有する

複数の EC2 から同時にマウントできる共有ストレージ「Amazon EFS」を作成し、2 台のサーバーから同じファイルシステムを読み書きします。1 台にしか付けられない EBS との違いを実際に確かめます。

EFS EC2 NFS 共有ストレージ
はじめる →

コンテンツ配信(CloudFront)

全 1 件
● Lv.3 ⏱ 50 〜 80 分

S3 を公開せずに、世界へ
速く Web サイトを届ける

非公開のままの S3 バケットをオリジンに CloudFront を立て、オリジンアクセスコントロールで CloudFront だけが中を読めるようにします。バケットは閉じたまま、HTTPS で世界中へ高速配信する安全な公開のかたちを組み立てます。

CloudFront S3 OAC HTTPS
はじめる →

監視(CloudWatch)

全 4 件
● Lv.1 ⏱ 15 〜 25 分

サーバーの調子を、
グラフでのぞいてみる

EC2 インスタンスが起動した瞬間から自動的に記録している CPU 使用率などの数値を、CloudWatch の画面で「探して、見る」だけのハンズオンです。何も作らず、すでにある記録を読み取るモニタリングの最初の一歩を体験します。

CloudWatch メトリクス EC2
はじめる →
● Lv.3 ⏱ 40 〜 60 分

サーバーの異常を
メールで知らせる仕組みを作る

EC2 の CPU 使用率を CloudWatch で見張り、決めた条件を超えたら SNS 経由で自動的にメールが届くようにします。画面を見続けなくても、異常があれば向こうから知らせてくれる監視と通知の基本を、実際にメールを受け取って確かめます。

CloudWatch アラーム SNS EC2
はじめる →
● Lv.2 ⏱ 30 〜 50 分

サーバーの状態を
グラフでひと目で見る

EC2 の CPU 使用率やネットワークなどの数値を CloudWatch ダッシュボードにグラフとして並べ、サーバーの調子を一枚の画面で見渡せるようにします。見たい指標をまとめて「自分専用の計器盤」を作る体験です。

CloudWatch ダッシュボード メトリクス EC2
はじめる →
● Lv.1 ⏱ 20 〜 35 分

プログラムの記録が、
どこに残っているかを知る

簡単な Lambda 関数を動かし、その実行記録が自動的に集まる CloudWatch Logs を読みます。ロググループ・ログストリームの構造と、フィルタでの検索方法を体感します。

CloudWatch Logs Lambda ロギング
はじめる →

アクセス管理(IAM)

全 3 件
● Lv.1 ⏱ 15 〜 30 分

権限を、グループで
まとめて配る

IAM ユーザーに 1 人ずつ権限を付けるのではなく、「グループ」を作って権限をまとめ、ユーザーをそのグループに入れることで権限を渡す管理方法を体験します。

IAM ユーザーグループ ポリシー
はじめる →
● Lv.1 ⏱ 25 〜 45 分

作業用ユーザーを作り、
二段階認証で守る

何でもできてしまう「ルートユーザー」はしまっておき、必要な権限だけを持つ「IAM ユーザー」を作って普段使いにします。さらに二段階認証(MFA)でログインを守る、AWS を安全に使い始めるための土台づくりです。

IAM ユーザー MFA セキュリティ
はじめる →
● Lv.3 ⏱ 40 〜 60 分

パスワードや鍵を埋め込まずに、
EC2 から S3 を読む

EC2 に「IAM ロール」を持たせると、アクセスキー(鍵)をどこにも書かずに S3 などを操作できます。鍵を埋め込む危うさを避けつつ、必要な権限だけを安全に渡す、実務で必ず使うロールの考え方を体験します。

IAM ロール EC2 S3
はじめる →

セキュリティ・ガバナンス

全 7 件
● Lv.1 ⏱ 15 〜 30 分

自分の操作が
記録されていることを確かめる

コンソールで行った操作が自動的に記録される CloudTrail の「イベント履歴」を使い、いつ・誰が・どこから操作したかを確認します。セットアップ不要で、最初から使える機能だけを使います。

CloudTrail イベント履歴 監査 ログ
はじめる →
● Lv.3 ⏱ 40 〜 60 分

脅威の検出結果を
自動でメールに届ける

脅威検出サービス GuardDuty を有効化し、検出結果を EventBridge と SNS で自動的にメール通知する仕組みを作ります。サンプル検出結果を使って、パイプライン全体の動作を安全に確かめます。

GuardDuty EventBridge SNS 脅威検出
はじめる →
● Lv.1 ⏱ 15 〜 30 分

設定値を、
コードに書かずに外側で管理する

Systems Manager の「パラメータストア」に、ふつうの文字列パラメータと、暗号化されたパラメータを作成します。コードの中に値を直接書き込まずに、外側で設定値を管理する考え方を体感します。

パラメータストア Systems Manager 暗号化
はじめる →
● Lv.2 ⏱ 25 〜 40 分

パスワードを、
コードに書かずに安全に持つ

Secrets Manager に、データベース認証情報を模したシークレットを保存し、コンソールから取得します。機密情報をコードや設定ファイルに直接書かずに扱う、基本の流れを体感します。

Secrets Manager シークレット セキュリティ
はじめる →
● Lv.2 ⏱ 35 〜 55 分

設定がいつ変わったかを
記録から確かめる

AWS Config を有効化し、特定のリソース(セキュリティグループ)だけを記録対象にします。設定を1つ変更し、「構成タイムライン」でその変化を遡って確認する体験をします。

AWS Config セキュリティグループ 構成管理
はじめる →
● Lv.2 ⏱ 40 〜 60 分

ネットワークの通信を、
ログで可視化する

VPC に「フローログ」を有効化し、CloudWatch Logs へ通信の記録を送ります。実際に EC2 への通信を発生させ、許可された通信と拒否された通信がどう記録されるかを確かめます。

VPC フローログ CloudWatch Logs EC2
はじめる →
● Lv.3 ⏱ 50 〜 70 分

鍵もポートも開けずに、
サーバーの中に入る

Systems Manager の Session Manager を使い、SSH の鍵ファイルもポート開放も使わずに EC2 の中に入ります。プライベートサブネットのサーバーを、外からの接続を一切受け付けないまま管理する仕組みを体験します。

Systems Manager Session Manager EC2 VPC エンドポイント
はじめる →

コスト管理

全 1 件
● Lv.1 ⏱ 15 〜 25 分

使った金額が、しきい値を
超えたら教えてもらう

AWS Budgets で予算のしきい値を設定し、使用額がそこに近づいたらメールで知らせてくれる仕組みを作ります。何もリソースを立てず、コンソールの設定だけで「使いすぎに気づける」安心材料を用意します。

Budgets 請求アラート コスト管理
はじめる →

サーバーレス(Lambda)

全 6 件
● Lv.1 ⏱ 20 〜 40 分

サーバーを持たずに、
はじめてのプログラムを動かす

サーバーの用意も管理もせずにプログラムを動かせる「Lambda」を使います。コンソールの中で Python のかんたんな関数を作り、ボタンひとつで実行して結果が返るまでを体験。コードは 1 行ずつ言葉で説明するので、プログラミングがはじめてでも進められます。

Lambda Python サーバーレス はじめて
はじめる →
● Lv.2 ⏱ 30 〜 50 分

ブラウザからアクセスすると
動くプログラムを作る

Lambda 関数に「関数 URL」という Web 用の住所を付け、ブラウザでその URL を開くと関数が動き、その場で作ったページが表示されるようにします。サーバーを立てずに、URL ひとつで動く小さな Web ページを公開する体験です。

Lambda Python 関数 URL HTTPS
はじめる →
● Lv.2 ⏱ 40 〜 60 分

ファイルが置かれたら
自動でプログラムが動く

S3 にファイルがアップロードされた瞬間に Lambda が自動で動く仕組みを作ります。ボタンを押さなくても、出来事をきっかけにプログラムが走る「イベント駆動」という自動化の基本を体験します。コードは 1 行ずつ説明します。

Lambda Python S3 トリガー イベント駆動
はじめる →
● Lv.2 ⏱ 30 〜 50 分

決まった間隔で
プログラムを自動実行する

EventBridge スケジューラーで、Lambda 関数を「決まった間隔で」自動実行します。ボタンも外からのアクセスも要らず、時間が来たら勝手に動く「定期実行」を、ログで動いた証拠を見ながら体験します。コードは 1 行ずつ説明します。

Lambda EventBridge 定期実行 Python
はじめる →
● Lv.3 ⏱ 40 〜 60 分

URL にアクセスすると
データが返る「API」を作る

API Gateway を Lambda の前に置き、URL にアクセスするとデータ(JSON)が返ってくる API を作ります。アプリどうしがやり取りするときの定番のかたちを、サーバーを立てずに用意する体験です。コードは 1 行ずつ説明します。

API Gateway Lambda API Python
はじめる →
● Lv.3 ⏱ 40 〜 60 分

受け取ったデータを
データベースに保存する

Lambda 関数から、サーバーレスのデータベース「DynamoDB」にデータを書き込みます。受け取った内容を貯めて、あとから見返せる「保存」のいちばん基本を、サーバーを立てずに体験します。コードは 1 行ずつ説明します。

Lambda DynamoDB 保存 Python
はじめる →

メッセージング・統合

全 2 件
● Lv.1 ⏱ 15 〜 30 分

通知の宛先を、
まとめて1か所に登録する

SNS でトピックを作り、メールアドレスを宛先として登録します。コンソールからメッセージを発行すると、登録した宛先へ自動的に配信される——通知の基本のかたちを体験します。

SNS トピック 通知
はじめる →
● Lv.1 ⏱ 15 〜 30 分

メッセージをキューに溜めて、
自分のペースで受け取る

SQS でキューを1つ作り、メッセージを送信したあと、別の操作として受信・削除します。送信と受信のタイミングがずれても成立する「非同期処理」の基本を体感します。

SQS キュー 非同期処理
はじめる →

機械学習

全 2 件
● Lv.1 ⏱ 10 〜 20 分

文章を、その場で
別の言語に変える

機械翻訳サービス「Amazon Translate」のコンソールに文章を入力するだけで、別の言語に翻訳された結果がその場で表示される様子を体験します。設定もサーバーも不要です。

Translate 機械翻訳 AI
はじめる →
● Lv.1 ⏱ 10 〜 20 分

写真に何が写っているかを、
AI に当ててもらう

画像認識サービス「Amazon Rekognition」に画像をアップロードするだけで、写っている物体やシーンを自動的に検出し、ラベルと確信度で表示します。モデルの学習は不要です。

Rekognition 画像認識 AI
はじめる →

インフラのコード化(IaC)

全 1 件
● Lv.2 ⏱ 30 〜 50 分

テンプレートから、
はじめてリソースを作る

「設計図」にあたるテンプレートをもとに、CloudFormation で S3 バケットを1つ作成します。コンソールをクリックする代わりに、テキストで書いた内容どおりにリソースが作られる体験をします。

CloudFormation テンプレート IaC
はじめる →

データベース(DynamoDB)

全 4 件
● Lv.1 ⏱ 20 〜 35 分

キーで探せる箱に、
データを出し入れする

フルマネージドのデータベース「DynamoDB」にテーブルを1つ作り、コンソールから項目を追加・取得・更新・削除します。「キーで直接探す」というDynamoDBの基本のかたちを体感します。

DynamoDB テーブル NoSQL
はじめる →
● Lv.2 ⏱ 30 〜 50 分

1つのキーの下に、
複数のデータを並べて持つ

DynamoDB テーブルにパーティションキーとソートキーの複合キーを設定し、1人のユーザーの複数の注文履歴を保存します。Query 操作で効率よく絞り込んで取得する体験をします。

DynamoDB ソートキー Query
はじめる →
● Lv.2 ⏱ 30 〜 45 分

期限が来たデータを、
自分で消さずに任せる

DynamoDB の TTL(有効期限)機能を使い、一時的なデータに有効期限を設定します。期限が過ぎた項目が、削除の操作をしなくても自動的に消えていく様子を確認します。

DynamoDB TTL 自動削除
はじめる →
● Lv.3 ⏱ 40 〜 60 分

テーブルの変更を、
リアルタイムできっかけにする

DynamoDB の Streams を有効化し、テーブルへの変更をリアルタイムに検知して Lambda を自動起動します。データの変化そのものをきっかけに動く、イベント駆動の仕組みを体験します。

DynamoDB Streams Lambda イベント駆動
はじめる →

データベース(RDS)

全 5 件
● Lv.2 ⏱ 40 〜 60 分

表と主キーで、
データを SQL から操作する

RDS で MySQL のインスタンスを作り、表(テーブル)に行を追加・検索・更新・削除する基本の SQL 操作をひととおり体験します。主キーや列の型など、リレーショナルデータベースの考え方の土台を身につけます。

RDS MySQL SQL
はじめる →
● Lv.3 ⏱ 60 〜 90 分

データベースを、
外から隠したまま使う

RDS で MySQL のインスタンスをプライベートサブネットに作り、同じ VPC 内の EC2 から接続して SQL を実行します。データベースをインターネットに直接さらさずに使う、実務でも基本となる構成を体験します。

RDS MySQL EC2 プライベートサブネット
はじめる →
● Lv.4 ⏱ 50 〜 70 分

データベースの片方が
落ちても、止めない

RDS の Multi-AZ 配置で、別のアベイラビリティーゾーンに待機系のデータベースを持たせます。手動でフェイルオーバーを起こし、接続先が裏側で切り替わる間に何が起きるかを実際に確かめます。

RDS Multi-AZ フェイルオーバー 高可用性
はじめる →
● Lv.4 ⏱ 50 〜 70 分

読み取りだけを、
別のデータベースに分担させる

RDS の「リードレプリカ」を作成し、書き込みは元のデータベース、読み取りはレプリカという分担を体験します。書き込んだ内容が少し時間をおいてレプリカ側にも反映される様子を確認します。

RDS リードレプリカ 負荷分散
はじめる →
● Lv.4 ⏱ 50 〜 70 分

ある時点の状態に、
データベースを戻す

RDS のスナップショットを手動で取得し、そこから新しい DB インスタンスを復元します。「今の状態を保存し、必要になったらその時点に戻す」というバックアップ運用の基本を体験します。

RDS スナップショット バックアップ 復元
はじめる →

統合キャップストーン

全 1 件
● Lv.5 ⏱ 120 〜 180 分

3層構成で、本番を想定した
Web サービスを組み立てる

ALB・Auto Scaling・RDS の Multi-AZ 配置・S3・Secrets Manager・CloudWatch・SNS を組み合わせ、これまで個別に学んだ要素を「ひとつの本番想定の構成」としてまとめます。障害が起きても気づける監視体制まで含めた、実務に近い Web サービスの土台を組み立てます。

ALB Auto Scaling RDS Multi-AZ S3 Secrets Manager
はじめる →