• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

  • エンタープライズ向け
    • プロダクト
    • お問い合わせ
  • スタートアップ向け
    • プロダクト
    • 無料で登録
  • お役立ち資料
    • ドキュメント
  • 日本語日本語
    • EnglishEnglish
現在の場所:ホーム / API ブログ / API Gatewayの概要とメリット

API Gatewayの概要とメリット

2019年 3月 20日 By rakuten コメントを書く

Table of Contents

    • 0.1 API Gatewayとは?概要やメリットを紹介!
  • 1 API Gatewayとは?
  • 2 API Gatewayのメリット
  • 3 Amazon API Gatewayを経由してAmazon Lambdaを実行するには?
    • 3.1 Lambdaの作成手順
    • 3.2 API Gatewayの作成手順
  • 4 Rakuten Rapid APIの「Amazon Lambda」APIを使う
  • 5 外部サービスを活用すれば「できること」が広がる
    • 5.1 Full-Text RSS
    • 5.2 Tweet Sentiment Analysis
    • 5.3 Recipe – Food – Nutrition
    • 5.4 Spotify
    • 5.5 Taggun
    • 5.6 Share this:

API Gatewayとは?概要やメリットを紹介!

 

APIの管理や実行を容易にすることができる仕組みである「API Gateway」。API Gatewayは、Amazon Web Servicesから利用できるAmazon Lambdaと連携することで、より便利に活用することが可能となります。ここでは、API GatewayおよびAmazon Lambdaとは何か、それらを連携する方法、Rakuten RapidAPIの「Amazon Lambda」APIを使う手順などについて紹介します。

API Gatewayとは?

Amazon API Gateway

API Gatewayとは、クライアントから受け取ったリクエストを、それぞれのマイクロサービスにルーティングする仕組みのことです。通常のマイクロサービス・アーキテクチャの場合、クライアントとそれぞれのAPIは、個別に通信を行うことになります。例えば、1つのWebサービスに「決済サービス」や「ショッピングカート」、「メール機能」、「レコメンド機能」といった複数のAPIが使われていた場合、それぞれのAPIと個別に通信が発生することになります。

一方、API Gatewayを使用した場合は、クライアントはすべてのAPIへのリクエストをAPI Gatewayへの通信として行い、そこからAPI Gatewayを経由して、「決済サービス」や「ショッピングカート」といった個々のAPIと通信が行われる流れになります。このため、クライアントが通信を行うのはAPI GatewayのAPIのみとなります。

API Gatewayの代表的なサービスとしては、AmazonによるAPIの作成・配布のプラットフォームである「Amazon API Gateway」があります。「Amazon API Gateway」は、Webサービスの開発者がAPIを公開したり、公開済みAPIの保守やモニタリング、セキュリティの設定を行ったりするためのサービスです。Amazon API Gatewayを利用することで、時間をかけることなく、効率的にAPIを管理でき、新たなサービスの開発を進めやすくすることが可能となります。

Amazon Lambda

API Gatewayのメリット

API Gatewayを利用するメリットとしては、

  • 複雑なAPI処理をまとめることができる
  • 複数のAPIを扱っている場合に、それらをまとめてサーバーサイドでモニタリングし、認証や管理を行える

などが挙げられます。さらに、

  • 複数バージョンのAPIを簡単に管理できる
  • 低料金で利用できる、柔軟なセキュリティ管理ができる

といった点もAPI Gatewayを利用するメリットとなります。

 

Amazon API Gatewayを経由してAmazon Lambdaを実行するには?

API Gatewayは、Amazon Lambdaと合わせて利用することで、より便利に活用できます。Amazon Lambdaは、Amazonが提供するクラウドコンピューティングサービスAWS(Amazon Web Services)で利用することが可能です。

Lambdaの作成手順

Lambdaを作成するときは、以下の手順で操作を進めていきます。

  1. Amazon LambdaのマネジメントコンソールからLambdaのページへ移動します。
  2. 「関数の作成」ボタンをクリックし、関数の作成を開始します。
  3. あらかじめ用意されたテンプレートを使う場合は、テンプレート名に「hello-world-python3」を選択します。
  4. 「基本的な情報」に任意の名前を入力したあと、「テンプレートから新しいロールを選択」をクリックします。
  5. 任意のロール名を選択します。
  6. ページ最下部にある「関数の作成」をクリックすると、Lambdaが作成されます。

API Gatewayの作成手順

さらに、以下に示した手順でAPI Gatewayの作成も行う必要があります

  1. API Gatewayのページから「今すぐ始める」をクリックします。
  2. 「新しいAPI」に任意の名前を入力し、「APIを作成」をクリックします。
  3. 作成された新しいAPIの「リソースを作成」に任意の名前を入力し、新しいリソースを作成します。
  4. 「メソッドの作成」でメソッドを新規に作成します。
  5. ドロップダウンリストから「post」を選択してチェックボタンをクリックし、その後に表示される「セットアップ」で総合タイプに「Lambda関数」を選択します。
  6. LambdaリージョンとLambda関数を設定し、「保存」をクリックします。
  7. 「API GatewayにLambdaを呼び出す権限を与えようとしています」というメッセージが表示されるので、「OK」をクリックします。

