AWS

【AWS】CodeStarにCloud9を設定する

CodeStar

CodeStarとは、ソフトウェア開発プロジェクトを作成、管理、および操作するクラウドベースのAWSのサービスです。アプリケーションをすばやく開発、構築、およびデプロイすることを可能にします。

プロジェクトのテンプレートが多数用意されているので、実際に数クリックでプロジェクトが開始できます!

CodeStarのプロジェクトの作り方は前回の記事をご参考ください。

【AWS】CodeStarを使ってWebアプリケーションのCI/CD環境を作成してみた AWS CodeStarとは 公式様からの引用です。 AWS CodeStar を使用すると、アプリケーションを迅速に開発...

Cloud9

Cloud9とは、ブラウザベースでコードを記述・実行・デバッグできるクラウドベースの統合開発環境(IDE)です。様々なプログラム言語に対応しており、AWS CLIや開発に必要なツール類があらかじめパッケージ化されているのですばやく開発作業に取り掛かることができます。

Cloud9の設定

CodeStarのプロジェクト画面の「AWS Cloud9の設定」を押下します。

Cloud9環境の設定を行います。
今回は、環境名だけ入力してサクッと「環境の作成」押下。

※インスタンスタイプは、スペック不足を感じたら拡張すればよいので t2.micro スタートでOK。
※VPC・サブネットは、Cloud9専用のパブリックサブネットを作成しておいた方が好ましいです。

CodeStarのプロジェクトにCloud9が追加されました。

Cloud9へアクセス

作成されたCloud9の[Open IDE]を押下するとCloud9の環境にアクセスできます。
ここから開発作業が開始できます。

CodeStarプロジェクトにCloud9を設定するだけで、CodeCommit リポジトリのクローンがローカルマシンに作成されていました。わざわざ自分でCloneする必要はないのですね。

ちなみに中身はこのような構成になっています。

$ tree
.
├── buildspec.yml                       # CodeBuildでアプリケーションをパッケージ化するために使用するファイル
├── index.py                            # サンプルプログラム「HelloWorld」
├── README.md                           # 本PJを説明するファイル
├── template-configuration.json         # プロジェクトIDでリソースにタグ付けするために使用するファイル
├── template.yml                        # CloudFormationがアプリケーションをデプロイするために使用するSAMテンプレート
└── tests                               # ユニットテスト用フォルダ
    └── test_handler.py                 # ユニットテストプログラム

サンプルプログラムのローカル実行

サンプルプログラムをローカルで実行してみましょう。

# Python仮想環境を作成します。
$ virtualenv .venv
Using base prefix '/usr'
New python executable in /home/ec2-user/environment/.venv/bin/python3.6
Not overwriting existing python script /home/ec2-user/environment/.venv/bin/python (you must use /home/ec2-user/environment/.venv/bin/python3.6)
Installing setuptools, pip, wheel...
done.

pythonのバージョンが3.6と古いけど、今は気にしない。
他システムに影響を及ぼすことなくパッケージをインストールできるPython仮想環境(.venv)のディレクトリが作成される。

# 仮想環境を起動する
$ source .venv/bin/activate
(.venv)

(.venv)と表示されたらOK。

# SAM CLI でローカル環境でAPI Gatewayを起動する
(.venv) $ cd <プロジェクトID>
(.venv) xxx (master) $ sam local start-api -p 8080
・・・
    * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit) 

「Running on http://127.0.0.1:8080/」と表示されたら準備OK。
ローカル環境に起動したAPI Gatewayにアクセスしてみます。

# ローカル環境のAPI Gatewayにアクセス
$ curl http://127.0.0.1:8080/
{"output": "Hello World", "timestamp": "2022-01-28T14:06:42.334828"}

Hello World.

# 仮想環境を停止する
(.venv) $ deactivate

Cloud9のディスクサイズ拡張

Cloud9の初期ディスクサイズは10GBしか確保しておらず、すぐに空き容量が足りなくなります。
以下の記事を参考にディスクサイズを最低20GB程度に拡張しておきましょう。

Cloud9のディスクサイズ拡張の方法 こんにちは。湖山です。 Cloud9を構築時にディスクサイズ指定できたらいいのですが、デフォルト10GB固定なんですよね。これで...

まとめ

CodeStarにCloud9を設定するだけで、いざプログラム開発を開始するまでの環境を数分で用意できました。(JAVAとかの開発環境の構築は何かと数時間単位で行っていたのが懐かしく思います。。)

あとは、ローカル環境でプログラムを作成し、CodeCommitへPushして自動的にAWS環境へデプロイする流れになります。

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