こんにちは。AWSのCloudFormationはとっても便利ですよね。
ただ、開発エンジニアの方だと実は使ったことないという方もいらっしゃると思います。
昨年、弊社でもそのような方向けにCloudFormationの社内ハンズオンを全3回で行いました。
今回はその内容や資料を公開します。
CloudFormationによるデプロイ自動化をテーマとしており、CodePipeline等の内容を含みます。
想定参加者
ハンズオン参加者の募集に際してはAWSのコンソールで作業できる方で、CloudFormationには触ったことがない方を想定しました。
使用する環境
AWSのほか、GitHub、Dockerを使用します。
以降の進め方
- CloudFormation概要
- 構築する対象の概要
- AWS CodePipelineのGitHubへの接続
- CloudFormationテンプレートの実行:テンプレートの編集
- CloudFormationテンプレートの実行①:VPCの構築
- CloudFormationテンプレートの実行②:ECR+ECSの設定
- CloudFormationテンプレートの実行③:IAMの構築
- CloudFormationテンプレートの実行④:自動デプロイの構築
- 自動デプロイの動作確認
- Cfnで構築したリソース(スタック)の削除
- 卒業試験の案内
それでは早速はじめていきましょう。
CloudFormationの概要
ハンズオン冒頭で、まずCloudFormationの概要を学ぼうということで
YouTubeの力を借りました。
構築する対象の概要
バージョン管理システムからAWS環境にアプリケーションを自動デプロイします。
- バージョン管理システムには「GitHub」を使用
- アプリケーションはDocker上で起動している「apache」
自動デプロイのフロー
- GitHubの指定ブランチにプッシュが行われたことをトリガーとしてCodePipelineが実行されます。
- CodePipelineはソースコードやビルド成果物をS3に配置します。
- CodePipelineとECSが連携し、fargateにデプロイを行います。
インフラ構成図
GitHubへの接続
-
AWSマネジメントコンソールを表示し、CodePipelineへ移動
-
左ペインのメニューより [設定] > [接続] をクリック
-
プロバイダーに「GitHub」を選択
-
ここで「AWS Connector for GitHub by Amazon Web Services would like permission to:」が表示された場合は、「Authorize AWS Connector for GitHub」をクリックします。
今回はここまでです。次回からはいよいよCloudFormationを使って環境を構築していきます。
次回:[社内勉強会資料] CloudFormationで構築する自動デプロイ環境 ~ 2/6