8
6

More than 1 year has passed since last update.

[社内勉強会資料] CloudFormationで構築する自動デプロイ環境 ~ 1/6

Last updated at Posted at 2022-08-16

こんにちは。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にデプロイを行います。

インフラ構成図

deployment-automation-GitHub.drawio.png

GitHubへの接続

  • AWSマネジメントコンソールを表示し、CodePipelineへ移動

  • 左ペインのメニューより [設定] > [接続] をクリック

  • 右上の「接続を作成」ボタンをクリック
    image.png

  • プロバイダーに「GitHub」を選択

  • 接続名に「{プレフィックス}github」入力し、「GitHubに接続」ボタンをクリック
    image.png

  • ここで「AWS Connector for GitHub by Amazon Web Services would like permission to:」が表示された場合は、「Authorize AWS Connector for GitHub」をクリックします。

  • 「新しいアプリをインストールする」をクリック
    image.png

  • GitHubのアカウントまたはOrganizationをクリック
    image.png

  • 「接続」ボタンをクリック
    image.png

  • 接続一覧画面でステータスが「利用可能」になっている事を確認し、完了
    image.png

今回はここまでです。次回からはいよいよCloudFormationを使って環境を構築していきます。
次回:[社内勉強会資料] CloudFormationで構築する自動デプロイ環境 ~ 2/6

8
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6