※本ページではアフィリエイトリンク(PR)が含まれています※

GCP入門

【5分でわかる】API Gatewayの概要と使い方 | GCP入門

この記事では、Google Cloud Platform(GCP)のGoogle Cloud API Gatewayについて詳しく解説します。5分で基本的な概要と使い方理解し、チュートリアルを通して実践的なスキルを磨いていきましょう!

想定している読者

Google Cloud API Gatewayを実際に動かしながら理解したい方

Google Cloud API Gatewayとは

Google Cloud API Gatewayは、Google Cloud Platform (GCP) のサービスの一部で、APIのデプロイ、セキュア、監視、およびスケールのための完全に管理されたサービスです。開発者はこのサービスを使用して、エンドポイントのセキュリティを簡単に保護し、トラフィックを制御し、APIの使用を分析することができます。

筆者

簡単にAPIのGatewayシステムを構築できます

Google Cloud API Gatewayの主な特徴と機能

Google Cloud API Gatewayの主な特徴と機能は以下になります。

APIエンドポイントへのアクセスをセキュアに制御

OAuth 2.0トークン検証やAPIキーの使用を通じて、APIエンドポイントへのアクセスをセキュアに制御することができます。

トラフィック制御

APIへのリクエスト数を制限するためのクオータ管理や、異常なトラフィックの検出などの機能を提供しています。

監視とログ

Google Cloud’s Operations Suite (以前はStackdriverとして知られていました) との統合により、APIのパフォーマンスの監視やログの収集が簡単に行えます。

OpenAPI Specificationのサポート

開発者はOpenAPIの仕様を使用してAPIを定義し、その仕様を基にAPI Gatewayをデプロイすることができます。

複数のバックエンドサポート

Cloud Functions, Cloud Run, App Engineなど、様々なGoogle CloudのサービスをAPIのバックエンドとして接続できます。

フルマネージド

API Gatewayはサーバーレスであり、スケーリングやインフラの管理を気にすることなく、APIをデプロイと運用することができます。

筆者

無料枠も豊富で個人開発でも重宝しています!

Google Cloud API Gatewayの基本的な使い方

ここから実際にGoogle Cloud API Gatewayに触れながら機能を理解していきましょう。

具体的な手順について説明していきたいと思います。

事前準備

今回の手順以下の作業が全て完了している前提で進めていきます。

  • Googleアカウントの取得
  • GCPへ初回ログイン済

チュートリアル:Google Cloud API Gatewayをデプロイする

今回は、コンソールなどを使用せずGCPの画面操作のみで、Google Cloud API Gatewayをデプロイしてみましょう。

今回のチュートリアルは2023年9月時点のGCPを利用しています。最新のGCPのバージョンからUIの変更がされている可能性がございますのでご注意ください

今回はバックエンドのAPIをCloud Functionsでデプロイし、そのAPIとGoogle Cloud API Gatewayを接続するようなアーキテクチャを実現してみます。

Cloud FunctionsでAPIを作成/デプロイする

まずはCloud FunctionsでAPIを作成し、デプロイします。

1. Cloud Functionsにアクセスする

検索窓から「Cloud Functions」と入力し、出てきた選択肢を押下します。

2. ファンクションを作成する

「ファンクションを作成」ボタンを押下します

初めてCloud Functionsを利用する場合は、以下のような画面で他APIの利用許可を求められるので「有効にする」を選択してください。

3.ファンクションの設定をする

ファンクションの詳細設定を行います。

今回は以下のように設定しました。

項目名概要今回の設定値
関数名ファンクションに任意の名前を設定demo-function-1
リージョンファンクションを置いておく場所asia-northeast1
認証APIを実行する際に認証を必要とするか設定未認証の呼び出しを許可

他入力項目については今回特別変更を加える必要はありません。全てデフォルトの値を設定します。

「次へ」ボタンを押下します。

