やっつけ不定記

好きなときに好きなことをちゃっちゃと書いてます

AWSの基礎を学ぼう はじめてのCI/CDパイプライン

表記のイベント
https://awsbasics.connpass.com/event/214771/
に参加しました。

ド真裏のセキュリティクイズ大会
https://www.seckansai.com/ucsecquiz/
とモロ被りしてて、どちらに行くかギリギリまで悩んだのですが、
すぐ直近でAWSのCI/CDパイプラインを使う機会があるので、
こちらを選択しました。

内容はどこかのJAWSイベントで行われたハンズオンをブラッシュアップしたもので、
https://shigeru-oda.github.io/code-handson-20210527/#0
をなぞりながら、CodeCommit,CodeDeploy,CodePipeline,CodeStarの動きを
お勉強するというものです。

自分は、前述4サービスは別の人が作ったものに乗っかる形で
少し使ったことがありますが、CodeStar
https://aws.amazon.com/jp/codestar/
は本当に初めてです。

サンプルアプリのNW構成や仕様、CodeStarの詳細仕様は、ハンズオン資料や
他の方が書かれるであろう記事にお任せするとして、とりあえず
自分はCodeStarを

CodeCommit,CodeBuild,CodeDeploy,CodePipelineをうまいこと繋いで
開発からデプロイまでをいい感じにやってくれるサービス

と認識しました。
作りたいものが思い浮かんだときにサクッと作るのに役立ちそうです
(アプリ仕様がある程度煮詰まってきたら、チューニングをかけて実際の運用版も作れそう)。

ハンズオンのシナリオイメージは概ね以下。
今回はHTML5のアプリでしたが、CodeStarではほかにPython(Flask),
Express.js,Java Springが選べるようで、実際には選択したものや動作させるアプリ仕様によって
適宜変わってくると思います。

  1. 動作環境用のVPCを作る
  2. CodeStarからCloud9を呼び出して開発を行う
  3. 作ったソースコードのCodeCommitへの登録からEC2へのデプロイまでの一連の流れをCodePipelineで設定する

デモがかなり速いペースで進んだため、説明はほとんど聞けず、ひたすら手順書を
追いかけるという状態でしたが、手順書自体が作りこまれており、
最後の環境構築まで無事に完走できました。
設定内容を文字だけでなく、実際のスクリーンショットで出していただいたのには
かなり助けられました。

ハンズオンゆえ、今回はAdministrator権限のあるアカウントでやりましたが、
運用環境で使う場合は、どんな権限をつけるべきかの吟味が必要。
ロールやポリシー周りにはそれなりの設計が発生しそうです
(本件に限らず、どのサービスもそうですが)。

<戦利品>
誰が為に愛は鳴る(TrySail
鼓動(藍井エイル