Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Konfigurieren von Beschränkungen für die Jobgröße in Dynamic Engine-Umgebungen

Zum Schützen Ihrer Dynamic Engine-Umgebungen vor DoS-Angriffen (Denial of Service) können Sie Beschränkungen für die Größe von Jobartefakten während der Bereitstellung und Ausführung festlegen. Ein Jobartefakt, das diese Beschränkungen überschreitet, wird automatisch gelöscht.

Passen Sie Beschränkungen für die Jobgröße an, indem Sie eine Datei mit benutzerdefinierten Werten erstellen und auf Ihre Dynamic Engine-Umgebung anwenden.

Vorbereitungen

  • Die benutzerdefinierten Ressourcendefinitionen dynamic-engine-crd müssen mit dem Helm-Chart oci://ghcr.io/talend/helm/dynamic-engine-crd installiert worden sein. Führen Sie andernfalls die folgenden Befehle für die Installation aus:
    1. Suchen Sie die zu verwendende Diagrammversion:
      • Führen Sie den folgenden Helm-Befehl aus:
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine-crd --version <engine_version>
      • Sehen Sie die Version direkt über Talend Management Console ein oder suchen Sie im Dynamic Engine Änderungs-Log nach der in Ihrer Dynamic Engine-Version enthaltenen Diagrammversion.
      • Verwenden Sie einen API-Aufruf an den Dynamic Engine-Versionsendpunkt.
    2. Führen Sie den folgenden Befehl aus, um das Helm-Chart einer bestimmten Version zu installieren:
      helm install dynamic-engine-crd oci://ghcr.io/talend/helm/dynamic-engine-crd --version <helm_chart_version>
      Ersetzen Sie <helm_chart_version> durch die Chart-Version, die von Ihrer Dynamic Engine-Version unterstützt wird.

      Wenn die Version nicht angegeben wird, installieren Sie die neueste verfügbare dynamic-engine-crd-Diagrammversion.

  • Ihre Dynamic Engine muss implementiert worden sein. Führen Sie andernfalls den folgenden Befehl aus, um sie zu implementieren:
    helm install dynamic-engine -f <engine-id>-helm-values/<engine-id>-values.yaml oci://ghcr.io/talend/helm/dynamic-engine 
    Dies ist die Standardbereitstellung, da die aktuelle Anpassung nur auf der Dynamic Engine-Umgebungsseite benötigt wird. Aus diesem Grund wurde keine Anpassung für die Dynamic Engine-Instanz konfiguriert.

Prozedur

  1. Erstellen Sie eine Datei mit benutzerdefinierten Werten für Ihre Dynamic Engine-Umgebung, die die erforderlichen Beschränkungen für die Jobgröße enthält, um Ihr System vor DoS-Angriffen zu schützen.

    Example

    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. Wenden Sie die Datei mit den benutzerdefinierten Werten mithilfe von Helm auf Ihre Dynamic Engine-Umgebung an.
    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
    InformationshinweisTipp: Falls Änderungen erforderlich sind, können Sie die Inhalte der Datei <environment-id>-custom-job-limits-values.yaml aktualisieren und ein Helm-Upgrade ausführen, um die Änderungen anzuwenden:
    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

Ergebnisse

Stellen Sie sicher, dass die Eigenschaft jobLimits in der ConfigMap mit der Bezeichnung global-configuration für Ihre Dynamic Engine-Umgebung angezeigt wird:

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

In diesen Feldern werden die folgenden Größenbeschränkungen angegeben:

  • maxZipNameLength: Maximale Länge des Namens der ZIP-Datei
  • maxZippedEntries: Maximale Anzahl der Dateien und Verzeichnisse in der ZIP-Datei.
  • maxUnzippedSize: Maximale Größe der dekomprimierten ZIP-Datei in Byte.
  • maxUnzippedFolderNameLength: Maximale Länge jedes Ordnernamens nach dem Entpacken.
  • maxUnzippedFileNameLength: Maximale Länge jedes Dateinamens nach dem Entpacken.
  • maxZipDepth: Maximale Verschachtelungstiefe der Verzeichnisse in jeder ZIP-Datei eines Jobartefakts.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!