API 管理の削除

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

API 管理を削除しても、API の提供は停止されません。API の提供を停止するには、Google Cloud コンソールの [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

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

API 管理の削除の確認

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

  1. Google Cloud コンソールで、[Endpoints] > [サービス] ページに移動します。

    [Endpoints] の [サービス] ページに移動

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

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

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

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

  6. Google Cloud コンソールで、[Endpoints] > [サービス] ページに移動します。

    [Endpoints] の [サービス] ページに移動

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

  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 用のマネージド サービスを作成します。[Endpoints] の [サービス] ページのデータや、[ログビューア] ページの [生成された API] ログのデータが不要な場合は、API 用のマネージド サービスを削除することで、Google Cloud コンソールからデータを削除できます。

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

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

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

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

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

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

    gcloud endpoints services delete SERVICE_NAME
    

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

次のステップ