バナー画像

Amazon API Gatewayについてまとめています。

AWS API GATEWAYは、規模に応じてAPIを作成、維持、保護をおこなうサービス

AWS API GATEWAYは、バックエンドのシステムやデータをAPI経由で利用できるようにするためのサービスです。RESTful API や WebSocket API でシステムにアクセスできるようにし、 JavaScript、iOS、Androidなど複数の言語用のクライアント SDK を生成します。

また、サードパーティ開発用のAPIキーを配布することも可能。APIキーごとにきめ細かいアクセス権限を設定できます。

APIタイプとして、RESTful APIとWEBSOKET APIの2タイプを選択可能です。HTTP経由でやりとりをおこなうRESTful APIと、双方向のリアルタイム通信をおこなうWebSocket APIの最適なタイプを選べます。

関連)Amazon API Gateway(規模に応じた API の作成、維持、保護)| AWS

以下は、AWSマネジメントコンソールから、REST APIを構築する例です。

REST APIの場合は、新しいAPIを構築するか、SwaggerまたはOpen API 3からインポートするか、サンプルAPIでサービスを構築するかを選択できます。以下は、提供されているペットストアを想定したデモのサンプルAPIの一部です。APIの動作確認ができます。

{
  "swagger": "2.0",
  "info": {
    "description": "Your first API with Amazon API Gateway. This is a sample API that integrates via HTTP with our demo Pet Store endpoints",
    "title": "PetStore"
  },
  "schemes": [
    "https"
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "pets"
        ],
        "description": "PetStore HTML web page containing API usage information",
        "consumes": [
          "application/json"
 :
 :

Amazon API GatewayでSDKを使う

Amazon API Gatewayでは、JavaScript、iOS、Android、Rubyなど各種言語のSDKを生成することができます。以下は、JavascriptのSDKを使用する例です。まずは以下のように必要となるモジュールを読み込みます。

<script type="text/javascript" src="lib/axios/dist/axios.standalone.js"></script>
<script type="text/javascript" src="lib/CryptoJS/rollups/hmac-sha256.js"></script>
<script type="text/javascript" src="lib/CryptoJS/rollups/sha256.js"></script>
<script type="text/javascript" src="lib/CryptoJS/components/hmac.js"></script>
<script type="text/javascript" src="lib/CryptoJS/components/enc-base64.js"></script>
<script type="text/javascript" src="lib/url-template/url-template.js"></script>
<script type="text/javascript" src="lib/apiGatewayCore/sigV4Client.js"></script>
<script type="text/javascript" src="lib/apiGatewayCore/apiGatewayClient.js"></script>
<script type="text/javascript" src="lib/apiGatewayCore/simpleHttpClient.js"></script>
<script type="text/javascript" src="lib/apiGatewayCore/utils.js"></script>
<script type="text/javascript" src="apigClient.js"></script>

以下のコードで、SDK を初期化します。

var apigClient = apigClientFactory.newClient();

SDK を AWS認証情報で初期化するには、以下のようなコードで、アクセスキーとシークレットキーを指定します。

var apigClient = apigClientFactory.newClient({
accessKey: 'ACCESS_KEY',
secretKey: 'SECRET_KEY',
});

SDK で API キーを使用するには、APIキーを指定して、以下のようなコードを実行します。

var apigClient = apigClientFactory.newClient({
apiKey: 'API_KEY'
});

これで、APIをJavascriptから呼び出す準備ができました。

AWS API GATEWAYの料金

AWS API GATEWAYでは、APIのリクエスト回数によって料金が決まります。

関連)料金 – Amazon API Gateway | AWS

例えば、REST APIでは、100万アクセスあたりの料金は以下の通り。リクエスト回数が多いほど単価が安くなります。

REST APIでは、キャッシュオプションも用意されています。キャッシュを設定すると、キャッシュのメモリサイズに応じて1時間あたりの料金が変化します。

以下は、HTTP APIの100万アクセスあたりの料金です。REST APIに比べると、単価が安めに設定されています。

以下は、WebSocket APIの100万アクセスあたりの料金です。こちらも、REST APIに比べると単価が安めに設定されています。

AWS API GATEWAYのまとめ

ポテパンダの一言メモ
  • AWS API GATEWAYは、API経由でシステムやデータにアクセスできるようにするサービス
  • HTTP API、REST API、WEBSOCKET APIからAPIタイプが選択可能
  • JavaScript、iOS、Android、Rubyなどの言語からAPI利用するためのSDKを生成可能

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。