接続モードでトークンを使用した登録と実行

始める前に

Flex Gateway を登録する前に、以下のタスクを完了する必要があります。

  • Flex Gateway のインストール

  • Anypoint Platform 管理者に Runtime Manager での​「Manage Servers (サーバーの管理)」​権限と​「Read Servers (サーバーの参照)」​権限を要求します。

  • Anypoint Platform インスタンスから以下の情報を収集します。

    • Flex Gateway を実行する組織の​組織 ID

      組織 ID の見つけ方については、​「組織 ID を見つける」​を参照してください。

    • Flex Gateway を実行する Anypoint Platform 環境の登録​トークン

      Runtime Manager に移動して、左側のナビゲーションにある ​[Flex Gateway]​ を選択し、​[Add Gateway (ゲートウェイを追加)]​ をクリックして、登録トークンを使用したコマンドブロックを含む命令セットを生成します。

トークンを使用した Linux サービスとしての登録と実行

Anypoint Platform で Flex Gateway を登録するには、登録コマンドに続いて開始コマンドを入力する必要があります。各コマンドには、Anypoint Platform インスタンスに特有の情報が含まれ、​実行前に更新する必要​があります。必要な情報の見つけ方については、​[始める前に]​を参照してください。

登録データの収集

Flex Gateway インスタンスを登録する前に、次の登録コマンドオプションの情報を収集します。

  • --token​ = Anypoint Platform の環境の登録トークン

  • --organization​ = Anypoint Platform の組織 ID

  • --split​ (省略可能) = 登録情報を複数のファイルに分割するかどうかを決定するフラグ。デフォルト値は ​false​ です。

    split​ が ​true​ に設定されている場合、登録情報は ​registration.yaml​ と ​certificate.yaml​ の 2 つのファイルに分割されます。​false​ の場合、すべての登録情報は 1 つの ​registration.yaml​ ファイルに含まれます。

  • --output-directory​ (省略可能) = 登録情報を出力するディレクトリ

  • my-gateway​ = ゲートウェイクラスターに割り当てる名前

Flex Gateway を登録する

コマンドオプションについて収集したデータを使用して、Flex Gateway インスタンスを登録します。

flexctl register \
--token=<your-registration-token> \
--connected=true \
--organization=<your-org-id> \
--output-directory=/usr/local/share/mulesoft/flex-gateway/conf.d \
my-gateway

このコマンドの実行時にファイル権限の問題が発生した場合は、​sudo​ を使用してください。

欧州では、​--anypoint-url=https://eu1.anypoint.mulesoft.com​ フラグをコマンドに追加する必要があります。

出力ディレクトリに次の新しい登録ファイルが含まれます。

  • registration.yaml

  • certificate.yaml​ (​split​ 登録パラメーターが ​true​ に設定されている場合にのみ生成。それ以外の場合、証明書情報は ​registration.yaml​ に含まれる)

生成されるこれらのファイルは、Flex Gateway を接続するためのログイン情報です。これらのファイルを消失すると、Flex Gateway を接続できなくなります。

UI でゲートウェイを検索するには、Runtime Manager の左側のナビゲーションで ​[← Flex Gateway]​ をクリックします。ゲートウェイの状況が ​[Disconnected (切断済み)]​ であることを確認します。必要に応じて、ページを更新します。

開始コマンド

次のコマンドで Flex Gateway を開始します。

sudo systemctl start flex-gateway

Flex Gateway サービスが正常に実行されていることを確認します。

systemctl list-units flex-gateway*

flex-gateway.service​ の状況が ​[active (アクティブ)]​ である場合、Flex Gateway は正常に実行されています。

  UNIT                              LOAD   ACTIVE SUB     DESCRIPTION
  flex-gateway.service              loaded active running Application

UI で新しいゲートウェイを検索するには、Runtime Manager の左側のナビゲーションで ​[← Flex Gateway]​ をクリックします。ゲートウェイの現在の状況が ​[Connected (接続済み)]​ であることを確認します。必要に応じて、ページを更新します。

NOTE

30 日経過すると、停止または削除されたゲートウェイが Runtime Manager UI から削除されます。それまでは、実行または接続されていなくても UI にゲートウェイが引き続きリストされます。

トークンを使用した Docker コンテナでの登録と実行

Anypoint Platform で Flex Gateway を登録するには、登録コマンドに続いて開始コマンドを入力する必要があります。各コマンドには、Anypoint Platform インスタンスに特有の情報が含まれ、​実行前に更新する必要​があります。必要な情報の見つけ方については、​[始める前に]​を参照してください。

登録データの収集