初めてCloud Functionsを利用する場合は、再度以下のような画面で他APIの利用許可を求められるので「有効にする」を選択してください。

4. 実行するファンクションのランタイムと処理内容を設定する

今回はPythonを利用したかったのでランタイムはPython 3.11を設定しました。

ソースコードはデフォルトのもので問題ありません。今回はAPIコールをしたらHello Worldという文字列が表示される処理内容となっています。

最後に「デプロイ」ボタンを押下します。

これでAPIがデプロイされました。(デプロイまで数分待ちます)

5 . APIをコールしてみる

早速、デプロイされたAPIをコールしてみましょう。

以下の部分よりURLを確認して押下してください。

すると以下のようにHello Worldという文字列が表示されるかと思います。

これで正常にデプロイと処理内容が実行されていることが確認できました。

API Gatewayを作成する

では本題のAPI Gatewayを使ってみましょう!

1. API Gatewayにアクセスする

API Gatewayにアクセスするには、コンソールの検索窓に「API Gateway」と入力すれば選択肢が表示されますのでそちらを押下してください

初めてAPI Gatewayを利用した方は以下のようなダイアログが表示されますので「LAUNCH」を押下して全てのAPIを実行可能な状態にしましょう。

各画面で「有効にする」ボタンが表示されますので、そちらを押下してください。すると前の画面に戻りますので、Service Control APIの方も同じように有効にしていきます。

2. API Gatewayの作成

API Gatewayのホーム画面に遷移しますので、そこから「ゲートウェイを作成」ボタンを押下します。

次にAPIの設定を行います。

今回、API構成の項目については以下のように設定しました

項目設定する値
構成を選択新しいAPI構成の作成
API使用をアップロード参照ボタンを押下してファイルをアップロードする
表示名demo-api
サービスアカウントを選択App Engine default service account

アップロードするファイルについてですが、openapi2-functions.yamlという名前で以下の内容を設定してアップロードします。

# openapi2-functions.yaml
swagger: '2.0'
info:
  title: demo-api
  description: Sample API on API Gateway with a Google Cloud Functions backend
  version: 1.0.0
schemes:
  - https
produces:
  - application/json
paths:
  /hello:
    get:
      summary: Greet a user
      operationId: hello
      x-google-backend:
        address: //Cloud Functions でデプロイしたAPIのURLを設定する
      responses:
        '200':
          description: A successful response
          schema:
            type: string

特に意識していただきたいのでは、以下の赤枠の部分です。

titleについては、任意のapiを設定します。

/helloについてはAPI Gatewayデプロイ後にAPIをコールする際に公開URLの後に付与することになります。

addressは、Cloud FunctionsでデプロイしたAPIの公開URLを設定します。

ゲートウェイの詳細の項目については、以下の値を設定してください。

項目設定する値
表示名demo-api-gateway
場所asia-northeast1

入力が完了したら最後に「ゲートウェイを作成」ボタンを押下してください。

デプロイ完了まで数分待ちます。

3. デプロイしたAPI Gatewayの確認

デプロイが完了したら以下のような画面になりますので、今回デプロイしたdemo-api-gatewayを押下してください。

ゲートウェイタブを選択して、「ゲートウェイのURL」の項目をコピーします。

コピーしたURLの後ろに先ほどopenapi2-functions.yamlで設定した /helloを付与して、ブラウザでアクセスします。

すると以下のようにHello Worldと表示されればAPIの実行が成功したことになります。

以上でAPI Gatewayが無事デプロイされたことを確認することができました。

まとめ:API Gatewayを使いこなそう!

今回はAPI Gatewayの使い方について解説しました。

いかがでしたか?

この機会にぜひAPI Gatewayを習得してみてください!

もっとGCPを極めたい方は参考ください!

未経験からGCPを完璧に理解するためのロードマップをまとめました!

GCPの認定試験も大変おすすめです!ぜひ挑戦してみてください!