接続モードでの Flex Gateway の共有ストレージの設定

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

Anypoint Flex Gateway では、分散キャッシュおよびレート制限ポリシーの共有ストレージを設定できます。Redis では、キャッシュ用の追加メモリも提供されます。

本番ワークフローでは Redis​ を使用する必要があります。Redis が定義されていない場合、ポート 4000 の共有ストレージサービスを引き続き使用できますが、メモリ内実装が使用されます。分散ポリシーでデータを共有するように Redis を設定する必要があります。その他のすべてのポリシーでは、ストレージにレプリカメモリを使用します。

カスタム YAML ファイルを介して共有ストレージを設定します。

次の手順は、Linux サービスまたは Kubernetes クラスターとして、Docker コンテナで実行されている Flex Gateway の Redis ベースのストレージサポートを示しています。

Redis Sentinel、または Redis 共有ストレージへの TLS 接続を設定するには、以下を参照してください。

20%

25%

20%

始める前に

Flex Gateway の共有ストレージを設定する前に、次のタスクを完了します。

Linux サービスとして Flex Gateway の共有ストレージを設定する

  1. /etc/mulesoft/flex-gateway/conf.d​ ディレクトリにフォルダーを作成し、​custom​ という名前を付けます。

    sudo mkdir /etc/mulesoft/flex-gateway/conf.d/custom
  2. custom​ フォルダーに YAML 設定ファイルを作成します。

    sudo touch /etc/mulesoft/flex-gateway/conf.d/custom/shared-storage-config.yaml
  3. Redis ストレージ設定の詳細を使用してファイルを更新します。次に例を示します。

    sudo vi /etc/mulesoft/flex-gateway/conf.d/custom/shared-storage-config.yaml

    Redis ベースの共有ストレージを追加するためのサンプル設定:

    apiVersion: gateway.mulesoft.com/v1alpha1
    kind: Configuration
    metadata:
     name: shared-storage-redis
    spec:
     sharedStorage:
       redis:
         address: redis.e-commerce.svc:6379
         username: ecomm-user
         password: ecomm-pwd-123
         DB: 7

Docker コンテナで Flex Gateway の共有ストレージを設定する

Flex Gateway 設定ファイルを含むフォルダーのボリュームをすでに追加している場合、最後のステップまでスキップします。
  1. Flex Gateway とすべてのレプリカを停止します。

  2. Flex Gateway 設定ファイルを含むディレクトリに ​app​ という名前のフォルダーを作成します。

  3. 新しい ​app​ ディレクトリの追加ボリュームで Flex Gateway を再起動します。

    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 レプリカに割り当てる名前 (省略可能) を指定します。
  4. YAML 設定ファイルを作成し、共有ストレージの詳細を使用して ​app​ フォルダーに保存します。

    Redis ベースの共有ストレージを追加するためのサンプル設定:

    apiVersion: gateway.mulesoft.com/v1alpha1
    kind: Configuration
    metadata:
     name: shared-storage-redis
    spec:
     sharedStorage:
       redis:
         address: redis.e-commerce.svc:6379
         username: ecomm-user
         password: ecomm-pwd-123
         DB: 7

Kubernetes クラスターで Flex Gateway の共有ストレージを設定する

Flex Gateway の共有ストレージを設定するには、YAML 設定ファイルとストレージの詳細を使用して新しいリソースを作成します。

Redis ベースの共有ストレージを追加するためのサンプル設定:

apiVersion: gateway.mulesoft.com/v1alpha1
kind: Configuration
metadata:
 name: shared-storage-redis
spec:
 sharedStorage:
   redis:
     address: redis.e-commerce.svc:6379
     username: ecomm-user
     password: ecomm-pwd-123
     DB: 7

Redis Sentinel の設定

Redis Sentinel では、Redis 共有ストレージ用の高可用性が提供されます。Redis Sentinel についての詳細は、 「Redis Sentinel」​を参照してください。

前のセクションで説明した手順を使用して Redis Sentinel を設定します。

Redis Sentinel を追加するためのサンプル設定:

apiVersion: gateway.mulesoft.com/v1alpha1
kind: Configuration
metadata:
  name: shared-storage
  namespace: test-ns
spec:
  sharedStorage:
    redis:
      username: "user"
      password: "pass"
      sentinel:
        addresses:
          - internal.redis.com:6379
        masterName: "name"
        password: "pass"
      db: 0

Redis ベースの共有ストレージ用の TLS の設定

TLS と Redis を使用して、Flex Gateway と Redis インスタンス間のデータセキュリティを確保します。TLS を設定することで、機密データを保護し、不正なアクセスを防止して、サービスの信頼性を維持できます。さらに、TLS を設定すれば、組織はコンプライアンス要件を満たしてユーザーの信頼を築きやすくなります。

TLS は Redis と Redis Sentinel の両方と連携します。

前のセクションで説明した手順を使用して Redis ベースの共有ストレージ用に TLS を設定します。

TLS を使用して Redis ベースの共有ストレージを追加するためのサンプル設定:

apiVersion: gateway.mulesoft.com/v1alpha1
kind: Configuration
metadata:
  name: shared-storage-redis
spec:
  sharedStorage:
    redis:
      address: internal.redis.com:6379
      tls:
        skipValidation: false
        minVersion: "1.1"
        maxVersion: "1.3"
        alpn:
          - h2
          - http/1.1
        ciphers:
          - TLS_AES_128_GCM_SHA256
          - TLS_AES_256_GCM_SHA384
          - TLS_CHACHA20_POLY1305_SHA256
          - TLS_RSA_WITH_3DES_EDE_CBC_SHA
          - TLS_RSA_WITH_AES_128_CBC_SHA
          - TLS_RSA_WITH_AES_256_CBC_SHA
          - TLS_RSA_WITH_AES_128_CBC_SHA256
          - TLS_RSA_WITH_AES_128_GCM_SHA256
          - TLS_RSA_WITH_AES_256_GCM_SHA384
          - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
          - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
          - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
          - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
          - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
          - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
          - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
          - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
          - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
          - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
        trustedCA: |
          -----BEGIN CERTIFICATE-----
          ...
          -----END CERTIFICATE-----

        certificate:
          keyPassphrase: "****"
          key: |
            -----BEGIN RSA PRIVATE KEY-----
            ...
            -----END RSA PRIVATE KEY-----

          crt: |
            -----BEGIN CERTIFICATE-----
            ...
            -----END CERTIFICATE-----

パラメーターの設定については、​「Declarative Configuration Reference (Shared Storage) (宣言型設定リファレンス (共有ストレージ))」​を参照してください。