AWS API Gateway を使用してサーバーレス Node.js API をデプロイするにはどうすればよいですか?

Aws Api Gateway Wo Shi Yongshitesabaresu Node Js Api Wodepuroisurunihadousurebayoidesuka



AWS は、膨大なサービスのポートフォリオを備えたクラウド コンピューティング プラットフォームです。これらのサービスは、データ ストレージからデータ操作、データ分析まで、IT 業界のさまざまな側面をカバーしています。現在、AWS はいくつかの開発言語とランタイム環境もサポートしています。このようなサービスの最も一般的な例の 1 つは AWS Lambda です。

AWSラムダ は、AW​​S のイベント駆動型コンピューティング サービスであり、ユーザーはサーバーを提供または管理せずにコードを実行できます。 Lambda は、すべてのコンピューティング インフラストラクチャとリソースの管理を効率的に処理します。 Go、Ruby、Python など、Lambda サービスでサポートされている開発言語は複数あります。Lambda は、ユーザーが消費したコンピューティング時間に対してのみ料金が発生するため、コスト効率の高いサービスとも考えられています。 Lambda 関数に提供されたコードが実行状態にない場合、追加料金はかかりません。

続きを読む : AWS Lambda の使用を開始する







概要



この記事では、次の側面について説明します。



サーバーレスフレームワークとは何ですか?

用語 「サーバーレス」 サーバーのプロビジョニングとメンテナンスがサードパーティ ソフトウェアまたはクラウド プロバイダーによって管理される用語を指します。このようなフレームワークを使用すると、ユーザーはサーバーを保守する代わりに、コアのビジネス ロジックに集中できます。現在、サーバーレス フレームワークはテクノロジー大手の注目を集めており、多大なメリットをもたらしています。





さらに、サーバーはサービス プロバイダーによって提供および管理されるため、コスト効率の高いソリューションでもあります。 AWS では、Lambda はユーザーが操作するコードのみを必要とするため、サーバーレス サービスとみなされます。 AWS Lambda を使用すると、ユーザーはさまざまなランタイム環境でコスト効率の高い方法でアプリケーションを簡単に構築および拡張できます。

APIとは何ですか?

API の頭字語です 「アプリケーションプログラミングインターフェース」。 API の正式な導入には、ソフトウェアまたはアプリケーションの 2 つのコンポーネントが通信に役立つ情報を交換できるようにする定義とプロトコルのセットであることが含まれます。



API のリアルタイム アプリケーションは Web ブラウザを使用して行われます。ユーザーが Web サイトを検索するたびに、リクエストは Web サイトが存在するサーバーに配信されます。サーバーとブラウザ間のこの通信は API を通じて行われます。

APIゲートウェイとは何ですか?

API Gateway は、API Management ツールに似た AWS のフルマネージド サービスです。 API ゲートウェイを使用すると、開発者はさまざまな API を簡単に作成、管理、公開、拡張できます。同様に、API ゲートウェイを使用すると、ユーザーはサーバー側で実行されている他のマイクロサービスと通信できます。ユーザーからの入力を取得して処理し、適切なマイクロサービスに送信します。これらのマイクロサービスは、この入力を処理して出力を生成します。

API Gateway のさまざまな種類の API とは何ですか?

API ゲートウェイは、以下に示す 3 つの異なるタイプの API の管理サービスを提供します。

HTTP API: この API は、クライアント側のみに限定された Web 開発で広く使用されています。このような API は、プライベートまたはパブリックに分類できます。

残りの API: REST という用語は次の略です。 「表現状態転送 API」。 これは、アプリケーションのフロントエンドとバックエンドを分離する最も一般的に使用されるアプローチの 1 つです。 REST API は本質的にステートレスであり、開発と実装に柔軟性があります。

WebソケットAPI: このような API は、ソケット通信が関与する場合に使用されます。 WebSocket API を使用すると、ユーザーは Web 開発で双方向の全二重通信用のソケットを作成できます。これらの API は JavaScript で記述されています。

API Gateway を使用してサーバーレス Node.js API をデプロイするにはどうすればよいですか?

API ゲートウェイを使用したサーバーレス Node.js API のデプロイには、S3 バケット、Lambda 関数、および API ゲートウェイを使用します。 S3 バケットにはアプリケーションのコードが含まれます。バケットの一意の URI は、ハンドラーとして Lambda 関数に提供されます。 API ゲートウェイは、ユーザーの入力を処理して適切な出力を提供する Lambda 関数へのトリガーとして追加されます。

API ゲートウェイを使用してサーバーレス Node.js API をデプロイする手順は次のとおりです。

ステップ 1: Lambda 関数を作成する

Lambda 関数を作成するには、 'ラムダ' からのサービス AWS マネジメントコンソール :

もっと詳しく知る: 「Python ランタイムを使用して Lambda 関数を作成する方法」 。

Lambda 関数インターフェイスで、 「関数の作成」 ボタン:

「関数の作成」インターフェースから、 「ゼロからの著者」 オプション:

次に来るのは、 '基本情報' セクション。このセクションでは、Lambda 関数の名前を指定します。 「関数名」 :

クリックしてください 「関数の作成」 インターフェイスの下部にあるボタン:

ここで、 関数 作成されました 無事に :

ステップ 2: API ゲートウェイを作成する

次のステップは、API ゲートウェイを作成することです。この目的のために、 「APIゲートウェイ」 からのサービス AWS マネジメントコンソール :

API ゲートウェイ インターフェイスを下にスクロールし、 '建てる' からのオプション REST API ブロック:

「APIの作成」 インターフェース、 選択する 次の 強調表示されたオプション 。私たちが構築しているので、 残りのAPI 最初から、次のオプションを選択しました。

