💭

GCPのAPIGWにおけるAPI更新方法について

に公開

本記事は2024年10月16日に執筆したものです。所属会社のTech Blogプラットフォーム移行に伴い、当該記事を他プラットフォームから移行しました。

はじめに

どうも、@to_fmak
です。最近GCPのAPI Gatewayを使ってAPI管理を始めたので、API更新方法についてメモ書き程度にまとめます。

注意事項

PoC段階のため、現在はIaCやCICDを導入していません。

APIの作成と更新手順

作成手順

  1. OpenAPI仕様の openapi.yaml を作成
  2. API Gatewayを作成
  3. API構成を作成し、openapi.yaml を指定
  4. APIをデプロイ

更新手順

  1. 新しいAPI構成を作成
  2. Gatewayを新しいAPI構成で更新
  3. 古いAPI構成を削除(オプション)

管理コンソールについて

現段階では、基本的にGCPの管理コンソールでリソース作成や更新を手動で行っています。ただし、新しいAPI構成の作成やGatewayの更新はコンソールからはできないため、CLIを使っています。

CLIによる更新手順

CloudShellを使って、以下のCLIコマンドでAPIを更新します。

# 新しいAPI構成の作成(古いAPI構成をsample-api-01とします)
gcloud api-gateway api-configs create sample-api-02 \
    --api=sample-api \
    --openapi-spec=sample.yaml \
    --project=sample-pj

# Gatewayを新しいAPI構成で更新
gcloud api-gateway gateways update sample \
    --api=sample-api \
    --api-config=sample-api-02 \
    --project=sample-pj \
    --location=asia-northeast1

# 新しいAPI構成の確認(オプション)
gcloud api-gateway gateways describe sample \
    --project=sample-pj \
    --location=asia-northeast1

# 古いAPI構成の削除(オプション)
gcloud api-gateway api-configs delete sample-api-01 \
    --api=sample-api \
    --project=sample-pj

課題

今後はTerraform等のIaCツールでインフラのコード化し、CICD環境も整備していきたいと考えています。

参考URL

エンジニア募集中

Gakken LEAPは日々、教育のアップデートに取り組んでいます。
興味をお持ちいただいた方は、採用サイトをチェックしてみてください。

Gakken LEAP Developers

Discussion