11 チャプター
82 課題

コース概要

AWS実践コースは、AWS基礎コースで構築した内容をさらに発展させ、商用利用レベルの構成に引き上げていくことを目的としています。

たとえば、踏み台サーバーを構築し、ローカル環境からポートフォワーディングでRDSへ接続し、データベースの中身を可視化しながら設計・検証を進める流れを体験します。

加えて、ECSタスクを単発実行し、DBマイグレーションを安全に適用する基盤も構築していきます。EventBridge Schedulerによる定期バッチ処理や、SESを活用したメール配信、SQSを使った非同期処理の実装など、実務でよく使う構成も一通りカバーしています。

さらに、フロントエンド側の構築にも踏み込みます。AmplifyやS3、CloudFrontを用いて静的コンテンツ配信の基盤を整えていきます。バックエンド・フロントエンド問わず、AWS上での一連の構築力を鍛えます。

ECSに関しても、ただサービスを動かすだけでは終わりません。負荷に応じたオートスケーリングの設定、負荷試験による挙動の観察、さらにはFargate Spotの導入によるコスト削減まで。構築だけでなく運用・最適化の視点も養います。

終盤には「CloudFront深掘り道場」と題し、私自身が実務で培った知見をもとにした高難度な設計課題を用意。CloudFrontを単なるCDNではなく、強力な配信制御プラットフォームとして活用できるレベルに引き上げます。

そして最後には、自分で構成図を書き、動画解説を参考にしながらアウトプットにまとめるセクションも用意しました。単に構築できるだけでなく、構成を人に説明してチームを牽引するレベルまでサポートします。

全体としてかなりのボリュームですが、「このコースを終えたことで、AWSに対する自信が一気に湧いた」という声を多数いただいています。実務を想定したリアルな構成を自力で組み上げたい方には、最適なチャレンジになるはずです。

学習ポイント

  • 踏み台サーバー構築 & ポートフォワーディングによるRDS接続
  • ECSタスク単発実行によるDBマイグレーション基盤
  • EventBridge Scheduler / SES / SQS を使った実務構成
  • Amplify / S3 / CloudFront によるフロントエンド配信
  • ECSオートスケーリング & Fargate Spot でコスト最適化
  • CloudFront深掘り道場(高難度設計課題)
  • 構成図作成 & アウトプットによる説明力の養成

構成図