Flex Gateway インスタンスを登録する前に、次の登録コマンドオプションの情報を収集します。

  • --token​ = Anypoint Platform の環境の登録トークン

  • --organization​ = Anypoint Platform の組織 ID

  • --split​ (省略可能) = 登録情報を複数のファイルに分割するかどうかを決定するフラグ。デフォルト値は ​false​ です。

    split​ が ​true​ に設定されている場合、登録情報は ​registration.yaml​ と ​certificate.yaml​ の 2 つのファイルに分割されます。​false​ の場合、すべての登録情報は 1 つの ​registration.yaml​ ファイルに含まれます。

  • --output-directory​ (省略可能) = 登録情報を出力するディレクトリ

  • my-gateway​ = ゲートウェイクラスターに割り当てる名前

Flex Gateway を登録する

コマンドオプションについて収集したデータを使用して、Flex Gateway インスタンスを登録します。

flex-registration​ という名前 (または同様の名前) の新しいディレクトリを作成し、この新しいディレクトリで登録コマンドを実行します。コマンドにより、この場所に登録ファイルが作成されます。
docker run --entrypoint flexctl \
-v "$(pwd)":/registration -u $UID mulesoft/flex-gateway \
register \
--token=<your-registration-token> \
--connected=true \
--organization=<your-org-id> \
--output-directory=/registration \
my-gateway

このコマンドの実行時にファイル権限の問題が発生した場合は、​sudo​ を使用してください。

欧州では、​--anypoint-url=https://eu1.anypoint.mulesoft.com​ フラグをコマンドに追加する必要があります。

出力ディレクトリに次の新しい登録ファイルが含まれます。

  • registration.yaml

  • certificate.yaml​ (​split​ 登録パラメーターが ​true​ に設定されている場合にのみ生成。それ以外の場合、証明書情報は ​registration.yaml​ に含まれる)

生成されるこれらのファイルは、Flex Gateway を接続するためのログイン情報です。これらのファイルを消失すると、Flex Gateway を接続できなくなります。

UI でゲートウェイを検索するには、Runtime Manager の左側のナビゲーションで ​[← Flex Gateway]​ をクリックします。ゲートウェイの状況が ​[Disconnected (切断済み)]​ であることを確認します。必要に応じて、ページを更新します。

開始コマンド

登録コマンドを実行したディレクトリで、次の開始コマンドを実行します。

docker run --rm \
-v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \
-p 8080:8080 \
mulesoft/flex-gateway
-e ​FLEX_NAME​=<name-for-flex-replica> \ を含めて、Flex レプリカに割り当てる名前 (省略可能) を指定します。

UI で新しいゲートウェイを検索するには、Runtime Manager の左側のナビゲーションで ​[← Flex Gateway]​ をクリックします。ゲートウェイの現在の状況が ​[Connected (接続済み)]​ であることを確認します。必要に応じて、ページを更新します。

NOTE

30 日経過すると、停止または削除されたゲートウェイが Runtime Manager UI から削除されます。それまでは、実行または接続されていなくても UI にゲートウェイが引き続きリストされます。

トークンを使用した Kubernetes クラスターでの登録と実行

Flex Gateway を登録し、Helm を使用して Flex Gateway をクラスターのノードにデプロイし、Anypoint Platform に接続します。デプロイしたら、Runtime Manager を使用して、ゲートウェイが存在していて、Anypoint Platform に接続されていることを確認します。

ロールベースのアクセス制御 (RBAC) を有効にする Kubernetes クラスターに Flex Gateway をデプロイする場合、Flex Gateway で使用されるカスタムリソース定義 (CRD) のインストールを許可するクラスターレベルの権限が必要です。

次の手順を実行します。

通常、接続モードの Flex Gateway は、クラスター外からのトラフィックを受信するイングレスまたはエッジ API ゲートウェイとして機能します。Flex Gateway は、内部 (east-west) サービスのスタンドアロンゲートウェイとして機能することもできます。

大部分の管理は、Anypoint Platform 内で行われます。

  • API をクラスターにデプロイする。

  • ポリシーと他の設定を適用する。

  • リソース (設定とサービス​以外​) を作成する。

接続モードでは、​kubectl apply​ でリソースを作成できますが、次のリソース種別に限定されます。 ​tls​、​tls-inbound​、​tls-outbound​ 種別の Configuration、Service、Extension、PolicyBinding。リソースについての詳細は、「宣言型設定リファレンスガイド」を参照してください。

登録データの収集

