AWSクラウド開発環境 セットアップ実践
なぜAWSクラウドでの開発環境セットアップが重要か
SIerでのシステム開発では、オンプレミス環境や、ローカルマシンに構築された開発環境を用いることが一般的かもしれません。しかし、事業会社でのモダンなWeb開発やクラウドネイティブ開発では、開発環境そのものをクラウド上に構築し、活用することが増えています。これは、開発チーム内での環境の統一、開発リソースの柔軟な確保、CI/CDパイプラインとの連携の容易さなど、多くのメリットがあるためです。
SIerから事業会社への転職を考える上で、こうしたクラウド環境での開発に慣れておくことは、大きなアドバンテージとなります。本記事では、AWSクラウドを活用した開発環境の基本的な考え方と、具体的なセットアップ方法について解説します。
AWSクラウド開発環境の選択肢
AWS上で開発環境を構築する方法はいくつかあります。主なパターンとしては以下のものが挙げられます。
-
AWS Cloud9の利用:
- ブラウザベースのIDEで、AWS上で動作します。必要なSDKやツールがプリインストールされており、すぐに開発を開始できます。環境の共有も容易です。
- 手軽に始められる反面、カスタマイズ性には一部制限があります。
-
Amazon EC2インスタンスを開発サーバーとして利用:
- EC2上にOS環境を構築し、そこにVS CodeなどのローカルIDEからSSH接続して開発を行います。
- 高いカスタマイズ性を持ち、自身の使い慣れたエディタを利用できます。サーバーリソースも柔軟に選択可能です。
-
コンテナを開発環境として利用:
- Dockerなどのコンテナ技術を使用し、開発に必要なミドルウェアや依存関係をコンテナイメージとして管理します。ローカル環境でもクラウド上のEC2やECS/EKS上でも同じ環境を再現できます。
- 環境構築の再現性が高く、チーム開発での環境差異を減らすのに有効です。
これらの選択肢から、自身の開発スタイルやプロジェクトの要件に合った方法を選ぶことになります。今回は、手軽に始められるCloud9と、カスタマイズ性が高いEC2+VS Codeでのセットアップを中心に解説します。
AWS Cloud9での開発環境セットアップ
AWS Cloud9は、ブラウザだけで完結する統合開発環境です。簡単な手順で開発環境を構築できます。
- AWSマネジメントコンソールにサインインし、Cloud9のサービスページへ移動します。
- 「環境を作成」ボタンをクリックします。
- 環境名と必要であれば説明を入力します。
- 「環境設定」では、新しいEC2インスタンスを作成するか、既存のEC2インスタンスを使用するかを選択します。初めての場合は「新しいEC2インスタンス」を選択し、インスタンスタイプを選びます(開発用途であればt3.smallなどが一般的です)。OSも選択可能です(Amazon Linux 2など)。
- ネットワーク設定などで必要があればVPCやサブネットを指定します。
- ストレージ設定で、デフォルトのルートボリュームサイズ(10GB)を必要に応じて増やします。
- 設定を確認し、「環境を作成」をクリックします。
数分待つと、ブラウザ上でIDEが起動し、ターミナルからAWS SDKやCLIツールが利用可能な開発環境が提供されます。コードの編集、実行、デバッグなどがブラウザ上で行えます。
Amazon EC2インスタンス + VS Codeでの開発環境セットアップ
自身のローカルマシン上のVS Codeから、AWS上のEC2インスタンスに接続して開発する方法です。より柔軟な環境構築が可能です。
-
Amazon EC2インスタンスの作成:
- AWSマネジメントコンソールでEC2サービスへ移動し、「インスタンスを起動」をクリックします。
- 適切なAMI(Amazon Machine Image、OSのテンプレート)を選択します(例: Ubuntu Server, Amazon Linux 2)。
- インスタンスタイプを選びます(開発用途であればt3.medium以上が推奨されることがあります)。
- キーペアを作成または選択します。これは後でSSH接続する際に必要になります。
- ネットワーク設定で、新しいセキュリティグループを作成します。このセキュリティグループでは、自身のローカルマシンのIPアドレスからのSSH (ポート22) アクセスを許可する必要があります。必要であれば、アプリケーションが使用するポート(例: Webサーバーのポート80/443, アプリケーションのバックエンドポートなど)も開き、アクセス元を制限します。
- ストレージを設定し、起動します。
-
VS Code Remote - SSH拡張機能の設定:
- ローカルマシンのVS Codeに「Remote - SSH」拡張機能をインストールします。
- VS Codeの左側のアクティビティバーにある「Remote Explorer」アイコンをクリックします。
- SSH Targetsの右にある歯車アイコンをクリックし、SSH設定ファイルを開きます。
- 設定ファイルに以下のような形式でEC2インスタンスへの接続情報を追記します。
ssh config Host your-ec2-dev-instance HostName <EC2インスタンスのパブリックIPまたはDNS名> User <OSのデフォルトユーザー名 例: ubuntu, ec2-user> IdentityFile <作成したキーペアの秘密鍵ファイルパス>
* ファイルを保存します。Remote Explorerに設定したホスト名(your-ec2-dev-instance
など)が表示されるはずです。 -
EC2インスタンスへのSSH接続:
- Remote Explorerで設定したホスト名をクリックし、「Connect to Host in New Window」を選択します。
- 初回接続時にはフィンガープリントの確認が表示されることがあります。
- 接続が成功すると、VS Codeの新しいウィンドウが開き、リモートのEC2インスタンス上でファイルを開いたり、ターミナルを利用したりできるようになります。
EC2インスタンス上には、必要に応じて言語処理系、データベースクライアント、Dockerなどの開発ツールをインストールして環境を構築します。
開発環境の管理と効率化
構築した開発環境を効率的に利用するためには、いくつかのプラクティスがあります。
- AMI (Amazon Machine Image) の活用: 一度開発に必要なツールや設定を済ませたEC2インスタンスからAMIを作成しておくと、同じ環境を簡単に複製して起動できるようになります。
- Infrastructure as Code (IaC): TerraformやAWS CloudFormationといったツールを使って、EC2インスタンスやセキュリティグループなどのインフラリソースをコードで定義し、自動的にプロビジョニングする手法です。環境構築の自動化とバージョン管理が可能になります。
- プライベートサブネットの利用と踏み台サーバー: セキュリティを高めるために、開発用EC2インスタンスをインターネットから直接アクセスできないプライベートサブネットに配置し、Bastionホスト(踏み台サーバー)経由で接続する方法も考慮すべきです。
まとめ
AWSクラウド上での開発環境セットアップは、モダン開発への移行において実践的なスキルです。Cloud9のような手軽な方法から、EC2+VS Codeによる柔軟な方法まで、目的に応じて選択肢があります。これらの環境構築を実践することで、クラウド上での作業に慣れるだけでなく、Infrastructure as Codeといったモダンな開発プラクティスへの理解も深まります。
SIerから事業会社への転職を目指す上で、こうしたクラウド環境での開発経験は面接などでもアピールできるポイントになります。もしセットアップに詰まった場合は、メンターに相談してみるのも良いでしょう。具体的な手順やツールの使い方について、経験豊富なメンターからのアドバイスは非常に役立ちます。