Objektspeicher
- Aktualisiert2026-07-09
- 8 Minute(n) Lesezeit
Mehrere SystemLink Enterprise-Dienste erfordern einen Objektspeicher-Provider.
- Amazon S3 Storage
- Amazon S3-kompatibler Speicher
- Azure Blob Storage
Amazon S3 Storage und Azure Blob Storage nutzen die in den folgenden Tabellen aufgeführten Parameter in mehreren Konfigurationen gemeinsam. Die gemeinsame Nutzung erfolgt über die YAML-Anchor-Syntax in den Helm-Wertedateien. Diese Syntax bietet eine komfortable Möglichkeit, eine gemeinsame Konfiguration in Ihren Wertedateien zu teilen. Einzelne Referenzen auf diese Werte können mit benutzerdefinierten Werten überschrieben werden.
Amazon S3- und mit Amazon S3 kompatible Speicherprovider
Legen Sie die folgende Konfiguration in der Helm-Konfigurationsdatei aws-supplemental-values.yaml oder der Helm-Konfigurationsdatei storage-values.yaml fest.
Sie können Referenzen auf Secrets in der Datei aws-secrets.yaml, der Datei storage-secrete.yaml oder direkt auf dem Cluster konfigurieren.
| Parameter vor dem Release 2025-07 | Parameter nach dem Release 2025-07 | Details |
|---|---|---|
| Nicht zutreffend |
|
Dieser Wert steht für den Dienstspeichertyp. Setzen Sie den Wert auf s3. |
|
|
Dieser Wert steht für die Portnummer des Dienstes des Speicherproviders. |
|
|
Dieser Wert steht für den Hostname des Dienstes des Speicherproviders. |
|
|
Dieser Wert steht für das Schema des Dienstes des Speicherproviders. Dieser Wert ist in der Regel https. |
|
|
Dieser Wert steht für den AWS-Bereich, in dem sich der S3-Bucket befindet. |
|
Unverändert |
Beheben Sie die <ATTENTION>-Flags. Diese Einstellungen konfigurieren den verteilten Speicher, der für den DataFrame-Dienst erforderlich ist. |
|
Unverändert | Secret-Name für Zugangsdaten, die für die Verbindung mit dem Speicherproviderdienst verwendet werden. |
Ab der Version 2025-11 fügt fileingestioncdc die folgenden Parameter hinzu.
| Parameter | Details |
|---|---|
| fileingestioncdc.highAvailability.storage.s3.port | Dieser Wert steht für die Portnummer des Dienstes des Speicherproviders. |
| fileingestioncdc.highAvailability.storage.s3.scheme | Dieser Wert steht für das Schema des Dienstes des Speicherproviders. Dieser Wert ist in der Regel https. |
Verbinden von Diensten mit S3 über IAM
Weisen Sie eine IAM-Rolle zu, um Dienste mit Amazon S3 zu verbinden. Konfigurieren Sie Servicekonten und IAM-Rollennotizen in Ihrer Helm-Wertedatei.
-
Erstellen Sie für jeden Dienst ein Servicekonto, indem Sie serviceAccount.create: true in Ihren Helm-Werten festlegen.Hinweis Für Flink-Dienste ist diese Konfiguration nicht erforderlich. Der Flink-Operator verwaltet das Servicekonto.
- Erstellen Sie eine IAM-Richtlinie mit folgender Anweisung:
"Action": [ "s3:PutObject", "s3:ListBucket", "s3:GetObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Effect": "Allow", "Resource": [ "<s3_bucket_ARN>/*", "<s3_bucket_ARN>" ]
Hinweis Der Platzhalter <s3_bucket_ARN> steht für den Amazon-Ressourcennamen für den S3-Bucket des Dienstes. - Erstellen Sie eine IAM-Rolle, die die IAM-Richtlinie anwendet.Hinweis Die meisten IAM-Rollen verwenden die folgende Benennungskonvention: <release-name>-<service-name>-role. Beispiel: systemlink-feedservice-role. Flink-Dienste haben die gleiche Konfiguration wie der Flink-Operator und verwenden: <release-name>-flink-role.
| Dienst | Konfiguration |
|---|---|
| Asset-Dienst-CDC |
assetservicecdc:
highAvailability:
storage:
s3:
authType: "AWS_IAM"
flinkoperator:
flink-kubernetes-operator:
jobServiceAccount:
annotations:
eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-flink-role"
|
| DataFrame-Dienst | dataframeservice:
storage:
s3:
authType: "AWS_IAM"
serviceAccount:
annotations:
eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-dataframeservice-role"dataframeservice:
sldremio:
distStorage:
aws:
authentication: "metadata"Hinweis Ab der Version 2026-05 unterstützt Dremio die EKS-Pod-Identität für verteilten Speicher. Um Pod-Identität zu verwenden, setzen Sie sldremio.distStorage.aws.authentication auf podIdentity anstelle von metadata. dataframeservice:
sldremio:
storage:
s3:
authType: "EC2_METADATA"
roleArn: "arn:aws:iam::<account-id>:role/<release-name>-dataframeservice-role"Weitere Schritte zur Konfiguration von Dremio IAM finden Sie unter Konfigurieren der Dremio-Authentifizierung für S3. |
| Feed-Dienst |
feedservice:
storage:
s3:
authType: "AWS_IAM"
serviceAccount:
annotations:
eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-feedservice-role"
|
| Datei-Ingestion-Dienst |
fileingestion:
storage:
s3:
authType: "AWS_IAM"
serviceAccount:
annotations:
eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-fileingestion-role"
|
| Datei-Ingestion-CDC |
fileingestioncdc:
highAvailability:
storage:
s3:
authType: "AWS_IAM"
flinkoperator:
flink-kubernetes-operator:
jobServiceAccount:
annotations:
eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-flink-role"
|
| Notebook-Ausführungsdienst |
nbexecservice:
storage:
s3:
authType: "AWS_IAM"
serviceAccount:
annotations:
eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-executions-role"
|
| Systemdienst-CDC |
systemscdc:
highAvailability:
storage:
s3:
authType: "AWS_IAM"
flinkoperator:
flink-kubernetes-operator:
jobServiceAccount:
annotations:
eks.amazonaws.com/role-arn: "arn:aws:iam::<account-id>:role/<release-name>-flink-role"
|
Konfigurieren der Dremio-Authentifizierung für S3
Dremio erfordert die Authentifizierung für zwei S3-Speicherpfade.
- Datenspeicherung – Der DataFrame-Dienst-S3-Bucket zum Speichern von Tabellendaten. Dremio greift über Metadaten der EC2-Instanz auf diesen Bucket zu, indem er die Rolle des DataFrame-Dienstes IAM übernimmt.
- Verteilter Speicher – Ein separater S3-Bucket, der von Dremio zur Abfragekoordinierung und zum Zwischenspeichern verwendet wird. Ab dem Release 2026-05 empfiehlt NI, verteilten Speicher über die EKS-Pod-Identität zu authentifizieren. Verwenden Sie für ältere Versionen oder wenn keine Pod-Identität verfügbar ist, die EC2-Metadatenauthentifizierung.
Gehen Sie zur Konfiguration der Dremio-Authentifizierung wie folgt vor:
- Vergewissern Sie sich, dass die Vertrauensrichtlinie für die DataFrame-Dienst-IAM-Rolle beide der folgenden Prinzipien zulässt.
- Der EKS-Pod-Identity-Agent (pods.eks.amazonaws.com) muss die Berechtigung sts:AssumeRole und die Berechtigung sts:TagSession haben.
- Die EC2-Knotengruppenrolle zur Ausführung von Dremio-Pods muss die Berechtigung sts:AssumeRole haben.
Hinweis Die Rolle des DataFrame-Dienstes erfordert die Gruppenrolle des EC2-Knotens als vertrauenswürdigen Prinzipal. Dremio greift auf den DataFrame-Dienst-S3-Bucket zu, indem es diese Rolle über die EC2-Metadatenauthentifizierung übernimmt. Wenn Sie die DataFrame-Dienstrolle nach Verbinden von Diensten mit S3 über IAM erstellt haben, aktualisieren Sie die Vertrauensrichtlinie, um die EC2-Knotengruppenrole-ARN aufzunehmen. - Gewähren Sie der IAM-Rolle für die EC2-Knotengruppe, auf der Dremio-Pods ausgeführt werden, die Berechtigung, die IAM-Rolle des DataFrame-Dienstes zu übernehmen. Fügen Sie zur Erteilung dieser Berechtigung die folgende Anweisung zur Rollenrichtlinie für die Knotengruppe hinzu.
{ "Action": [ "sts:AssumeRole" ], "Effect": "Allow", "Resource": "<dataframeservice_role_ARN>" } - Legen Sie dataframeservice.storage.s3.authType auf AWS_IAM fest.
- Legen Sie dataframeservice.sldremio.storage.s3.authType auf EC2_METADATA fest.
- Legen Sie dataframeservice.sldremio.storage.s3.roleArn auf die IAM-Rollen-ARN des DataFrame-Dienstes fest.
- Konfigurieren Sie die Authentifizierung für verteilten Speicher mit einer der folgenden Optionen.
Tabelle 36. Optionen zum Konfigurieren der Authentifizierung für verteilten Speicher Option Schritte EKS Pod Identity Hinweis NI empfiehlt diese Option- Erstellen Sie eine IAM-Rolle für verteilten Dremio-Speicher.
- Erstellen Sie eine IAM-Richtlinie mit folgenden Anweisungen:
Fügen Sie eine Anweisung hinzu, um die Erkennung globaler S3-Buckets zu ermöglichen.
{ "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Effect": "Allow", "Resource": "arn:aws:s3:::*" }Fügen Sie eine Anweisung hinzu, um Zugriff auf den verteilten Speicher-Bucket zu gewähren.
{ "Action": [ "s3:ListBucket", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Effect": "Allow", "Resource": [ "<distributed_storage_bucket_ARN>", "<distributed_storage_bucket_ARN>/*" ] } - Erstellen Sie die IAM-Rolle mit einer Trust-Richtlinie, die dem EKS-Pod-Identity-Agenten (pods.eks.amazonaws.com) die Berechtigungen sts:AssumeRole und sts:TagSession gestattet.
- Verknüpfen Sie die IAM-Richtlinie mit der Rolle.
- Erstellen Sie eine IAM-Richtlinie mit folgenden Anweisungen:
- Erstellen Sie EKS-Pod-Identitätszuordnungen zwischen der Rolle des verteilten Dremio-Speichers, dem Servicekonto dremio-coordinator und dem Servicekonto dremio-executor.
- Legen Sie dataframeservice.sldremio.distStorage.aws.authentication auf podIdentity fest.
EC2-Metadaten Hinweis Diese Option verwenden, wenn keine Pod-Identität verfügbar ist- Fügen Sie der Rollenrichtlinie für die EC2-Knotengruppe eine Anweisung hinzu, um die globale Erkennung von S3-Buckets zu ermöglichen.
{ "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Effect": "Allow", "Resource": "arn:aws:s3:::*" } Fügen Sie der Rollenrichtlinie für die EC2-Knotengruppe eine Anweisung hinzu, um den Zugriff auf den verteilten Speicher-Bucket zu ermöglichen.
{ "Action": [ "s3:ListBucket", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Effect": "Allow", "Resource": [ "<distributed_storage_bucket_ARN>", "<distributed_storage_bucket_ARN>/*" ] }Hinweis Wenn der S3- Bucket des DataFrame-Diensts und der Bucket des verteilten Dremio-Speichers identisch sind, verwenden Sie dieselbe Bucket-ARN in den folgenden Bereichen.- Die Rollenrichtlinie des DataFrame-Dienstes.
- Die vorherigen Aussagen.
- Legen Sie dataframeservice.sldremio.distStorage.aws.authentication auf metadata fest.
- Erstellen Sie eine IAM-Rolle für verteilten Dremio-Speicher.
- Wenn Ihre S3-Buckets mit SSE-KMS-Verschlüsselung arbeiten, stellen Sie sicher, dass die folgenden Rollen die Berechtigungen kms:GenerateDataKey und kms:Decrypt für den KMS-Schlüssel haben.
- IAM-Rolle des DataFrame-Dienstes
- Verteilter Dremio-SpeicherHinweis Wenn Ihre Authentifizierung des verteilten Speichers EC2-Metadaten verwendet, legen Sie die EC2-Knotengruppenrolle fest.
- Entfernen Sie bei Verwendung der IAM-basierten Authentifizierung die Konfiguration des Dremio-S3-Zugriffsschlüssels aus den Secrets.
Aus Sicherheitsgründen empfiehlt NI, Dremio auf einer speziellen Knotengruppe auszuführen.
Um die EC2-Metadaten-Authentifizierung von Pods verwenden zu können, muss die Instanz-Metadatendienst-Hop-Grenze größer als 1 sein. Bei einer Sprunggrenze größer oder gleich 2 können Pods zusätzlich zu dem Knoten Zugangsdaten abrufen.
Verbinden von Serviceleistungen mit S3 über Zugriffsschlüssel
In den folgenden Situationen verbinden Sie Ihre Dienste mit S3 über Zugriffsschlüssel.
- S3-kompatible Speicheranbieter: Nur Amazon S3 unterstützt die IAM-rollenbasierte Authentifizierung. Verwenden Sie für andere S3-kompatible Anbieter die Zugriffsschlüssel-Authentifizierung.
- AWS-Bereitstellungen ohne IAM-Rollenkonfiguration: Wenn Pod Identity und IRSA nicht verfügbar sind, können Sie die Zugriffsschlüssel-Authentifizierung verwenden.
| Konfiguration | Beschreibung |
|---|---|
| Wertedatei |
Geben Sie in Ihrer Datei systemLink-values.yaml oder aws-supplemental-values.yaml die S3-Verbindungsparameter und die Geheimreferenz an. feedservice:
storage:
s3:
secretName: "feeds-s3-credentials"
accessKeyIdName: "aws-access-key-id"
accessKeyName: "aws-secret-access-key"
authType: "ACCESS_KEY"
bucket: "systemlink-feeds"
scheme: "https://"
host: "s3.amazonaws.com"
port: 443
region: "us-east-1"
|
| Secrets-Datei |
Geben Sie in Ihrer systemlink-secrets.yaml- oder aws-secrets.yaml-Datei die Zugangsdaten an. feedservice:
secrets:
s3:
accessKeyId: "<your-access-key-id>"
accessKey: "<your-secret-access-key>"
|
Das gleiche Muster gilt auch für andere Dienste, wenn keine IAM-Authentifizierung verfügbar ist.
Azure Blob Storage-Provider
Legen Sie die folgende Konfiguration in der Helm-Konfigurationsdatei azure-supplemental-values.yaml oder der Helm-Konfigurationsdatei storage-values.yaml fest.
Sie können Referenzen auf Secrets in der Datei azure-secrets.yaml, der Datei storage-secrets.yaml oder direkt auf dem Cluster konfigurieren.
| Parameter ab dem Release 2025-07 | Details |
|---|---|
|
Dieser Wert steht für die Speicherart des Dienstes. Setzen Sie den Wert auf azure. |
|
Dieser Wert steht für den Host von Azure Blob Storage ohne Kontonamen. Sie können den Wert beispielsweise auf blob.core.windows.net oder blob.core.usgovcloudapi.net setzen. Wenn Ihr Speicher nicht den Standardport verwendet, fügen Sie den Port am Ende des Hosts hinzu. Zum Beispiel blob.core.windows.net:1234. |
|
Dieser Wert steht für den Host und den Port des Azure Data Lake Storage, mit dem eine Verbindung ohne Kontonamen hergestellt werden soll. Sie können den Wert beispielsweise auf dfs.core.windows.net setzen. Wenn Ihr Speicher nicht den Standardport verwendet, fügen Sie den Port am Ende des Hosts hinzu. Zum Beispiel: dfs.core.windows.net:1234. |
|
Dieser Wert steht für das Speicherkonto Ihres Dienstes. NI empfiehlt die Verwendung unterschiedlicher Speicherkonten für unterschiedliche Dienste. |
Verbinden von Diensten mit Azure Blob Storage
Zur Konfiguration der Azure Blob Storage-Authentifizierung müssen Sie sowohl die Wertedatei als auch die Secrets-Datei konfigurieren.
Konfigurieren Sie die Azure Blob Storage-Authentifizierung mit Hilfe der Datei values und secrets.
Geben Sie in Ihrer Datei azure-supplemental-values.yaml oder storage-values.yaml die Azure-Speicherparameter an.
feedservice:
storage:
type: "azure"
azure:
accountName: "<your-azure-storage-account-name>"
blobApiHost: "blob.core.windows.net"Geben Sie in Ihrer Datei azure-secrets.yaml die Zugangsdaten an.
feedservice:
secrets:
azure:
accessKey: "<your-azure-storage-access-key>"Das gleiche Muster gilt für andere Dienste.
Hinweise zu Grenzwerten und Kosten für die Dateispeicherung
Um Grenzwerte anzupassen und Kosten zu reduzieren, nutzen Sie die unten beschriebenen Konfigurationen.
| Überlegung | Konfiguration |
|---|---|
| Reduzierung der Speicherkosten. |
Um unvollständige Multipart-Uploads zu bereinigen, konfigurieren Sie Ihren Dienst. Wenn Sie Amazon S3 verwenden, konfigurieren Sie den Wert AbortIncompleteMultipartUpload auf Ihren S3-Buckets.
Hinweis Azure Storage löscht nicht übernommene Blöcke automatisch nach sieben Tagen. Ob andere Provider S3-kompatibel sind, erfahren Sie in der Dokumentation des jeweiligen Providers. |
| Anpassung der Anzahl der Dateien, die ein einzelner Benutzer pro Sekunde hochladen kann. |
Konfigurieren Sie den Wert fileingestion.rateLimits.upload. Standardmäßig ist der Wert 3 Dateien pro Sekunde pro Benutzer. Durch Lastverteilung zwischen Replikaten ist die effektive Rate höher als die angegebene Rate. |
| Anpassung der maximalen Dateigröße, die Benutzer hochladen können. |
Konfigurieren Sie den Wert fileingestion.uploadLimitGB. Standardmäßig ist der Wert 2 GB. |
| Anpassung der Anzahl der gleichzeitigen Anfragen, die ein einzelnes Replikat zum Aufnehmen von Daten verwenden kann. |
Konfigurieren Sie den Wert dataframeservice.rateLimits.ingestion.requestLimit. |
Verwandte Inhalte
- SystemLink Enterprise in AWS EKS
Amazon Elastic Kubernetes Service (EKS) ist ein verwalteter Kubernetes-Dienst, der die Ausführung von Kubernetes auf AWS vereinfacht, ohne dass ein eigenes Kubernetes-Steuerflugzeug installiert und betrieben werden muss.
- SystemLink Enterprise in Azure AKS
Azure Kubernetes Service (AKS) ist ein verwalteter Kubernetes-Dienst, der die Ausführung von Kubernetes in Azure vereinfacht, ohne dass eine eigene Kubernetes-Steuerebene installiert und betrieben werden muss.
- systemlink-values.yaml
- azure-supplemental-values.yaml
- aws-supplemental-values.yaml
- systemlink-secrets.yaml
- azure-secrets.yaml
- aws-secrets.yaml
- Amazon S3 API-Referenz
- Schützen von Amazon S3-Daten mit Verschlüsselung
- Bucket-Lifecycle-Konfiguration zum Löschen unvollständiger Multipart-Uploads
- Vorläufiges Löschen von Blobs
- Hierarchischer Namensraum von Azure Data Lake
- Hinweise zum Zugriff auf IMDS
- Dremio-Konfiguration
Der SystemLink DataFrame Service speichert und indiziert Tabellendaten mit Dremio.
- Rotierende Secrets
SystemLink Enterprise Secrets müssen möglicherweise aufgrund von Änderungen an Ihrer Umgebung, den Sicherheitsrichtlinien Ihres Unternehmens oder anderen betrieblichen Anforderungen geändert oder rotiert werden. Unterschiedliche Secrets erfordern unterschiedliche Verfahren, um den ordnungsgemäßen Betrieb nach der Änderung sicherzustellen.