の中に 設定 同じインターフェイスのセクションで、API の名前を指定します。 「API名」 テキストフィールド:

クリックしてください 「APIの作成」 ボタン:

API が正常に作成されたら、 '行動' ボタンをクリックし、次の強調表示されたオプションを選択して、API のリソースとメソッドを構成します。

次に、API の名前を指定します。 「リソース名」 テキストフィールド。の中に リソースパス、 ユーザーはリソースのパスを指定できます。この指定されたパスは、リクエストを処理するために元のメソッドと結合されます。クリック 「リソースの作成」 ボタン:

リソースを作成した後、 '行動' もう一度タブをクリックして、 「リソースの作成」 API 内のメソッドとリソースを定義するメソッド:

の名前を入力してください 「リソース名」 フィールドをクリックして、 「リソースの作成」 ボタン:

ネストされたリソースを構成した後、 '行動' ボタンをクリックして、 「メソッドの作成」 ボタンから ドロップダウンメニュー :

を使用して API の動作をテストしたいと考えています。 GETリクエスト Node.jsで。したがって、メソッドインターフェイスで、 '得る' リクエスト:

を選択した後、 GETリクエスト 、 クリックしてください 'チェック' 変更を確認するボタン:

'得る' メソッドインターフェイスで、前に作成した Lambda 関数の名前を指定し、次の設定を行います。その後にヒットした '保存' 変更を確認するボタン:

をクリックした後、 '保存' ボタンを押すと、以下のダイアログボックスが表示されます。クリック 'わかりました' ボタン:

同様に、最初のメソッドで実行したのと同様の手順に従って、もう 1 つのメソッドを作成します。ユーザーは、要件に基づいて API 内に複数のメソッドを作成できます。すべてのメソッドを設定したら、 '行動' タブをクリックして、 「APIのデプロイ」 オプション:

これにより、次のダイアログ ボックスが表示されます。の中に 「展開段階」 詳細を提供します。次に来るのは、 '芸名' ステージ名を指定するフィールド。クリックしてください '展開する' ボタン:

API されています 正常に作成されました :

下へスクロール インターフェイスをクリックして、 '変更内容を保存' ボタン:

ステップ 3: S3 バケットを作成する

このステップでは、コードを保存するバケットを作成します。このコードは Lambda 関数に関連付けられ、コード内で設定された属性を取得するために API が使用されます。

S3 バケットを作成するには、 「S3」 の検索バーにあるサービス AWS マネジメントコンソール。 表示された結果からサービス名をタップします。

S3 コンソールで、 「バケットを作成」 プロセスを開始するオプション:

の中に 一般的な構成 セクションで、バケットのグローバルに一意の識別子を指定します。 強調表示されたテキストフィールド :

を維持することで、 設定 として デフォルト 、 クリックしてください 「バケットを作成」 インターフェイスの下部にあるボタン:

これによりバケットが作成されます。ここで、コードを S3 バケットにアップロードするために、 単純なノード JS コード GitHub リポジトリ。コードをダウンロードします。 ZIP形式 :

ダウンロード後、 ZIPファイル 、に行きます S3 ダッシュボード そしてバケットを選択します。次のインターフェイスで、 'アップロード' ボタンと アップロード ZIPファイル バケットに:

もっと詳しく知る: Amazon Simple Storage Service にオブジェクトをアップロードするにはどうすればよいですか?

をタップします。 '追加ファイル' ボタンはインターフェイスの右側にあり、 'フォルダーを追加' ボタン。を追加した後、 ZIPファイル バケツに、を打ちます 'アップロード' インターフェイスの下部にあるボタン:

ファイル されています 正常にアップロードされました :

アップロードする ファイルをバケットに追加するには、 物体 プロパティを表示するには:

クリックしてください 「S3 URIをコピー」 ボタン。これは Lambda 関数に追加されます。

に行きます ラムダダッシュボード そして、Lambda 関数を選択します。

下にスクロールして、 'コード' セクションを選択し、 「アップロード元」 ボタン。から ドロップダウンメニュー、 クリックしてください 「Amazon S3の場所」 オプション:

を貼り付けます 「S3 URI」 表示されたダイアログボックスで、 '保存' ボタン:

Lambda 関数インターフェイス まで下にスクロールし、 「実行時設定」 をクリックして、 '編集' ボタン:

の中に 'ハンドラ' フィールドで、次の構成を編集します。の 「ノデアピ」 は S3 バケットにアップロードされたフォルダー名で、index.js はエントリ ポイントです。その後、 '保存' ボタン:

ステップ 4: 検証

に行きます APIゲートウェイ サービス コンソールをクリックし、 「API」 名前:

API を選択した後、 「ステージ」 サイドバーの ボタンをクリックし、展開ステージ (例: firststage) をクリックします。

をコピーします URL そして起動します 郵便屋さん ローカルマシン上のツール:

を作成します GETリクエスト の中に 郵便屋さん そこに URL を貼り付けます。をクリックした後、 '送信' ボタンをクリックすると、次の結果が得られます。

このガイドの説明は以上です。

結論

API ゲートウェイを使用して Node.js API をデプロイするには、コードを S3 バケットにアップロードし、それをハンドラーとして追加し、API ゲートウェイをトリガーとして Lambda 関数に追加します。 Postman を使用して開始されたリクエストは、API を通じて Lambda 関数に配信されます。 APIの作成にはAWSのAPIゲートウェイサービスを利用します。 Lambda 関数にハンドラーとして追加された S3 バケットは、リクエストを処理するためのコードを提供します。出力は Postman のコンソールに表示されます。この記事は、AWS API ゲートウェイを使用して Node.js API を実装するためのステップバイステップのチュートリアルです。