これでリソースとメソッドの作成が完了します。

Amazon Lambda

以上のようにAPI GatewayとLambdaを連携することで、インフラを気にすることなくコードを実行できるようになります。

Rakuten Rapid APIの「Amazon Lambda」APIを使う

Rakuten RapidAPIでも、Lambdaを利用するための「Amazon Lambda」APIが公開されています。「Amazon Lambda」APIを利用するには、まず、Amazonコンソールにログインし、新規ユーザーを作成します。次に、そのユーザーを既存のグループに割り当てると、そのユーザーについての資格情報が表示されます。

ここで指定できるカスタムデータ型には、日付や時刻を含む文字列「Datepicker」、経度と緯度をカンマ区切りで記した文字列「Map」、単純な数字や文字列の配列「List」、定義済の値を持つ文字列「Select」、オブジェクトの配列「Array」などがあります。

続いて、詳細な設定を行っていきます。例えば、「AmazonLambda.addPermission」では、指定したAmazon Lambda関数に関連付けられているリソースポリシーに権限を追加します。ここで指定するフィールドには、Amazon AWSのアクセスキーIDを示す「apiKey」、地域を示す「region」、Amazon Lambdaのバージョンを示す「version」、Lambda関数の名前を示す「functionName」、固有のステートメントIDを示す「statementId」、このステートメントで許可したいAmazon Lambdaアクションを示す「sourceArn」などが挙げられます。

そのほか、指定されたLambda関数バージョンのエイリアスを作成する「AmazonLambda.createAlias」、ストリームをLambda関数のイベントソースとして識別する「AmazonLambda.createEventSourceMapping」、直接リンクを使用して新しいLambda関数を作成する「AmazonLambda.createFunction」などについても設定が可能です。

Amazon Lambda

外部サービスを活用すれば「できること」が広がる

Rakuten RapidAPIの「Amazon Lambda」APIを使うことで、外部サービスとの連携が容易になり、より柔軟なWebサービスの開発が可能になります。

このほかにも、Rakuten RapidAPIでは、さまざまなAPIが公開されています。以下に、その例をいくつか紹介しておくので参考にしてください。

Full-Text RSS

Webページから記事コンテンツを抽出して、部分的なウェブフィードをフルテキストフィードに変換し、その結果をRSSやJSONとして取得します。

Tweet Sentiment Analysis

TwitterやFacebookの投稿など、短いテキストに対して「その内容がポジティブなものか、それともネガティブなものか」、または「ニュートラルなものか」といった感情情報を返します。さらに、その確率がどれほど強いのかを示すスコアも返します。

Recipe – Food – Nutrition

365,000以上のレシピと86,000種類の食品に関する情報を検索できます。栄養や料理に関する自然言語での検索も可能です。

Spotify

Spotify音楽カタログからデータを取得し、ユーザーが作成・保存したプレイリストや、お気に入り登録した音楽などを管理できます。

Taggun

レシートの画像をOCRして、合計金額、税額、購入日、商人情報、明細金額などの情報を短時間で認識します。

このように、Rakuten RapidAPIで利用できるAPIは多岐にわたります。そのジャンルは、グルメ情報やレシピを提供するものから、フライト情報や天気に関するもの、画像認識やテキスト解析などの技術を使うもの、音楽サービスから情報を取得するもの、など非常に幅広く、開発したいサービスに最適なAPIを選ぶことができます。

Rakuten RapidAPIへの登録は無料で行うことができます。利用中のAPIは一括で管理・追跡することができ、それぞれのAPIの利用状況やリアルタイムなパフォーマンスをまとめて監視することが可能です。これらを活用することで、Webサービス開発の効率化につなげられるはずです。

Rakuten RapidAPI

参考:

  • マイクロサービスの設計:API ゲートウェイ|Microsoft
  • AWS初心者入門 第7回 「Lambda」ってなにがスゴイんですか?|マネージドクラウド with AWS
  • Amazon API Gatewayのよくある質問|AWS
  • ゼロから作りながら覚えるAPI Gateway環境構築|DevelopersIO

 

5 / 5 ( 1 vote )

Share this:

  • Facebook で共有するにはクリックしてください (新しいウィンドウで開きます)
  • クリックして Twitter で共有 (新しいウィンドウで開きます)
  • クリックして LinkedIn で共有 (新しいウィンドウで開きます)
  • クリックして Reddit で共有 (新しいウィンドウで開きます)

Filed Under: API ブログ 関連タグ:api, Gateway

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最初のサイドバー

DXを促進しよう!

エンタープライズ版を利用すると、社内APIや社内の複数部署に存在するAPIをセキュリティを担保しながら一元管理でき、プロダクトのリリースをより高速で行うことができます。

もっと詳しく
  • エンタープライズ向け
  • スタートアップ向け
  • お役立ち資料
  • 日本語日本語

© 2021 Rakuten RapidAPI. All rights reserved.