サーバーレスのローカル開発環境を整備する ~前編

2023-03-02
デベロッパーのためのクラウド活用方法

Author : 杉 達也

アプリケーション開発において、一定品質になるまでのコード開発とテスト・デバッグ作業はクラウドではなくローカルの PC 環境内で実施したいという声をよく耳にします。でも、サーバーレスの場合、どうすると良いのでしょう ? 

本記事では、サーバーレスのためのローカル開発環境の整備とそのステップについて、代表的な開発ツール環境として Visual Studio Code と Eclipse の場合を例に取り上げてご紹介します。

この連載記事のその他の記事はこちら

選択
  • 選択
  • サーバーレスのローカル開発環境を整備する ~前編
  • サーバーレスのローカル開発環境を整備する ~中編
  • サーバーレスのローカル開発環境を整備する ~後編

[注記]

  • 本記事では、シンプル化のために、Lambda の zip 形式でのパッケージの場合で説明しています。コンテナ形式でのパッケージングを用いる場合は、SAM CLI のコマンドオプションに追加・変更が必要です。
  • 本記事は、次のバージョンでの内容に基づいています。
    • SAM CLI 1.71.0
    • Visual Studio Code 1.74.3、AWS Toolkit for Visual Studio Code 1.61.0
      • 開発・デバッグ可能な言語 : Python、Node.js、Java、C#、Go
    • Eclipse 2022-09 (4.25.0) / Eclipse 2021-12 (4.22.0)、AWS Toolkit for Eclipse 2.3.1
      • 開発・デバッグ可能な言語 : Java

Step 1 - まずは Serverless Application Model (SAM) を知る

SAM は、AWS CloudFormation をベースに、サーバーレスアプリケーションをより簡潔に記述できるようにした書式と、それを用いてサーバーレス開発を円滑にするためのツール群を総称しています。この SAM には SAM CLI というサーバーレスアプリケーション開発の支援コマンドラインインターフェースが含まれており、これが、ローカル環境での開発作業に大きな役割を果たします。

SAM をあまりご存知ではない方は、まずはハンズオンで学びながら体験できます。
こちらでは、クラウド上に新たに準備する開発環境 (AWS Cloud9) を使って、SAM によるサーバーレスアプリケーション開発を手順を踏んで理解することができます。

あれ、さっきまでローカル環境での開発という話をしていたのに、このハンズオンはクラウド上での開発なの ? と思われたかもしれません。

クラウド上での開発を体験していただくのですが、この体験の延長線上にローカル環境での開発体験があります。サーバーレスのローカル開発環境のための通過点だと思って実施いただくと良いでしょう。

初めてのSAMハンズオン »

SAM について認識されている方は、このステップは飛ばしていただいて構いません。


Step 2 - 準備: ローカル環境の整備

前ステップの「初めての SAM ハンズオン」では、AWS Cloud9 を利用しました。AWS Cloud9 では、サーバーレスアプリケーション開発がしやすいように事前構成されています。具体的には、AWS Toolkit と SAM CLI が事前設定された開発環境です。

  • SAM CLI が設定されているため、SAM アプリケーションの初期構成や実行・デバッグが可能です。
  • AWS Toolkit が設定されているため、AWS Cloud9 開発環境からデプロイ先となる AWS アカウントとの連携や SAM CLI での操作を円滑に行うことができます。

AWS Cloud9 ではなく、ご自分のローカル環境で利用中の開発ツールでサーバーレスアプリケーション開発を行いたい場合、同様の設定をローカル環境で行えばよいことになります。つまり、SAM CLI と AWS Toolkit のローカル環境でのインストールです。

コード開発には開発ツール環境 (IDE) を使わずにテキストエディタで軽量に行いたい、という場合は、AWS Toolkit は不要です。

以下、ローカル環境で行う設定作業について説明します。

SAM CLI のインストール

