メイン コンテンツをスキップする 補完的コンテンツへスキップ

Dynamic Engine環境でジョブサイズ制限を設定

Dynamic Engine環境をサービス拒否(DoS)攻撃から保護するため、デプロイ時や実行時のジョブアーティファクトサイズに制限を設定できます。これらの制限を超えるジョブアーティファクトは自動的に削除されます。

カスタム値ファイルを作成し、Dynamic Engine環境に対して適用すれば、ジョブサイズ制限をカスタマイズできます。

始める前に

  • dynamic-engine-crdカスタムリソース定義は、oci://ghcr.io/talend/helm/dynamic-engine-crd helmチャートを使用してインストールされている必要があります。インストールされていない場合は、次のコマンドを実行してインストールしてください。
    1. 使用するチャートのバージョンを見つけます。
      • 次のHelmコマンドを実行します:
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine-crd --version <engine_version>
      • Talend Management Consoleから直接バージョンを見るか、自分のDynamic Engineバージョンに含まれているチャートバージョンのDynamic Engine変更ログをチェックしてください。
      • Dynamic EngineバージョンエンドポイントへのAPIコールを使用します。
    2. 次のコマンドを実行し、目的のバージョンのHelmチャートをインストールします。
      helm install dynamic-engine-crd oci://ghcr.io/talend/helm/dynamic-engine-crd --version <helm_chart_version>
      <helm_chart_version>を、お使いのDynamic Engineバージョンでサポートされているチャートのバージョンに置換します。

      バージョンを指定しないと、利用可能な最新のdynamic-engine-crdチャートバージョンがインストールされます。

  • Dynamic Engineがデプロイされている必要があります。デプロイされていない場合は、このコマンドを実行してデプロイしてください。
    helm install dynamic-engine -f <engine-id>-helm-values/<engine-id>-values.yaml oci://ghcr.io/talend/helm/dynamic-engine 
    現在のカスタマイズはDynamic Engine環境側でのみ必要であるため、これがデフォルトのデプロイメントです。このため、Dynamic Engineインスタンスにはカスタマイズは設定されません。

手順

  1. システムをDoS攻撃から保護するため、必要なジョブサイズ制限を指定してDynamic Engine環境固有の値ファイルを作成してください。

    cat <<EOF > <environment-id>-custom-job-limits-values.yaml
    configuration:
      jobLimits: 
        maxZipNameLength: 240
        maxZippedEntries: 2048
        maxUnzippedSize: 1000000000
        maxUnzippedFolderNameLength: 240
        maxUnzippedFileNameLength: 240
        maxZipDepth: 64
    EOF             
  2. Helmを使ってカスタム値ファイルをDynamic Engine環境に適用します。
    helm install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml  \
     -f <environment-id>-custom-job-limits-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version $DYNAMIC_ENGINE_VERSION
    情報メモヒント: 変更が必要であれば、<environment-id>-custom-job-limits-values.yamlファイルのコンテンツをアップデートし、helm upgradeを実行することでその変更を適用できます:
    helm upgrade dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml  \
    -f <environment-id>-custom-job-limits-values.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version $DYNAMIC_ENGINE_VERSION

タスクの結果

Dynamic Engine環境のglobal-configurationという名前のConfigMapjobLimitsプロパティが存在することを確認します:

"jobLimits": {
  "maxZipNameLength": 240,
  "maxZippedEntries": 2048,
  "maxUnzippedSize": 1000000000,
  "maxUnzippedFolderNameLength": 240,
  "maxUnzippedFileNameLength": 240,
  "maxZipDepth": 64
}

これらのフィールドは、以下のサイズ制限を指定します:

  • maxZipNameLength: zipファイル名の最大長。
  • maxZippedEntries: zipファイルに含まれているファイルとディレクトリーの最大数。
  • maxUnzippedSize: 解凍されたzipファイルの最大サイズ(バイト)。
  • maxUnzippedFolderNameLength: 解凍後のフォルダー名の最大文字数。
  • maxUnzippedFileNameLength: 解凍後のファイル名の最大文字数。
  • maxZipDepth: 各ジョブアーティファクトzipファイル内のディレクトリーの最大ネスト化レベル。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。