
コンテナのデバッグ用途として必要な知識として、コンテナへのリモートログインの方法と、コンテナ内でのファイル内容確認等の手順を習得することができます。
次のレクチャー「コンテナイメージのECR登録」内で、以下コマンドで、ECR登録前にコンテナイメージ作成を行っています。(7:18前後)
docker build -t XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/ctn-cicd-hdon-repo:0.0.1 .
本コマンドでコンテナイメージ作成はできるが、後続のレクチャーにて、作成したイメージを元にデプロイができない事象が報告されています。正常にデプロイできるようにするため、以下の通りコマンド内のタグ名「0.0.1」を、「latest」に変更し、コンテナイメージ作成を行ってください。
docker build -t XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/ctn-cicd-hdon-repo:latest .
ご参考までに、デプロイに使用するコンテナイメージの名称について、AWSユーザーガイドのリンクを添付します。<参考:Amazon ECS タスク定義での Amazon ECR イメージの指定>
https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/ECR_on_ECS.html
ECS環境構築を行う上で必要な基礎知識である「タスク」、「タスク定義」、「サービス」、「クラスター」の各構成要素の概要と関連性を理解することができます。
実際にECS上でコンテナを動作させることにより、簡単に自動復旧ができることを体感し、学んだ理論を腹落ちさせることができます。
実際にECS上でコンテナを動作させることにより、簡単にスケールアウトができることを体感し、学んだ理論を腹落ちさせることができます。
CodePipelineの各ステージ(ソースステージ、ビルドステージ、デプロイステージ)の入出力データと、各データがなぜ必要かを理解することで、実践的なCodePipelineの設定方法が学べます。
デプロイステージの設定時にありがちなミス(IAMサービスロールの設定漏れ等)とエラー解消のステップも含めてハンズオンで実施することで、より実践的なパイプライン作成方法を身に付けることができます。
CI・CDパイプラインの実行時にありがちなエラー(ビルド定義ファイルのコマンド誤り等)とエラー解消のステップも含めてハンズオンで実施することで、より実践的なパイプライン実行方法を身に付けることができます。
実際にCI・CDパイプラインを流し、Blue/Greenデプロイメントを実行することにより、本デプロイメント手法のメリットを体感し、学んだ理論を腹落ちさせることができます。
<コースの概要>
本コースは前半の理論編でコンテナ、CI/CDの概要をご理解いただいた後、
後半の実践編でAWS上の環境を使用して数多くのハンズオンを実施することで、より理解が深まる構成となっております。
ハンズオンではAmazon ECSやAWS Code Pipeline等のサービスを通じて、Dockerコンテナ作成やコンテナ自動復旧の方法、
CI/CDパイプライン構築方法やBlue/Greenデプロイメントの概念を実践的に学ぶことができます。
<他教材との違い>
本コースと他教材(書籍やYoutube動画教材等)との違いは以下の通りです。
・1本完結型コースであるためご自身でネット検索やマニュアル確認等を行う手間がかからない。
(例えば、AWSハンズオンを行うためのアカウント作成手順や、Blue/Greenデプロイの仕組み等全て込みのため
改めて自分で検索することなくご受講できます。)
・なぜコンテナが、なぜCI/CDパイプラインが必要なのか、なぜその手順で設定するのか等、
解説する技術や手順一つとってもその理由や背景を詳細に説明しているため途中で止まらずに受講できる。
・全レクチャー動画ダウンロード可能なため、場所を問わずどこからでも受講できる。
<コース受講後の姿>
本コース受講後には以下のスキルを自然と身に付けることができます。
・コンテナの概要と既存環境との違い、メリデメ、コンテナとオーケストレーション技術との関わりについて
自分の言葉で説明できるようになる
・CI/CDの概要と既存プロセスとの違い、メリデメについて自分の言葉で説明できるようになる
・Dockerコマンドを使用し自力でコンテナイメージの作成、コンテナ環境構築ができるようになる
・AWS各種サービス(AWS Code Pipeline、Amazon ECS等)を使用し自力でCI/CDパイプライン、
Blue/Greenデプロイメント環境構築ができるようになる
<コースの内容>
本コースの内容は以下の通りです。
コース概要
本コース受講にあたって
自己紹介
本コースのねらい
本コースの内容
コンテナ概要
システム開発・リリースの課題
コンテナの特徴
Docker概要
Dockerの運用
CI/CD概要
システム開発・リリースの課題
CI・CDの特徴
CI・CDのメリット・デメリット
AWSアカウント作成
AWS アカウントの作成
ハンズオン用IAMユーザの作成
コンテナ構築ハンズオン
AWSサービス紹介-コンテナ編-
コンテナ環境構成
コンテナイメージ作成のためのCloud9環境構築
コンテナイメージの作成と動作確認
コンテナ環境へのリモートログインと動作確認
コンテナイメージのECR登録
ECS環境構築-ECSの構成理解-
ECS環境構築-VPC作成-
ECS環境構築-クラスター・タスク定義作成-
ECS環境構築-サービス作成-
コンテナ動作確認その1-隔離性・可搬性・機動性の確認-
コンテナ動作確認その2-オーケストレーション(自動復旧)の確認-
コンテナ動作確認その3-オーケストレーション(スケールアウト)の確認-
CI/CD構築ハンズオン
AWSサービス紹介-CI・CD編-
CI・CD環境構成
事前準備その1-CodeCommitリポジトリ作成-
事前準備その2-ビルド定義・デプロイ定義・タスク定義作成-
事前準備その3-CodeBuild、CodeDeploy用IAMサービスロール作成-
事前準備その4-Blue・Greenデプロイ用サービス作成-
CodePipeline作成-ソースステージ編-
CodePipeline作成-ビルドステージ編-
CodePipeline作成-デプロイステージ編-
CI・CD初回実行確認
CI・CD動作確認その1-CI・CD自動デプロイメントの確認ー
CI・CD動作確認その2-オーケストレーション(Blue・Greenデプロイメント)の確認-
AWS構築環境削除
削除対象リソースの確認
削除対象リソースの削除
今後の学習について
今後の学習について
ボーナスレクチャー
ボーナスレクチャー
<変更履歴>
・2023/4/28: Q&A起因で「CI/CD構築ハンズオン」セクションに「次のレクチャー「事前準備その4-Blue・Greenデプロイ用サービス作成-」の補足」レクチャーを追加
・2023/6/5: Q&A起因で「CI/CD構築ハンズオン」セクションに「次のレクチャー「事前準備その3-CodeBuild、CodeDeploy用IAMサービスロール作成-」の補足」レクチャーを追加
・2023/8/28: Q&A起因で「コンテナ構築ハンズオン」セクションに「次のレクチャー「コンテナイメージのECR登録」の補足」レクチャーを追加
・2023/10/17: Q&A起因で「次のレクチャー「CodePipeline作成-デプロイステージ編-」の補足」レクチャーを追加
作成したIAMロールが表示されない場合の補足事項を追加
・2024/1/16: Q&A起因で「CI/CD構築ハンズオン」セクションの「次のレクチャー「事前準備その4-Blue・Greenデプロイ用サービス作成-」の補足」レクチャーに<補足②>「サービスの検出の統合の有効化」についての補足事項を追加
・2024/3/5: Q&A起因で「コンテナ構築ハンズオン」セクションの「次のレクチャー「ECS環境構築-クラスター・タスク定義作成-」の補足」レクチャーを追加
・2026/2/19: AWS Cloud9およびAWS CodeCommitの新規利用停止に伴い、以下の補足レクチャーを追加
- 「コンテナ構築ハンズオン」セクションに「【補足】Cloud9の代替:ローカル環境セットアップガイド」レクチャーを追加
- 「CI/CD構築ハンズオン」セクションに「【補足】CodeCommitの代替:GitHubを使ったCI/CDパイプライン構築ガイド」レクチャーを追加