Skip to content

Latest commit

 

History

History
85 lines (58 loc) · 5.2 KB

File metadata and controls

85 lines (58 loc) · 5.2 KB

本番ネットワークとデプロイパイプラインの構築

CloudFormationを用いて構築します。
https://ap-northeast-1.console.aws.amazon.com/cloudformation/home?region=ap-northeast-1#/

以下の手順では東京リージョンを利用していますが、どのリージョンでも構いません。

ネットワークの構築

network.ymlを用いてCloudFormationスタック(以後、CFnスタック)を作成します。

  1. 「新しいリソースを使用(標準)」

01

2. 「ファイルの選択」からnetwork.ymlをアップロードし「次へ」

02

3. 「スタックの名前」を入力し「次へ」

03

4. 何も変更せず「次へ」

04

5. 「AWS CloudFormationによってIAMリソースが〜」にチェックを入れて「スタックの作成」

05

5分〜10分程度で、3つのAZにまたがる本番を想定したネットワークが構築されます。

デプロイパイプラインの構築

deploypipeline.ymlを用いてCloudFormationスタックを作成します。手順はネットワークの構築と同様です。
1点。スタックの名前をつける画面で、network.ymlから作成したCFnスタックの名前を入力して下さい。

06

5分〜10分程度で、CodePipelineを用いたデプロイパイプラインが構築されます。

CIの準備と設定

CircleCIで利用する情報を取得し、masterブランチの内容を継続的にAWSへデリバリします。

CircleCIに設定する情報の取得

CircleCIで利用するために、S3 Bucket名とアクセスキーをメモします。

  1. deploypipeline.ymlから作成したCFnスタックを選択し「リソース」からS3BucketCodePipelineSourceの物理ID(以後、a)をメモ

07

  1. IAM Userの画面へ移動し、deploypipeline.ymlから作成したCFnスタックの名前で検索

08

  1. 「アクセスキーの作成」にて、新しいアクセスキーを作成し、アクセスキーID(以後、b)とシークレットアクセスキー(以後、c)をメモ

09

CircleCIの設定

ここから先はCircleCIで作業します。

  1. リポジトリの追加画面(※)からzozotechbook1-ch07-deploypipelineを「Set Up Project」
    (※)https://onboarding.circleci.com/project-dashboard/github/<リポジトリをforkしたユーザ名 or Org名>

10

  1. 「Start Building」

11

  1. もし、Add this config to your repoのポップアップが出た場合、「Add Manually」

12

  1. 「Project Settings」

13

  1. 環境変数を設定する

14

設定する環境変数は以下の4つ
Name Value Example
S3_BUCKET_NAME (a)をコピー sample-deploy-s3bucketcodepipelinesource-yk7stq65mtv8
AWS_ACCESS_KEY_ID (b)をコピー AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY (c)をコピー wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_DEFAULT_REGION CFnスタックを作成したリージョン ap-northeast-1

これですべての準備は完了です。

CDの実行

トリガーは次の2つです。

  • GitHubで、マスターブランチを更新したとき
  • CircleCIで、過去のパイプラインを再実行したとき

15