ステップ 5: サービス アカウントと認証情報を作成する

このステップでは、Apigee ハイブリッドの運用に必要な Google Cloud サービス アカウントと TLS 認証情報を作成する方法について説明します。

サービス アカウントを作成する

Apigee ハイブリッドは Google Cloud サービス アカウントを使用して、承認された API 呼び出しによるハイブリッド コンポーネント間の通信を許可します。

このステップでは、Apigee ハイブリッド コマンドライン ツールを使用して、一連のサービス アカウントを作成し、サービス アカウントの秘密鍵ファイルをダウンロードします。

サービス アカウントの詳細と、本番環境に推奨されるサービス アカウントの一覧については、以下をご覧ください。

Apigee が提供するツールである create-service-account を使用すると、1 つのコマンドでサービス アカウントを作成し、サービス アカウントにロールを割り当て、サービス アカウントのキーファイルを作成してダウンロードできます。関連する Google Cloud のコンセプトの詳細については、サービス アカウントの作成と管理サービス アカウント キーの作成と管理をご覧ください。

  1. プロジェクト ディレクトリ構造を設定するで構成した base_directory/hybrid-files ディレクトリ内にいることを確認します。
  2. hybrid-files ディレクトリ内から次のコマンドを実行します。このコマンドにより、apigee-metrics コンポーネントのサービス アカウントが作成され、ダウンロードされた鍵が ./service-accounts ディレクトリに配置されます。
    ./tools/create-service-account apigee-metrics ./service-accounts

    次のプロンプトが表示されたら、「y」と入力します。

    [INFO]: gcloud configured project ID is project_id.
     Press: y to proceed with creating service account in project: project_id
     Press: n to abort.

    ツールによって割り当てられた名前で SA が初めて作成された場合は、ツールが作成するだけで、他の操作は不要です。

    ただし、次のメッセージとプロンプトが表示されたら、「y」を入力して新しい鍵を生成してください。

    [INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not de-activate existing keys)
     Press: n to skip generating new keys.
    
  3. 次のコマンドを使用して、残りのサービス アカウントを作成します。create-service-account コマンドはインタラクティブ形式となっていて、アカウントごとにレスポンスが必要です。
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts
    ./tools/create-service-account apigee-watcher ./service-accounts
    ./tools/create-service-account apigee-distributed-trace ./service-accounts
  4. 次のコマンドを使用して、サービス アカウント キーが作成されたことを確認します。これらの秘密鍵は安全に保存する必要があります。鍵ファイルの名前の先頭に、Google Cloud プロジェクトの名前が付加されます。
    ls ./service-accounts

    結果は次のようになります。

    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-distributed-trace.json
    gcp-project-id-apigee-logger.json
    gcp-project-id-apigee-mart.json
    gcp-project-id-apigee-metrics.json
    gcp-project-id-apigee-synchronizer.json
    gcp-project-id-apigee-udca.json
    gcp-project-id-apigee-watcher.json

TLS 証明書を作成する

Apigee ハイブリッド構成では、ランタイム Ingress ゲートウェイの TLS 証明書を指定する必要があります。このクイックスタートの目的は、非本番環境へのトライアル インストールであるため、ランタイム ゲートウェイは自己署名認証情報を受け入れます。次の手順では、openssl を使用して自己署名認証情報を生成します。

このステップでは、TLS 認証情報ファイルを作成して base_directory/hybrid-files/certs ディレクトリに追加します。ステップ 6: クラスタを構成するでは、クラスタ構成ファイルにファイルパスを追加します。

  1. プロジェクト ディレクトリ構造を設定するで構成した base_directory/hybrid-files ディレクトリ内にいることを確認します。
  2. 次のコマンドを使用して、ドメイン名を DOMAIN 環境変数に保存します。
    echo $DOMAIN
  3. hybrid-files ディレクトリ内から次のコマンドを実行します。
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650

    ここで、DOMAIN は、パート 1、ステップ 5: 環境グループを作成するで環境用に使用したものと同じです。

    このコマンドは、このクイックスタートのインストールに使用できる自己署名証明書と鍵のペアを作成します。

  4. 次のコマンドを使用して、ファイルが ./certs ディレクトリにあることを確認します。
    ls ./certs
      keystore.pem
      keystore.key

    keystore.pem は自己署名 TLS 証明書ファイル、keystore.key は鍵ファイルです。

これで、Kubernetes クラスタで Apigee ハイブリッドを管理するために必要なサービス アカウントと認証情報が準備されました。次に、Kubernetes がハイブリッド ランタイム コンポーネントをクラスタにデプロイするときに使用するファイルを作成します。

1 2 3 4 5 (次)ステップ 6: ハイブリッド ランタイムを構成する 7