Flex Gateway インスタンスを登録する前に、次の登録コマンドオプションの情報を収集します。

  • --token​ = Anypoint Platform の環境の登録トークン

  • --organization​ = Anypoint Platform の組織 ID

  • --split​ (省略可能) = 登録情報を複数のファイルに分割するかどうかを決定するフラグ。デフォルト値は ​false​ です。

    split​ が ​true​ に設定されている場合、登録情報は ​registration.yaml​ と ​certificate.yaml​ の 2 つのファイルに分割されます。​false​ の場合、すべての登録情報は 1 つの ​registration.yaml​ ファイルに含まれます。

  • --output-directory​ (省略可能) = 登録情報を出力するディレクトリ

  • my-gateway​ = ゲートウェイクラスターに割り当てる名前

Flex Gateway を登録する

コマンドオプションについて収集したデータを使用して、Flex Gateway インスタンスを登録します。

docker run --entrypoint flexctl \
-v "$(pwd)":/registration -u $UID mulesoft/flex-gateway \
register \
--token=<your-registration-token> \
--connected=true \
--organization=<your-org-id> \
--output-directory=/registration \
my-gateway

このコマンドの実行時にファイル権限の問題が発生した場合は、​sudo​ を使用してください。

欧州では、​--anypoint-url=https://eu1.anypoint.mulesoft.com​ フラグをコマンドに追加する必要があります。

出力ディレクトリに次の新しい登録ファイルが含まれます。

  • registration.yaml

  • certificate.yaml​ (​split​ 登録パラメーターが ​true​ に設定されている場合にのみ生成。それ以外の場合、証明書情報は ​registration.yaml​ に含まれる)

生成されるこれらのファイルは、Flex Gateway を接続するためのログイン情報です。これらのファイルを消失すると、Flex Gateway を接続できなくなります。

UI でゲートウェイを検索するには、Runtime Manager の左側のナビゲーションで ​[← Flex Gateway]​ をクリックします。ゲートウェイの状況が ​[Disconnected (切断済み)]​ であることを確認します。必要に応じて、ページを更新します。

名前空間への Helm チャートのインストール

Helm チャートで Flex Gateway、監視ツール、アプリケーションをインストールします。 Helm バージョン 3.0.0 以降が必要です。 設定オプションについては、「​Helm チャート設定​」を参照してください。

  1. チャートの ​flex-gateway​ という名前の Helm リポジトリを追加します。

    helm repo add flex-gateway https://flex-packages.anypoint.mulesoft.com/helm

    このコマンドにより、リポジトリが追加されます。その名前の Helm リポジトリがすでにマシンに存在する場合はこのプロセスはスキップされます。

    • 新しいリポジトリの場合、コマンドで次のメッセージが返されます。

      "flex-gateway" has been added to your repositories
    • リポジトリがすでに存在する場合、コマンドで次のメッセージが返されます。

      "flex-gateway" already exists with the same configuration, skipping
  2. helm repo up​ を実行します。

    コマンドで次のメッセージが返されます。

    Hang tight while we grab the latest from your chart repositories...
    ...Successfully got an update from the "flex-gateway" chart repository
    Update Complete. ⎈Happy Helming!⎈

    マシンに複数の Helm リポジトリがある場合、ターミナルウィンドウのメッセージにすべてのリポジトリがリストされます。

  3. 接続モードでゲートウェイをデプロイするための Helm コマンドを実行します。

    helm -n gateway upgrade -i --create-namespace \
    --wait ingress flex-gateway/flex-gateway \
    --set gateway.mode=connected \
    --set-file registration.content=registration.yaml

    このコマンドにより、​gateway​ 名前空間と ​ingress​ という名前のリリースが作成されます (これらが存在しない場合)。名前空間とリリースには、任意の名前を使用できます。Helm リポジトリ名と Helm チャート名のコマンド構文は、​<helm-repo-name>/<helm-chart-name>​ です。

    Helm チャートのデフォルトのデフォルトはローカルモードであるため、コマンドで ​--set gateway.mode=connected​ を使用します。

    このコマンドが成功すると、​ingress​ リリースへのアップグレードを示すメッセージが出力されます。

    Release "ingress" does not exist. Installing it now.
    NAME: ingress
    LAST DEPLOYED: Mon Mar 20 21:36:19 2023
    NAMESPACE: gateway
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None

    同じ名前空間、リポジトリ、チャート名でこのコマンドを実行するたびに、​ingress​ リリースの ​REVISION​ 値が ​1​ ずつ増加します。たとえば、2 回コマンドを実行すると、新しいリビジョン番号が表示されます (​REVISION: 2​)。​LAST DEPLOYED​ には、そのリビジョンの日付が反映されます。

