💭
GCPのAPIGWにおけるAPI更新方法について
本記事は2024年10月16日に執筆したものです。所属会社のTech Blogプラットフォーム移行に伴い、当該記事を他プラットフォームから移行しました。
はじめに
どうも、@to_fmak
です。最近GCPのAPI Gatewayを使ってAPI管理を始めたので、API更新方法についてメモ書き程度にまとめます。
注意事項
PoC段階のため、現在はIaCやCICDを導入していません。
APIの作成と更新手順
作成手順
- OpenAPI仕様の
openapi.yamlを作成 - API Gatewayを作成
- API構成を作成し、
openapi.yamlを指定 - APIをデプロイ
更新手順
- 新しいAPI構成を作成
- Gatewayを新しいAPI構成で更新
- 古い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
- https://cloud.google.com/api-gateway/docs/creating-api?hl=ja
- https://cloud.google.com/api-gateway/docs/creating-api-config?hl=ja
- https://cloud.google.com/api-gateway/docs/deploying-api?hl=ja
エンジニア募集中
Gakken LEAPは日々、教育のアップデートに取り組んでいます。
興味をお持ちいただいた方は、採用サイトをチェックしてみてください。
Ed-Tech事業の開発及びコンサルティング業務 / 学研グループ各社およびグループ外企業のIT事業・サービスに関する企画、開発、導入支援、運用並びにそれらに関するコンサルティング / ベンチャー企業・ベンチャーキャピタルに対する投資と養成、を行なっている会社です。 gakken-leap.co.jp/
Discussion