18 チャプター
78 課題

コース概要

AWS 基礎コースでは、まずゼロからのスタートとして、AWSアカウントの作成を行います。マルチアカウント構成を前提とし、環境ごとにアカウントを分離しながら、すべてをAWS Organizations配下に整理していきます。

次に、AWS IAM Identity Centerを用いて、各アカウントにシングルサインオンできる構成を設計します。さらに、IAMスイッチロールの仕組みについても学習し、Cloud PraticaのAWSアカウントへのスイッチ操作や、講師が受講生のアカウントへアクセスできる動線を整えていきます。

その後、VPC、サブネット、インターネットゲートウェイ、NATゲートウェイといったネットワークまわりの構築を一通り行い、最終的には ECS+RDS構成で簡単なヘルスチェックが通る状態を目標に、実践的なインフラ構築を進めていきます。

学習ポイント

  • AWSリソースの命名規則
  • ECSをプライベートサブネットで動かすセキュアな構成
  • セキュリティグループの配置戦略
  • IAMの最小権限設計の徹底
  • 環境変数の管理:S3とSecrets Managerの使い分け
  • ACM(証明書)によるHTTPS対応
  • DNS委任設定によるマルチアカウントでのドメイン管理の分離

構成図

AWS 基礎コース 構成図
Ch.01 AWS基礎コースのオンボーディング
01 Cloud Praticaオンボーディング対応
02 Cloud Pratica専用LLM「KIRARA Q」を使ってみよう
03 りょうまが愛用している生産性爆上げツール
04 GitHubリポジトリ cloud-pratica-backend に参加する
05 質問用課題
Ch.02 AWS にデプロイするアプリケーションをローカル環境で動かしてみる
01 ローカル環境構築の全体像を知る
02 【動画】db-migratorの運用手順について理解する
03 TablePlusをインストールする
04 slack-metrics DBのマイグレーションを実行してテーブルを作成する
05 slack-metrics DBのrestoreを実行して、seedデータを作成する
06 [nice to have] DBマイグレーションの運用方法について理解する
07 slack-metricsの環境構築を行う
Ch.03 AWSの構成図を見て構築する内容を把握する
01 【動画】AWS基礎コースで構築する内容を理解する
Ch.04 AWSアカウント作成と初期設定
01 AWSリソースの命名規則について理解する
02 【動画】AWSのルートアカウントを作成する
03 【動画】AWS Orgazationsを有効化し、メンバーアカウント(stg, prd) を作成する
04 【動画】IAM Identity Centerを使ってSSOを実現する
05 管理アカウントに対してIdentity CenterのユーザーからSSOできるようにする
06 Identity Centerの操作権限をメンバーアカウントに委任する
Ch.05 IAMスイッチロールを設定する
01 【動画】IAMスイッチロールとIAM Identity Centerの違いについて知る
02 IAMスイッチロールを設定し、Cloud Praticaのstgアカウントにログインする
03 IAMスイッチロールを設定し、自分のアカウントに講師をログインさせる
Ch.06 AWS CLIのセットアップ
01 Terraform用のIAMユーザーを作成
02 AWS CLIをセットアップ
Ch.07 VPCとネットワーク構築
01 【記事】VPCとネットワーク構築について全体像を把握する
02 VPCとサブネットのネットワーク設計を理解しよう
03 VPCを作成する
04 サブネットを作成する
05 インターネットゲートウェイを作成する
06 【動画】NAT ゲートウェイを作成する
07 プライベートサブネットにルートテーブルを配置する
08 パブリックサブネットにルートテーブルを配置する
09 【動画】【重要!】セキュリティグループの配置戦略について理解する
10 【必修】AWSリソースへのアクセスには表門と裏門があるという話
Ch.08 データベース(RDS)の構築
01 データベース用のセキュリティグループを作成
02 DB サブネットグループを作成
03 パラメータグループを作成
04 RDSインスタンスを作成
Ch.09 環境変数を設定するS3、Secrets Managerを作成
01 非機密な環境変数を設定するS3を作成
02 機密な環境変数を管理するSecrets Managerを作成
Ch.10 ECRへDockerイメージをpushする基盤の構築
01 【動画】Makefileについて理解する
02 ECRを作成
03 Makeコマンドを使ってDockerログイン、build、ECRへpushをしてみる
04 【コラム】ECRレポジトリの運用でのやらかし
05 【コラム】imageタグを固定にすると何が嬉しいのか。そして、その嬉しいタグ固定を捨ててまで、なぜimmutable(上書き不可) にしないといけないのか
Ch.11 ECSクラスター、タスク定義の作成
01 【動画】ECSクラスター、サービス、タスク、タスク定義、コンテナについて理解する
02 ECSクラスターを作成する
03 DB、ALB、ECSサービス用のセキュリティグループを作成、整理する
04 【動画】ECSタスク実行ロールとECSタスクロールの違いについて理解する
05 ECSタスク起動用のIAMロールを作成する
06 ECSタスク用のIAMロールを作成する
07 【動画】ECSタスク定義を作成する
Ch.12 ECSサービス作成
01 【動画】ECSサービスを作成する
02 AWS Cost CutterでAWSコストの削減を図る
Ch.13 Route 53によるドメインの取得、登録
01 DNS 徹底解説
02 Route 53でドメインを取得する
03 【動画】DNS委任設定によるサブドメイン移管の重要性について理解する
04 stgアカウントにサブドメイン用のホストゾーンを作成する
05 prdアカウント → stgアカウントにDNS委任設定を行う
Ch.14 Certificate Managerによるhttps証明書の取得
01 Certificate Managerにより、prd環境用ドメインのhttps証明書を取得する
02 Certificate Managerにより、stg環境用サブドメインのhttps証明書を取得する
Ch.15 ロードバランサー(ALB)の作成とhttps化
01 【動画】ALBの全体像を理解する
02 ターゲットグループを作成する
03 【動画】ALBを作成する
04 Route 53にAPIのサブドメインを登録してALBと紐づける
Ch.16 ALB → ECSサービス → ECSタスク → Go APIコンテナの繋ぎ込み
01 ALBとECSサービスを紐づける
Ch.17 NATゲートウェイからNATインスタンスへリプレースしてコスト削減を行う
01 【全体像を知る】NATインスタンスを作成してコスト削減を図る
02 NATインスタンス用のセキュリティグループを作成する
03 NATインスタンス用のIAMロールを作成する
04 NATインスタンス用のEC2を作成する
05 なぜEC2にIAMロールをつける際は、IAMインスタンスプロフィールという名前になっているのか?
06 EC2にてNATの設定を行う
07 NATインスタンスに静的IPを紐づける重要性と手順について知る
08 プライベートサブネット用のルートテーブルの外部通信ルートをNATゲートウェイからNATインスタンスへ切り替える
09 【疎通確認】API用のECSタスクが正常に起動するか確認する
10 NATゲートウェイをお掃除する
Ch.18 AWS Cost Cutterでコスト削減を行う
01 AWS Cost Cutterのシェルスクリプトにより簡単に起動・停止を行う
02 EventBridge SchedulerによりEC2、RDS、ECSのコスト削減を図る

