AWS

【AWS】CodeStarを使ってWebアプリケーションのCI/CD環境を作成してみた

AWS CodeStarとは

公式様からの引用です。

AWS CodeStar を使用すると、アプリケーションを迅速に開発および構築して AWS にデプロイできます。AWS CodeStar は統合されたユーザーインターフェイスを備えているため、ソフトウェア開発アクティビティを 1 つの場所で簡単に管理できます。AWS CodeStar では、継続的デリバリーのツールチェーン全体を数分で設定でき、コードのリリースをすばやく開始できます。

AWS CodeStar

AWS での開発をわずか数分で開始できる!
試してみましょう!

※AWS CodeStar に対する追加料金はなく、作成したリソース(例: EC2 インスタンス、Lambda の実行、S3 バケット) に対してのみ料金がかかります。

AWS CodeStarの始め方

AWS CodeStar コンソールを使用して、プロジェクトを作成します。

プロジェクトのテンプレートを選択します。
今回は、PythonのWebサービスのテンプレートを使用しました。

プロジェクト名を入力します。

プロジェクト名を入力すると、プロジェクトID・リポジトリ名も連動して値が入力されます。
今回は、同じ名前を使用していますが、それぞれ変更しても問題ありません。

設定値に問題がなければ、プロジェクトの作成を行います。

操作はこれだけ。
あとはプロジェクトが作成されるのを数分間待ちます。

裏ではCloudformationでAWSリソースを作成しています。
しばらく待ちましょう。

プロジェクト作成完了。

プロジェクトが自動でリソース作成・削除ができるようにIAMロールのアクセス権限を少し修正しておきます。

1.CodeStarWorker-<プロジェクトID>-Cloudformation
 ⇒”AdministoratorAccess” を付与

2.CodeStarWorker-<プロジェクトID>-ToolChain
 ⇒”ToolChainWorkerPolicy” に “cloudformation:DeleteChangeSet” を付与

プロジェクトの構成図

CodeStarのPythonウェブサービスのプロジェクトでいろいろできたリソースをまとめてみる。

構成図としては以下のような感じ。

この構成はプログラムを修正すると自動的にテスト・ビルドが走り、数分でアプリケーションをデプロイしてくれます。いわゆるCI/CDと言われるものです。開発者としてはプログラム作成に集中できますね。素晴らしい。

Hello Worldの確認

構築されたAPI GatewayのURLにアクセスしてみます。

Lambdaで処理された結果がAPI Gatewayから返却されていますね。
Hello World.

まとめ

CodeStarを使うと驚くほど簡単にウェブプロジェクトが作成出来ました。

今回は、Pythonのウェブアプリケーションのテンプレートを使用しましたが、他にも多数のテンプレートが用意されているので一度検討してみる価値は十分にあるように思います。

次回は、開発環境を作成していくところをまとめていこうと思います。

ABOUT ME
湖山 貴裕
はじめまして。 二児のお父さんプログラマーです。最近キャンプにも興味あり。夏には庭でキャンプしようともくろみ中。ボドゲ好き。チョコ好き。茶道経験者。 2012年大学卒業→IT企業就職 Java,VB.NET, C#, javascript等の企業向けシステム開発/主にバックエンドを担当/AWSを少しかじる→2020年フリーランスエンジニアへ転身 広島でAWS案件にて楽しく活動中