· API 管理 · 2 min read
Cloud Endpoints を使った API の開発と管理
Google Cloud Endpoints を活用したセキュアな API 開発とその管理方法について解説します

Cloud Endpoints の基礎
Cloud Endpoints とは?
Cloud Endpoints は API を簡単に公開・管理できる Google Cloud のサービスです。Web アプリやモバイルアプリから安全に API を利用するための機能を提供します。
どんなときに使うの?
1. モバイルアプリのバックエンド API
- ユーザー認証
- データの送受信
- プッシュ通知
# ユーザー情報を取得する API の例
@endpoints.method(
UserRequest,
UserResponse,
path='user/{user_id}',
http_method='GET'
)
def get_user(self, request):
return UserResponse(name=user.name, email=user.email)
2. 外部パートナーとの API 連携
- API キーによるアクセス制限
- 利用量の監視
- セキュアな通信
3. マイクロサービス間の通信
- 内部 API の管理
- サービス間の認証
- トラフィック制御
主な機能
1. 認証・認可
- API キー
- OAuth 2.0
- Firebase 認証との連携
2. モニタリング
- API の利用状況
- エラー発生率
- レスポンス時間
3. セキュリティ
- HTTPS 対応
- クロスオリジン (CORS) 設定
- IP アドレス制限
実装例:シンプルな API の作成
# Flask を使った API の例
from flask import Flask, request
app = Flask(__name__)
@app.route('/api/hello')
def hello():
name = request.args.get('name', 'World')
return {'message': f'Hello, {name}!'}
デプロイの流れ
- API の実装
- OpenAPI (Swagger) 定義の作成
- Cloud Endpoints の設定
- デプロイ
運用管理
モニタリング画面
- API 呼び出し数
- エラー率
- レスポンスタイム
アラート設定
- エラー率が高い場合
- レスポンスが遅い場合
- 利用量が急増した場合
よくある使用例
1. ログイン API
@app.route('/api/login', methods=['POST'])
def login():
user = authenticate_user(request.json)
if user:
return generate_token(user)
return {'error': 'Invalid credentials'}, 401
2. データ取得 API
@app.route('/api/products')
def get_products():
limit = request.args.get('limit', 10)
return {'products': get_product_list(limit)}
始め方
- Google Cloud プロジェクトの作成
- Cloud Endpoints の有効化
- API の実装とテスト
- 本番環境へのデプロイ