コース突破者の声

T.K さん 受講完了

まだ1コース目ですが、「え、もう元は取れてない?」と若干ソワソワするくらい手応えと充実感があります。
「基礎コースだから」と軽い気持ちでやってみたら「質の高いAWSリソース構築って、こんなに細かい気遣いの総合格闘技なんだ…!」と、嬉しい誤算でテンションが爆上がりしました。
個別ハンズオンだとどうしてもサービス単体の筋トレになりがちで、リソース同士のつながりや、システムとしてどう息をしているのかが見えづらいんですよね…。

S.Y さん 受講完了

課題の切り分けが絶妙で、課題をクリアしていく楽しさがあり、後半になるにつれて課題も少し難しくなっていきましたが特に詰まることなく楽しく基礎を構築する経験をつけられたと思います。
SAAの資格をとりベストプラクティスなアーキテクチャはざっくり知識としてあったのでS3に環境変数管理、Secrets ManagerやACMを管理する体験をできたのは「進研ゼミでやったとこだ!」状態で楽しかったです。
特に複数アカウント運用が楽で感動しました。実務での実際の運用方法も経験しないとわからなかったと思うので非常にためになりました。
命名なども考えられており、SGを選択するときやサブネットを選ぶ時などもわかりやすく美しいなと感動しました。(当たり前なのかもしれませんが)

M.H さん 受講完了

AWS基礎コースの内容自体は、もともと知っていることが大半でしたが、数年ぶりにAWSを触ったこともあり、改めて知識を整理できたのがとても良かったです。断片的に覚えていた内容が体系的につながり、理解がより深まりました。

R.N さん 受講完了

この講座は、「AWSについてどこから始めればいいのかわからない」「結局AWSで何ができるのかわからない」といった基本的な悩みを、根本から解決してくれる内容だったと感じました。

Y.S さん 受講完了

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