UI で新しいゲートウェイを検索するには、Runtime Manager の左側のナビゲーションで ​[← Flex Gateway]​ をクリックします。ゲートウェイの現在の状況が ​[Connected (接続済み)]​ であることを確認します。必要に応じて、ページを更新します。

NOTE

30 日経過すると、停止または削除されたゲートウェイが Runtime Manager UI から削除されます。それまでは、実行または接続されていなくても UI にゲートウェイが引き続きリストされます。

Helm チャート設定

新しい値でデフォルトの Helm 設定 (CPU やメモリ設定の ​resource​ 値など) を変更するには、「​Helm チャートを介した Flex Gateway デプロイメントのポッド設定の更新. Helm チャート設定についての詳細は、「Kubernetes デプロイメントの管理」を参照してくださいKubernetes デプロイメントの管理​」を参照してください。

Flex Gateway デプロイメントの Helm チャートを変更する前に、デフォルトの Helm チャート設定を確認してください。

  • ArtifactHUB​ の ​flex-gateway​ ページを開く

  • ターミナルウィンドウから ​helm show values <repository-name>/<chart-name>​ を実行します。

    例:
    helm show values flex-gateway/flex-gateway

    この例では、同じ名前のリポジトリおよびチャートの​デフォルト​値を返します。

Helm チャートの ​README​ を表示するには、ターミナルウィンドウから ​helm show readme <repository-name>/<chart-name>​ を実行します。

例:
helm show readme flex-gateway/flex-gateway

トークンを使用した OpenShift クラスターでの登録と実行

Flex Gateway を登録し、Helm を使用して Flex Gateway をクラスターのノードにデプロイし、Anypoint Platform に接続します。デプロイしたら、Runtime Manager を使用して、ゲートウェイが存在していて、Anypoint Platform に接続されていることを確認します。

ロールベースのアクセス制御 (RBAC) を有効にする Kubernetes クラスターに Flex Gateway をデプロイする場合、Flex Gateway で使用されるカスタムリソース定義 (CRD) のインストールを許可するクラスターレベルの権限が必要です。 OpenShift では、​cluster-admin​ ロールによってこのレベルのアクセスが提供されます。

コマンドラインからの OpenShift の手順と Kubernetes の手順は同じです。 次の手順を実行します。

通常、接続モードの Flex Gateway は、クラスター外からのトラフィックを受信するイングレスまたはエッジ API ゲートウェイとして機能します。Flex Gateway は、内部 (east-west) サービスのスタンドアロンゲートウェイとして機能することもできます。

大部分の管理は、Anypoint Platform 内で行われます。

  • API をクラスターにデプロイする。

  • ポリシーと他の設定を適用する。

  • リソース (設定とサービス​以外​) を作成する。

接続モードでは、​kubectl apply​ でリソースを作成できますが、次のリソース種別に限定されます。 ​tls​、​tls-inbound​、​tls-outbound​ 種別の Configuration、Service、Extension、PolicyBinding。リソースについての詳細は、「宣言型設定リファレンスガイド」を参照してください。

登録データの収集

Flex Gateway インスタンスを登録する前に、次の登録コマンドオプションの情報を収集します。

  • --token​ = Anypoint Platform の環境の登録トークン

  • --organization​ = Anypoint Platform の組織 ID

  • --split​ (省略可能) = 登録情報を複数のファイルに分割するかどうかを決定するフラグ。デフォルト値は ​false​ です。

    split​ が ​true​ に設定されている場合、登録情報は ​registration.yaml​ と ​certificate.yaml​ の 2 つのファイルに分割されます。​false​ の場合、すべての登録情報は 1 つの ​registration.yaml​ ファイルに含まれます。

  • --output-directory​ (省略可能) = 登録情報を出力するディレクトリ

  • my-gateway​ = ゲートウェイクラスターに割り当てる名前

Flex Gateway を登録する

コマンドオプションについて収集したデータを使用して、Flex Gateway インスタンスを登録します。

docker run --entrypoint flexctl \
-v "$(pwd)":/registration -u $UID mulesoft/flex-gateway \
register \
--token=<your-registration-token> \
--connected=true \
--organization=<your-org-id> \
--output-directory=/registration \
my-gateway

このコマンドの実行時にファイル権限の問題が発生した場合は、​sudo​ を使用してください。

欧州では、​--anypoint-url=https://eu1.anypoint.mulesoft.com​ フラグをコマンドに追加する必要があります。

出力ディレクトリに次の新しい登録ファイルが含まれます。

  • registration.yaml

  • certificate.yaml​ (​split​ 登録パラメーターが ​true​ に設定されている場合にのみ生成。それ以外の場合、証明書情報は ​registration.yaml​ に含まれる)

