AWS Lambda を使用した Amazon API Gateway の紹介

AWS Lambda を使用した Amazon API Gateway の紹介

ソースノード: 1860150

概要

APIとは

簡単に言えば、API はメッセンジャーです。 いくつかの例でこれを理解しましょう。 おなかがすいていて、家で何かを調理する必要があるとしましょう。 麺を作りたい場合は、食器棚から材料を取り出し、コンロに火をつけて自分で作るだけです. これは、独自のリソースを使用して独自に何かを行うプログラムです。 しかし、ピザが欲しいとしましょう。材料がなく、ご家庭のオーブンはクリスピーな生地を作るのにあまり適していません。 代わりにピザ屋に行きます。 しかし、自宅とは異なり、キッチンに行って食材を使ってピザを作り始めることはできません。 彼らはあなたの汚れた手が彼らのもののいたるところにあることを望んでいません! それで、あなたは何をしますか? カウンターに行って注文する必要があります。注文できるピザと、選択できるトッピングやその他のオプションがリストされたメニューがあります。 これは API です。

アプリケーション プログラミング インターフェイス (API) は、XNUMX つのソフトウェア プログラムが対話する方法を指定する一連の規則です。

API を使用すると、あるソフトウェア プログラムが別のソフトウェア プログラムの機能にアクセスできます。 たとえば、インターネットからデータを取得する必要があるソフトウェア プログラムがある場合、API を使用してサーバーからそのデータを要求できます。 サーバーは要求されたデータで応答し、ソフトウェア プログラムは必要に応じてそれを使用できます。

API は、さまざまなソフトウェア プログラムが相互に通信し、データと機能を共有できるようにするために使用されます。 これらは、さまざまなシステムを連携させ、より複雑で強力なソフトウェア アプリケーションを作成できるようにするため、最新のソフトウェア開発の重要な部分です。

HTTP API

HTTP API は、データの送受信に HTTP プロトコルを使用する API の一種です。 これにより、ソフトウェア プログラムは HTTP 要求と応答を使用してデータを送受信できます。 これらの要求と応答は、プレーン テキスト、JSON、XML など、さまざまな形式にすることができます。 これらは、Web アプリケーション、モバイル アプリ、マイクロサービスなど、幅広いアプリケーションで一般的に使用されています。 これらの API は、REST API よりも比較的安価であり、REST API よりも機能が少なくなります。

REST API

REST API は、REST (Representational State Transfer) と呼ばれる一連のアーキテクチャ原則に従う API の一種です。 REST は、Web API を作成するための一連の制約を定義するソフトウェア アーキテクチャのスタイルです。

ステートフル API

ステートフル API は、各クライアント要求に関する情報を維持し、この情報を使用して後続の要求を処理する API です。 これは、API が各リクエストに関するデータ (リクエスト パラメータなど) をサーバー側セッションに保存することを意味します。 このデータは、同じクライアントからの後続の要求を処理するために使用されます。

ステートレス API

一方、ステートレス API は、クライアント リクエストに関する情報を維持しません。 以前のリクエストに関するデータを保存することなく、各リクエストを個別に処理します。 これは、API がサーバー側のセッションを維持せず、以前のリクエストのデータを使用して後続のリクエストを処理しないことを意味します。

ステートフル API とステートレス API の主な違い

以下に、ステートフル API とステートレス API の主な違いをいくつか示します。

ステートフル API

ステートレス API

1. クライアント要求に関するデータを保存するためにサーバー側セッションを要求する 1. クライアント要求に関するデータを保存するためにサーバー側セッションを必要としない
2. これらは、時間がかかるデータを必要とし、保存するため、ステートレス API よりも遅い場合があります。 2. ステートレス API は、要求に関するデータを必要とせず、保存しないため、高速です。
3. ステートフル API はスケーリングが容易ではない  3. 以前のリクエストに関するデータを維持する必要がないため、スケーリングが容易です。
4. 一般的に、ステートレス API よりも安全性が低いと考えられています 4. これらは一般に、より安全であると考えられています。

Amazon API ゲートウェイとは?

Amazon API Gateway は、ステートフル (ウェブソケット) API とステートレス (HTTP および REST) API の両方を作成、維持、監視するために使用される AWS のサービスです。 これらの API を使用して、以下にアクセスできます。

  1. 任意の AWS サービス
  2. AWS クラウドに保存されているデータ (S3 バケットなど)
  3. その他の Web サービス。

API 開発者であれば、サードパーティの開発者向けの API も簡単に作成できます。

AWS API Gateway のユーザーには、主に XNUMX つのタイプがあります。

  1. i) API Gateway で必要な機能を有効にするために API を作成およびデプロイする API 開発者
  2. ii) API 開発者の顧客であるアプリ開発者。