AWS 実践コース 構成図
Ch.01 AWS 実践コースのオンボーディング
01 【動画】AWS 実践コースで構築する内容の全体像を知る
02 slack-metrics-clientリポジトリへの招待を依頼しておこう
Ch.02 踏み台サーバを構築してRDS内のデータをローカル環境から見れるようにする
01 【動画】踏み台サーバ構築の背景と全体像を知る
02 踏み台サーバ用のIAMロールを作成する
03 踏み台サーバ用のセキュリティグループを作成する
04 踏み台サーバに影響のあるセキュリティグループを更新する
05 踏み台サーバ用のEC2インスタンスを作成する
06 踏み台サーバ内からpsqlコマンドでRDSインスタンスに接続する
07 ローカル環境からポートフォワーディングを行い、TablePlusからstg DBを見る
08 【最終理解度チェック】Session Managerのメリットについて整理しよう
Ch.03 DBマイグレーション実行基盤を構築してDBにデータを入れる
01 【動画】DBマイグレーション実行の全体像を理解する
02 db-migrator用のECRを作成し、Dockerイメージをpushする
03 db-migrator用のIAMロールを作成する
04 db-migrator用の環境変数設定ファイルを作成し、S3にアップロードする
05 db-migrator用のECSタスク定義を作成する
06 db-migrator用のセキュリティグループを作成する
07 db-migrator用のDBユーザーを作成する
08 ローカル環境からAWS CLIでECSタスク db-migrator-stgを実行する
09 slack-metrics用のDBユーザーのパスワードを更新し、Secrets Managerに登録する
10 slack-metrics-apiからDBに接続するユーザーを変更する
11 【チャレンジ】DBマイグレーションを通しでやってみよう
Ch.04 ECS深掘り道場
01 【非推奨】ECSサービスなしでAPIサーバを作ってみる
02 【非推奨】ECSサービス配下でバッチ処理を単発実行してみる。
03 ECSサービスでオートスケーリングを設定する
04 Fargate Spotを活用してコスト削減を図る
Ch.05 EventBridgeによるバッチ処理の実行基盤を構築する
01 【動画】ECSでバッチ処理を実現する手札を知る
02 【動画】EventBridge SchedulerによりECSタスクを実行する全体像を知る
03 バッチ処理 sync-workspaces のソースコードを読んでみよう
04 【動画】ローカル環境でバッチ処理を実行してみる
05 【動画】タスク定義を新規で作成するか、既存を上書きして使い回すか
06 バッチ処理用のECSタスク定義を作成する
07 【深掘り課題】環境変数 MODE=batchについては、ECSタスク定義にベタ書きで環境変数を設定した理由
08 AWS CLIでバッチ処理を実行する
09 【動画】EventBridge Schedulerを作成する
10 【動画】バッチ処理の動作確認を行う
11 【リファクタ】EventBridge Scheduler用のIAMをリファクタリングする
12 【深掘り課題】IAMのPassRoleについて理解する
13 【チャレンジ】バッチ処理 sync-users を実行するEventBridge Schedulerを構築する
14 【おまけ】EventBridge Schedulerでコスト削減を図る
Ch.06 SQSによる非同期処理の実行基盤を構築する
01 【動画】非同期処理を実現する手札を知る
02 非同期処理のソースコードを理解する
03 SQSを標準キューで作成する
04 ローカル環境からAWS上のSQSに対してメッセージを送る
05 AWS上のSQSメッセージをローカル環境からポーリングする
06 ローカル環境にて、メッセージの送受信を通して確認する
07 【深掘り】グレースフルシャットダウンの概念を理解する
08 デッドレターキューを作成する
09 【動画】ECSのコンテナ設計パターンを知る
10 stg環境にデプロイする
Ch.07 SESによるメール配信基盤を構築する
01 【記事】メールサーバ、SESについて入門記事を読む
02 【知識定着】 DKIM、SPF、DMARCの役割と重要性について
03 【動画】AWS上でSESを構築する
04 ローカル環境からSESに対してメールを送信する
05 【Tips】ECS Execを使って、コンテナの中からコマンドを実行する
06 stg環境にてSESの動作確認を行う
Ch.08 CloudFront + S3による静的コンテンツの配信基盤を構築する
01 【全体像を知る】CloudFront + S3による静的コンテンツの配信基盤を構築する
02 静的ファイルを管理するS3を作成する
03 CloudFrontにつけるhttps証明書を取得する
04 【動画】CloudFrontディストリビューションを作成する
05 OACを有効にするため、S3のバケットポリシーを更新する
06 静的コンテンツにカスタムドメインでアクセスできるようにする
07 【コラム】CloudFront からS3への繋ぎこみで403エラーが返ってきたらNot Foundを疑え
Ch.09 Amplifyにフロントエンドのアプリケーションをデプロイする
01 フロントエンドアプリケーションを構築する手札を知る
02 GitHub slack-mertics-clientリポジトリをforkする
03 【動画】Amplifyを作成する
04 Amplifyに付与したサービスロールをリファクタする
05 【動画】CloudFrontを前段に置いてカスタムドメイン対応を行う
06 Amplify用にセキュリティの設定を行う
Ch.10 CloudFront深掘り道場
01 【動画】CloudFrontを制するものがAWSを制す
02 【動画】CloudFrontとALBの似ているところと違うところ
03 CloudFrontのキャッシュポリシーについて理解する
04 CDNのAPIキャッシュ問題:メルカリ事例から学ぶ重大インシデント防止策
05 画像をアップロードしても反映されない場合はCloudFrontのキャッシュを疑え!
06 CloudFrontのビューワーリクエストとオリジンリクエストの違いについて
07 Lambda@EdgeとCloudFront Functionの違いと使いわけについて理解する
08 静的コンテンツに閲覧制限をかけてと言われた時は署名付きCookie or Lambda@Edge がおすすめ
09 【動画】CloudFrontのビヘイビアによるリバースプロキシについて
10 CORSの設定は、CloudFront or オリジン(API、S3) どちらでやるのが正解なのか
11 CloudFrontのネットワーク転送料が高い時のコスト削減手段
Ch.11 AWS 実践コース ラップアップ編
01 【動画】AWS構成図を自由自在にかけるようになろう
02 【任意】Cloud Praticaで学習した内容を記事に書こう!
03 AWS 実践コースの最終課題を提出する

コース突破者の声

Y.S さん 受講完了

基礎コースの時も思いましたが、とにかく楽しすぎる。
何が楽しいとかどうでもいいくらい楽しい。

K.M さん 受講完了

全体を通して詰まるポイントもほとんどなく、スムーズに進められました。
課題同士のつながりが丁寧に設計されていて、進行に唐突さがない点がとても印象的でした。

S.Y さん 受講完了

非常に濃密なコースでした!
実践コースではシステムの全体像を考える力が身についた気がします。

A.T さん 受講完了

技術力が2〜3段階くらいアップしたと思います!
心血注いでコースを作っていただきまして、ありがとうございます!!

H.W さん 受講完了

いきなりこの構成を構築しろと言われても、おそらくできなかったが、一歩一歩進めていったことで、無事構築することができました!振り返れば、ここまでできるようになっていたと思うとすごい充実感に満たされました!