API 管理の削除

Google Cloud でアプリケーションに API 管理を追加した後に API 管理機能が不要になった場合は、Cloud Endpoints Frameworks を構成して API の管理を停止できます。

API 管理を削除しても、API の提供は停止されません。API の提供を停止するには、Google Cloud Console の [App Engine の設定] ページでアプリケーションを無効にするか、Google Cloud プロジェクトを削除します。詳しくはアプリケーションを無効にする、およびプロジェクトをシャットダウンするをご覧ください。

API 管理を削除するには:

  1. API プロジェクトの web.xml ファイルと appengine-web.xml ファイルのバックアップを作成します。

  2. API プロジェクトの web.xml ファイルで、以下を削除します。

    • endpoints-api-configuration フィルタ。
    • endpoints-api-controller フィルタ。
    • endpoints-api-configurationフィルタ マッピング。
    • endpoints-api-controllerフィルタ マッピング。

    フィルタとフィルタ マッピングを削除すると、web.xml は次のようになるはずです。

    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
                 version="3.1">
            <!-- Wrap the backend with Endpoints Frameworks v2. -->
            <servlet>
                <servlet-name>EndpointsServlet</servlet-name>
                <servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
                <init-param>
                    <param-name>services</param-name>
                    <param-value>com.example.skeleton.MyApi</param-value>
                </init-param>
            </servlet>
            <!-- Route API method requests to the backend. -->
            <servlet-mapping>
                <servlet-name>EndpointsServlet</servlet-name>
                <url-pattern>/_ah/api/*</url-pattern>
            </servlet-mapping>
        </web-app>
  3. appengine-web.xml ファイルから ENDPOINTS_SERVICE_NAME 環境変数を定義する行を削除します。定義した環境変数が ENDPOINTS_SERVICE_NAME だけの場合、env-variables セクション全体を削除します。

  4. プロジェクトを削除してから API をビルドします。

    Maven

            mvn clean
            mvn package

    Gradle

            gradle clean
            gradle build
  5. アプリケーションを再デプロイします。

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

アプリケーションを再デプロイすると、Cloud Endpoints Frameworks により API の管理が停止されます。

API 管理の削除の確認

Endpoints Frameworks で API の管理が停止されたことを確認するには:

  1. Cloud Console で、[エンドポイント] > [サービス] ページに移動します。

    [エンドポイント] の [サービス] ページに移動

  2. API のいずれか 1 つのメソッドに対するリクエストの数を書き留めます。

  3. メソッドの [View logs] リンクをクリックします。

  4. Produced API ログで、最新のログエントリの日付と時刻を書き留めます。

  5. API のそのメソッドにリクエストをいくつか送信します。

  6. Cloud Console で、[エンドポイント] > [サービス] ページに移動します。

    [エンドポイント] の [サービス] ページに移動

    メソッドのリクエスト カウンタは更新されません。

  7. メソッドの [View logs] リンクをクリックします。

    Produced API ログには、送信したリクエストのログエントリは含まれません。

ビルド構成から依存関係を削除する

必須ではありませんが、ビルド構成から依存関係を削除することをおすすめします。

ビルド構成から依存関係を削除するには、次の手順に従います。

  1. pom.xml ファイルまたは build.gradle ファイルのバックアップを作成します。

  2. 次の依存関係を削除します。

    • endpoints-management-control-appengine
    • endpoints-management-control-appengine-all
    • endpoints-framework-auth
  3. プロジェクトを削除してから API をビルドします。

    Maven

            mvn clean
            mvn package

    Gradle

            gradle clean
            gradle build
  4. アプリケーションを再デプロイします。

    Maven

    mvn appengine:deploy

    Gradle

    gradle appengineDeploy

  5. API をテストして、期待通りに機能していることを確認します。

マネージド サービスの削除

Endpoints Frameworks では、Google の Service Management を使用して API を管理します。 gcloud endpoints services deploy コマンドを使用して OpenAPI ドキュメントをデプロイすると、Service Management を使用したこのコマンドは API 用のマネージド サービスを作成します。[エンドポイント] の [サービス] ページのデータや、[ログビューア] ページの [生成された API] ログのデータが不要な場合は、API 用のマネージド サービスを削除することで、Cloud Console からデータを削除できます。

マネージド サービスを削除するには:

  1. Cloud SDK(gcloud)が、Google Cloud にある対象のデータとサービスにアクセスできるよう許可されていることを確認します。

    gcloud auth login
        
  2. 次のコマンドを入力して、Google Cloud プロジェクトのプロジェクト ID を表示します。

    gcloud projects list
        
  3. 前の手順で表示されたプロジェクト ID のうち、アプリケーションが含まれるプロジェクトの ID をデフォルト Cloud プロジェクトに設定します。

    gcloud config set project [YOUR_PROJECT_ID]
        
  4. Cloud プロジェクト内のすべてのマネージド サービスの名前を取得します。

    gcloud endpoints services list
        
  5. Service Management からサービスを削除します。SERVICE_NAME は、削除するサービスの名前に置き換えます。

        gcloud endpoints services delete SERVICE_NAME
        

    gcloud endpoints services delete コマンドを実行しても、マネージド サービスはすぐに削除されません。すなわち、マネージド サービスは 30 日間無効にされるだけで、その間はいつでも必要な場合にサービスを復元できます。30 日後、マネージド サービスは完全に削除されます。

次のステップ