SAM CLI のドキュメントはこちら »

  1. SAM CLI のために必要になる以下のソフトウェアをインストール (すでに対象のソフトウェアをインストール済ならその手順はスキップできます)
    • Docker : ローカルデバッグのために必要になります。こちら (Windows / Mac) に従い、インストールしてください。
    • Git : SAM による初期ファイルの設定時および次の Homebrew のために使われます。こちら に従い、インストールしてください。
    • Mac/Linux の場合のみ : Homebrew のインストール - SAM はこの機能を利用してインストールします。このため、こちらもインストールしてください (Mac / Linux)。
  2. この前提が整えば、SAM CLI をインストールできます。
    • Windows : こちら を Windows インストーラからインストールします。
    • Mac/Linux : Homebrew が利用可能になっていれば、以下のコマンドでインストール可能です。
brew tap aws/tap
brew install aws-sam-cli

AWS Toolkit のインストール

ご利用中の開発ツールごとにツールキットが異なります。以下、Visual Studio Code と Eclipse の場合を取り上げていますが、他の開発環境用のもの も選択可能です。

  • Visual Studio Code
    1. Visual Studio Code の拡張機能タブで「AWS」と入力して検索します。
    2. AWS Toolkit」を選択してインストールします。

    クリックすると拡大します

    3. 利用したい開発言語に応じて、追加の拡張機能を設定します。必要な拡張機能は こちら  から確認してください。

  • Eclipse
    1. Eclipse のヘルプメニューから「新規ソフトウェアのインストール」を選択します。
    2. 開かれるダイアログで「作業対象」に「https://aws.amazon.com/eclipse」と入力します。
    3. 名前」から「AWS Toolkit for Eclipse Core」および「AWS Lambda Plugin」にチェックを入れます。
    4. チェックを入れたソフトウェアをインストールします。

    クリックすると拡大します

AWS 認証情報の用意

SAM CLI、AWS Toolkit ともに、ローカルマシンから AWS アカウント環境に接続するために AWS 認証情報を利用します。設定にはいくつかの方法がありますが、その中の一つの方法をご紹介します。

  1. AWS コンソールから IAM ユーザー設定ページ にアクセスし、開発用に管理者アクセス権を設定した IAM ユーザーを用意します。
  2. そのユーザーに対する AWS 認証情報 (アクセスキー ID / シークレットキー) を生成・ダウンロードします。

クリックすると拡大します

3 ローカル環境に AWS 認証情報を設定します。

  • Visual Studio Code や Eclipse で AWS Toolkit が設定されていると、次の図のように、ツール上から AWS 認証情報を設定することができます。

この内容は .aws/credentials ファイルに格納されます。上記のように開発ツールから設定する以外の方法として、AWS CLI を使って aws configure コマンドで名前付きプロファイルを作成する方法もあります(詳しくはこちら »)。


まとめ

サーバーレスアプリのローカル開発環境を整備する上で重要な役割を行う SAM の認識と、代表的なツールである Visual Studio Code と Eclipse を例にしたローカル環境での設定について紹介しました。

次回 は、実際の開発作業手順について説明します。

この連載記事のその他の記事はこちら

選択
  • 選択
  • サーバーレスのローカル開発環境を整備する ~前編
  • サーバーレスのローカル開発環境を整備する ~中編
  • サーバーレスのローカル開発環境を整備する ~後編

builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます


筆者プロフィール

杉 達也
アマゾン ウェブ サービス ジャパン合同会社
シニア サーバーレススペシャリスト 事業開発マネージャ

Serverless Specialist / BD として AWS Japan に勤務。
サーバーやインフラのことをあまり考えたくない、気にしたくないので、サーバーレスは魅力的です。サイジングやキャパシティプランニング作業からも開放されます。
早く、サーバーレスの世界を体験してもらいたい、そう思いつつ、日々その伝え方を考えています。

AWS のベストプラクティスを毎月無料でお試しいただけます

さらに最新記事・デベロッパー向けイベントを検索

下記の項目で絞り込む
1

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する