Amazon API ゲートウェイのアーキテクチャ

建築

このアーキテクチャは、一貫性のある統合された開発者エクスペリエンスでサーバーレス アプリケーションを構築する方法を示しています。 エンド ユーザーからデータ センターまで、API ゲートウェイは、数千の同時呼び出しの受け入れと処理、トラフィック管理、承認、監視、アクセス制御など、関連するすべてのタスクを処理します。

Amazon API ゲートウェイの機能

  1. ステートフル API とステートレス API の両方をサポートしています。 (例: Websocket、HTTP、REST)。
  2. 強力な認証メカニズムには、AWS ID、アクセス管理ポリシー、および Lambda オーソライザーが含まれます。
  3. API 開発者が API を公開できる開発者ポータル。
  4. アラームを設定するオプションを含む、CloudWatch の実行とアクセスのログ。
  5. などの他の AWS サービスとの統合 AWSラムダ そして AWS キネシス。
  6. AWS WAF との統合は Web エクスプロイトに対する保護に使用され、AWS X-Ray はパフォーマンスのレイテンシーを理解し強調するために使用されます。

Amazon API Gateway の使用開始

次に、サーバーレス API を作成します。 サーバーレス API では、サーバーの管理に時間を費やす代わりに、アプリケーションに集中できます。 それはこのように動作します:

  • API はクライアントによって呼び出されます
  • API がラムダにリクエストを送信します
  • Lambda はラムダ関数を実行し、結果を API に返します。
  • ラムダから結果を受け取った後、API はクライアントに応答します

HTTP API

ステップ 1 – ラムダ関数を作成する

Lambda 関数は、API のバックエンドに使用されます。 Lambda は、必要な場合にのみコードを実行します。 また、XNUMX 日に数回のリクエストから毎秒 XNUMX リクエストまで自動的にスケーリングします。

ラムダ関数を作成する

ラムダ関数の作成:

1) https://console.aws.amazon.com/lambda のラムダ コンソールに移動します。

2) [関数の作成] をクリックします。

3) 関数名として「my-function」と入力します。

4) ランタイムとして Python 3.9 を選択します。

5) このデモではデフォルトのアクセス許可で十分であるため、この機能では [アクセス許可と詳細設定] タブで何も変更する必要はありません。

4) [関数の作成] をクリックします。

ステップ 2 – HTTP API の作成

Amazon API

HTTP API は、Lambda 関数の HTTP エンドポイントを提供します。 それはこのように動作します:

  • クライアントはクエリを HTTP API に送信します
  • API がラムダをトリガーし、ラムダ関数を実行します。
  • Lambda は結果を API に送信します
  • API は受信した応答でクライアントに応答します

HTTP API を作成する手順

1) https://console.aws.amazon.com/apigateway で API Gateway コンソールにアクセスします。

2) Build をクリックして、最初の HTTP API を作成します。

3) 統合のための統合の追加をクリックします

4) ラムダを選択します。

5) ラムダ関数 my-function を入力します。

6) API 名には、my-http-api を入力します。

7) [次へ] をクリックします。

8) 作成されたルートを確認し、[次へ] を選択します。

9) 作成されたステージを確認し、[次へ] を選択します。

10) [作成] をクリックします。

ステップ 3 API をテストする –

次に、API が機能していることを確認するために API をテストする必要があります。 このために、Web ブラウザーを使用して API を呼び出します。

Amazon API

API をテストするには

  1. https://console.aws.amazon.com/apigateway で API Gateway コンソールに移動します。
  2. API を選択します。
  3. API の呼び出し URL を書き留めます。 (上の画像を参照)
  4. API の呼び出し URL をコピーして、Web ブラウザーに貼り付けます。 呼び出し URL とラムダ関数の名前を結合して、Lambda 関数を呼び出します。 API Gateway コンソールは、デフォルトで Lambda 関数の名前「my-function」を使用してルートを作成します。 

    完全な URL は https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function のようになります。この URL をロードすると、GET リクエストがブラウザから API に送信されます。

  1. 「Hello from Lambda!」というテキストが表示されるはずです。 ブラウザで。 したがって、API の応答が検証されます。

Amazon API

まとめ

Amazon API Gateway と AWS Lambda を使用して、最初の HTTP API を作成しました。 さらに、同じもののさまざまなユースケースを調べることができ、同様に、より多くの機能を提供する REST API を作成することもできます。

この記事は気に入りましたか? 以下のコメントであなたの考えを教えてください。 また、次に読みたい記事を忘れずに記載してください。

タイムスタンプ:

より多くの 分析Vidhya