生成されるこれらのファイルは、Flex Gateway を接続するためのログイン情報です。これらのファイルを消失すると、Flex Gateway を接続できなくなります。

UI でゲートウェイを検索するには、Runtime Manager の左側のナビゲーションで ​[← Flex Gateway]​ をクリックします。ゲートウェイの状況が ​[Disconnected (切断済み)]​ であることを確認します。必要に応じて、ページを更新します。

名前空間への Helm チャートのインストール

Helm チャートで Flex Gateway、監視ツール、アプリケーションをインストールします。 Helm バージョン 3.0.0 以降が必要です。 設定オプションについては、「​Helm チャート設定​」を参照してください。

  1. チャートの ​flex-gateway​ という名前の Helm リポジトリを追加します。

    helm repo add flex-gateway https://flex-packages.anypoint.mulesoft.com/helm

    このコマンドにより、リポジトリが追加されます。その名前の Helm リポジトリがすでにマシンに存在する場合はこのプロセスはスキップされます。

    • 新しいリポジトリの場合、コマンドで次のメッセージが返されます。

      "flex-gateway" has been added to your repositories
    • リポジトリがすでに存在する場合、コマンドで次のメッセージが返されます。

      "flex-gateway" already exists with the same configuration, skipping
  2. helm repo up​ を実行します。

    コマンドで次のメッセージが返されます。

    Hang tight while we grab the latest from your chart repositories...
    ...Successfully got an update from the "flex-gateway" chart repository
    Update Complete. ⎈Happy Helming!⎈

    マシンに複数の Helm リポジトリがある場合、ターミナルウィンドウのメッセージにすべてのリポジトリがリストされます。

  3. 接続モードでゲートウェイをデプロイするための Helm コマンドを実行します。

    helm -n gateway upgrade -i --create-namespace \
    --wait ingress flex-gateway/flex-gateway \
    --set gateway.mode=connected \
    --set-file registration.content=registration.yaml

    このコマンドにより、​gateway​ 名前空間と ​ingress​ という名前のリリースが作成されます (これらが存在しない場合)。名前空間とリリースには、任意の名前を使用できます。Helm リポジトリ名と Helm チャート名のコマンド構文は、​<helm-repo-name>/<helm-chart-name>​ です。

    Helm チャートのデフォルトのデフォルトはローカルモードであるため、コマンドで ​--set gateway.mode=connected​ を使用します。

    このコマンドが成功すると、​ingress​ リリースへのアップグレードを示すメッセージが出力されます。

    Release "ingress" does not exist. Installing it now.
    NAME: ingress
    LAST DEPLOYED: Mon Mar 20 21:36:19 2023
    NAMESPACE: gateway
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None

    同じ名前空間、リポジトリ、チャート名でこのコマンドを実行するたびに、​ingress​ リリースの ​REVISION​ 値が ​1​ ずつ増加します。たとえば、2 回コマンドを実行すると、新しいリビジョン番号が表示されます (​REVISION: 2​)。​LAST DEPLOYED​ には、そのリビジョンの日付が反映されます。

UI で新しいゲートウェイを検索するには、Runtime Manager の左側のナビゲーションで ​[← Flex Gateway]​ をクリックします。ゲートウェイの現在の状況が ​[Connected (接続済み)]​ であることを確認します。必要に応じて、ページを更新します。

NOTE

30 日経過すると、停止または削除されたゲートウェイが Runtime Manager UI から削除されます。それまでは、実行または接続されていなくても UI にゲートウェイが引き続きリストされます。

Helm チャート設定

新しい値でデフォルトの Helm 設定 (CPU やメモリ設定の ​resource​ 値など) を変更するには、「​Helm チャートを介した Flex Gateway デプロイメントのポッド設定の更新. Helm チャート設定についての詳細は、「Kubernetes デプロイメントの管理」を参照してくださいKubernetes デプロイメントの管理​」を参照してください。

Flex Gateway デプロイメントの Helm チャートを変更する前に、デフォルトの Helm チャート設定を確認してください。

  • ArtifactHUB​ の ​flex-gateway​ ページを開く

  • ターミナルウィンドウから ​helm show values <repository-name>/<chart-name>​ を実行します。

    例:
    helm show values flex-gateway/flex-gateway

    この例では、同じ名前のリポジトリおよびチャートの​デフォルト​値を返します。

Helm チャートの ​README​ を表示するには、ターミナルウィンドウから ​helm show readme <repository-name>/<chart-name>​ を実行します。

例:
helm show readme flex-gateway/flex-gateway