ウェブサイト検索

Cloud9 IDEを使ってAWS Lambdaの開発をより簡単にする


Cloud9は、多くのAWS統合と40以上の言語のための組み込みサポートを持つフルブラウザベースのIDEです。特にLambda関数の作業に適しており、同じ環境でテストや反復作業を行うための簡単な方法を提供します。

Cloud9、AWS用に構築されたIDE

Cloud9は独自の優れたIDEですが、あなたはおそらくローカルのVisual Studio Codeの設定の方が優れていると考えているでしょう。

ローカルIDEは便利ですが、Cloud9はいくつかの点でそれを上回っています。まず、Cloud9はEC2上で動作し、AWS CLIが事前にインストールされたインスタンスに完全なターミナルアクセスが提供されます。企業の環境において、開発者の環境を自分の管理下でクラウドにデプロイできることは非常に素晴らしい機能です。複数のCloud9環境を1つのサーバーのサブフォルダにデプロイすることができます。

基本的なAWSの統合を除けば、Cloud9はLambda開発において非常に優れています。実際、Cloud9は関数プロパティページで見つかるのと同じテキストエディタですが、Cloud9にはローカルテストという素晴らしい機能があり、はるかに優れています。実際の環境に近い状況で関数をテストでき、API Gatewayの背後で関数がどのように動作するかもローカルでテストできます。Lambda自体で関数をテストしたい場合は、コードを$LATEST Lambdaバージョンにデプロイし、実際の環境でテストするための1クリックボタンがあります。その際、更新された関数を実行するために構成された開発用API Gatewayも付属しています。この体験は非常にシームレスです。

GitとSAMを使用してLambdaのデプロイメントを管理しているとしても、Cloud9は関数を簡単にテストする能力だけでも依然として役立ちます。統合ターミナルは、Cloud9環境からGitと簡単に作業できるようにします。

さらに、Cloud9はコラボレーションコーディングもサポートしています。複数のユーザーが同じ環境にログインして、同時にコードに取り組むことができます。他のIDEにもこの機能がありますが、Cloud9のペアプログラミング機能はAWSのアカウント管理ツールと統合されており、Lambda開発にも適しています。

環境の設定

Cloud9の製品ページに移動して、「環境を作成」をクリックします。名前と説明を入力したら、次へクリックします。

環境設定では、環境のために新しいインスタンスを作成することを選択します。自分のサーバーがある場合は、そのSSHの詳細を代わりに入力し、追加料金なしでそれを使用することができます。複数の環境を設定している場合は、Cloud9がインストールする環境ディレクトリを編集したいと思うでしょう。

コスト削減設定が合理的な値に設定されていることを確認してください。そうすれば、インスタンスはあなたや他の誰かがIDEを離れた後も長く動き続けることはありません。約30分から1時間が適切です。

ここでVPCとサブネットの設定を構成することもできますが、現時点ではCloud9をプライベートサブネットにデプロイすることはできません。

次へをクリックして設定を確認し、(すべてが良ければ)環境を作成します。次に新しいページに移動し、初めて環境を作成するのに少し時間がかかる場合があります。おおよそ1分以内に接続され、Cloud9のスタート画面に移動します。好みに応じてダークモードに切り替えることができます。

最初に行うべきことは、エディタ設定の「AWS設定」カテゴリからAWSリージョンが正しく設定されているか確認することです。デフォルトとして使用しているリージョンで起動するはずですが、他の多くのAWSサービスのようにヘッダーに表示されないため、再確認するのが良いでしょう。

それが確認できたら、準備が整いました。右端のサイドバーにある「AWSリソース」タブから、Lambda関数を直接編集することができます。メニューの「λ+」ボタンをクリックすると、新しいLambda関数を作成できます。

名前を付けてから、Lambdaの設定をクリックしてください。この関数をAPI Gatewayで構成する場合、テスト用のゲートウェイの名前を指定する必要があります。これにより、直接実行するのではなく、エントリーポイントとしてAPI Gatewayを使用してデバッグすることができます。

すでに編集したいLambda関数がある場合は、既存の関数を環境にインポートして編集することもできます。

関数が読み込まれると、それはサイドバーに独自のフォルダーで表示されます。開いてください

index.js

あなたのエントリポイントが何であれ、コードを適宜編集してください。

テストしたいときは、コードを保存して「実行」ボタンをクリックしてください。ここにはいくつかのオプションがあります:

  • ローカルテストは、環境と同じマシンでLambda関数を実行します。
  • リモートテストは、Lambda関数が本番環境で実行されるのと同じ環境で実行されます。
  • ローカルAPIゲートウェイのテストで、ローカルでAPIとして実行します。
  • リモートAPIゲートウェイのテストは、新しい実際のAPIゲートウェイを作成して実行します。

    cloud9-
  • プレフィックスがあり、Lambda関数に接続します

これらのオプションだけで、Cloud9はLambda関数の作業において素晴らしいものになっています。ローカルで関数を簡単にテストできる能力は、Cloud9をローカルIDEに対して優位にしています。ローカルでの実行は、Lambda関数の$LATESTリリースを更新する手間が省けることを意味します。これにより、複数の開発者が同じ関数を開発およびテストでき、衝突を避けることができます。

もちろん、リモートでテストしたい場合は、最新のリリースを更新する必要があります。これにより、適切にバージョン管理されたリリースと最新のバージョンを指す「プロダクション」エイリアスを設定している限り、あなたのプロダクション機能には影響しないはずです。これによりロールバックが容易になり、新機能を1時間の間に徐々に展開できるため、プロダクションで問題が発生しないように確認できます。

このように Lambda 関数を直接編集し、Lambda バージョンを介してコードのリリースを管理することは、完全に有効かつシンプルな作業方法です。ただし、一部の企業は Lambda 用の既存のソース管理を使用し、関数スタックを定義するために SAM 構成を使用して CI/CD パイプラインを介して更新をデプロイすることを好む場合があります。これは確かにより複雑(しかしより良い)なセットアップですが、それでも各デプロイメントは新しい Lambda バージョンを作成しますので、この環境でもテストには Cloud9 を使用することができます。更新を行う準備ができたら、変更を Git にプッシュする必要があります。幸いなことに、Cloud9 にはこの目的のために使用できる組み込みのターミナルがあります。

関連記事: