ORACLE CLOUD OBJECT STORAGE → STACKIT · TUTORIAL
OCI Object Storage zu STACKIT Object Storage, Schritt für Schritt
Beide Seiten sprechen eine S3-API; das Kopieren der Daten ist damit der leichte Teil. Die Arbeit steckt im Umfeld: Bucket-Namen, Zugangsdaten, Lifecycle-Regeln, Versionierung und vorsignierte Links. Dieses Tutorial bewertet eine kleine OCI-Umgebung mit zwei Buckets, einer Lifecycle-Policy, einer Pre-Authenticated Request und einem Objekt, zeigt, was StackToIT zuordnet und was bei Ihren Architekten bleibt, und spielt die Kopie über die beiden S3-Endpunkte durch.
Ein Bucket, bewertet
Die Umgebung wurde für diese Seite geschrieben und am 4. November 2026 bewertet. Links: der versionierte Bucket media. Rechts: der Datensatz, den der Lauf dazu in assessment.json führt, aus dem Lauf kopiert. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.
resource "oci_objectstorage_bucket" "media" {
compartment_id = var.compartment_id
namespace = var.namespace
name = "media"
access_type = "NoPublicAccess"
storage_tier = "Standard"
versioning = "Enabled"
}{
"id": "oci_objectstorage_bucket.media",
"wave": 1,
"result": {
"class": "RECONFIGURE",
"confidence": "LOW",
"target": {
"service": "STACKIT Object Storage"
},
"reason": "A bucket becomes a STACKIT Object Storage bucket with an S3 API. Clients change endpoint and credentials; lifecycle, replication and access rules are rewritten."
}
}Zugeordnet, mit Aufwand für Clients
Der Bucket wird zu einem STACKIT-Object-Storage-Bucket mit S3-API. Clients ändern Endpunkt und Zugangsdaten; Lifecycle-, Replikations- und Zugriffsregeln werden neu geschrieben.
Warum LOW statt MEDIUM
Der Bucket archive, mit nichts Unbekanntem verknüpft, ist MEDIUM: die Obergrenze, solange der oci-Provider keinen Lock-Eintrag hat. Der Bucket media ist LOW, weil Lifecycle-Policy, Pre-Authenticated Request und Objekt, die auf ihn zeigen, dem Katalog unbekannt sind.
Sechs Einstellungen bleiben bei Ihnen
access_type, compartment_id, name, namespace, storage_tier und versioning sind als kritische Einstellungen aufgeführt, die bei Ihnen liegen; für diese Quelle wird kein STACKIT-Bucket-Block geschrieben.
Die Lifecycle-Policy, die der Lauf übergibt
Lifecycle-Policy, Pre-Authenticated Request und Objekt stehen nicht im Katalog dieses Builds. Jedes ist MANUAL_REVIEW, nichts wird bewertet oder entworfen. Die Regel unten löscht Objekte unter tmp/ nach 30 Tagen. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.
resource "oci_objectstorage_object_lifecycle_policy" "media" {
namespace = var.namespace
bucket = oci_objectstorage_bucket.media.name
rules {
name = "expire-tmp"
action = "DELETE"
is_enabled = true
time_amount = 30
time_unit = "DAYS"
target = "objects"
object_name_filter {
inclusion_prefixes = ["tmp/"]
}
}
}{
"id": "oci_objectstorage_object_lifecycle_policy.media",
"wave": 2,
"result": {
"class": "MANUAL_REVIEW",
"confidence": "LOW",
"reason": "oci_objectstorage_object_lifecycle_policy is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
}
}STACKIT listet die Aufrufe
Die Seite zu den unterstützten Operationen führt Put, Get und Delete Bucket Lifecycle Configuration auf; eine solche Regel lässt sich also über die S3-API setzen. Legen Sie sie dort neu an und testen Sie sie an einem Bucket mit Testdaten.
Die Pre-Authenticated Request
Der Request in der Demo erlaubt Lesezugriff auf exports/report.csv bis zum 1. Januar 2027. STACKIT führt Query-Parameter-Authentifizierung für Presigned URLs auf; jeder OCI-Link braucht Ersatz, und seine Nutzer brauchen den neuen.
Die Migration in Reihenfolge
1. Bewerten und die Datei zum Datenumzug lesen
migration/data-movement.md führt beide Buckets als zustandsbehaftete Einheiten mit dem Verfahren UNKNOWN und dem Zustand DECISION_REQUIRED. Das Verfahren hängt von Datenmenge, der Ausfallzeit, die das Geschäft toleriert, und der Konsistenz ab, die die Anwendung braucht; das Terraform nennt nichts davon, also liefern Sie diese Angaben.
2. STACKIT-Buckets anlegen
Namen müssen bei STACKIT im ganzen System eindeutig sein, 3 bis 63 Zeichen, Buchstaben, Ziffern und Bindestriche, mit Buchstabe oder Ziffer am Anfang und Ende. Bei OCI muss ein Name nur im Tenancy-Namespace eindeutig sein; ein kurzer Name wie media ist deshalb wahrscheinlich vergeben. Planen Sie zuerst ein Namensschema.
3. Zugangsdaten anlegen
Der Lauf nennt eine Credentials-Gruppe und ein Credential als Teil des STACKIT-Ziels. Bei STACKIT legen Sie Zugangsdaten in einer Credential-Gruppe im Portal an; der Dialog zeigt Access Key ID und Secret Access Key genau einmal. Auf der OCI-Seite nutzt die S3-API einen Customer Secret Key, dessen Secret sich nach der Erstellung ebenfalls nicht mehr abrufen lässt. Legen Sie beide in Ihrem Secret-Speicher ab, bevor Sie etwas schließen.
4. Über die beiden S3-Endpunkte kopieren
Oracle bietet einen Path-Style-Endpunkt der Form https://NAMESPACE.compat.objectstorage.REGION.oci.customer-oci.com; STACKIT dokumentiert https://object.storage.eu01.onstackit.cloud mit der Region eu01. Die Seite zur Client-Einrichtung nennt keine andere Region; den Endpunkt für eine andere Region erfragen Sie also bei STACKIT. Ein Sync-Werkzeug mit je einem Remote pro Seite, zum Beispiel rclone, kann Bucket zu Bucket kopieren. Oracle unterstützt AWS Signature Version 2 nicht; nutzen Sie also einen Client, der mit Version 4 signiert. STACKIT begrenzt ein Projekt auf 500 MB/s Transfer und 2.500 Anfragen pro Sekunde; 10 TB brauchen damit mindestens rund 5,5 Stunden. Das ist allgemeine Praxis; der Lauf führt keine Kopie aus.
5. Versionen und Größen prüfen
STACKIT hält höchstens 1.000 Versionen pro Objekt und nimmt Objekte bis 5 TB, in bis zu 10.000 Teilen von höchstens 5 GB. Vergleichen Sie Objektzahl und Gesamtbytes je Bucket, bevor Sie Clients umstellen.
6. Clients umstellen, dann stilllegen
Ändern Sie Endpunkt und Zugangsdaten in jeder Anwendung, betreiben Sie beide Buckets so lange parallel, wie Ihr Rückfallplan es verlangt, und löschen Sie die OCI-Buckets samt Links zuletzt.
Wo sich die beiden Dienste in der Praxis unterscheiden
| Thema | Oracle Cloud Object Storage | STACKIT Object Storage |
|---|---|---|
| Bucket-Namen | Eindeutig im Tenancy-Namespace | Eindeutig im ganzen System, 3 bis 63 Zeichen |
| Endpunkt und Region | Path-Style- oder Virtual-Hosted-Endpunkt je OCI-Region; Clients ohne OCI-Regionskennung erreichen nur die Home-Region | https://object.storage.eu01.onstackit.cloud, Region eu01 |
| Zugangsdaten | Customer Secret Key je Benutzer; das Secret ist später nicht abrufbar | Zugangsdaten in Credential-Gruppen, bis zu 1.000 Gruppen pro Projekt; das Secret wird einmal angezeigt |
| Zugriffssteuerung | Keine Objekt-ACLs; IAM-Gruppen, Compartments und Policies | Get-ACL-Aufrufe sind gelistet, Put-ACL-Aufrufe nicht; Bucket-Policies bis 20.480 Byte |
| Lifecycle und Versionierung | Lifecycle-Policy und Versionierung am Bucket | Lifecycle- und Versionierungsaufrufe sind gelistet; 1.000 Versionen pro Objekt |
| Temporäre Links | Pre-Authenticated Requests | Presigned URLs über Query-Parameter |
| Speicherstufen | storage_tier Standard oder Archive am Bucket, wie in der Demo | Kein Storage-Class-Aufruf gelistet; storage_tier bleibt bei Ihnen |
Die STACKIT-Angaben stammen von den Seiten zu unterstützten Operationen, Limits, Zugangsdaten und CLI-Client; ein dort nicht gelisteter Aufruf ist nicht als nicht unterstützt bestätigt, nur nicht gelistet. Get Bucket Notification Configuration ist der einzige gelistete Benachrichtigungsaufruf; ereignisgesteuerte Nutzer brauchen also ein eigenes Design.
Was Sie vor dem Anwenden ändern
Die STACKIT-Seite schreiben
Für diese Quelle wird kein STACKIT-Bucket-Block geschrieben. Legen Sie Buckets, Credential-Gruppe und Zugangsdaten nach dem Ziel an, das der Bericht nennt, mit dem gewählten Namensschema.
Die Archivdaten entscheiden
Der Bucket archive nutzt die Stufe Archive. Die Stufe geht nicht als Einstellung mit; entscheiden Sie, wo kalte Daten liegen und welchen Abruf Sie akzeptieren.
Das Zugriffsmodell neu schreiben
Der OCI-Zugriff läuft über IAM-Gruppen und Policies. Bei STACKIT gilt der Zugriff pro Zugangsdaten und Bucket-Policy; ordnen Sie jeden Nutzer zu.
Den Provider fixieren
Committen Sie die Lock-Datei für oracle/oci 9.11.0. Bis dahin ist jede Einheit auf MEDIUM begrenzt, und die Prüfung der Quelle durch OpenTofu läuft nicht.
Fragen, die Storage-Teams stellen
Kann ich direkt zwischen den beiden S3-Endpunkten kopieren?
Im Prinzip ja: Beide bieten eine S3-API; ein Client mit zwei Remotes kann daher von einer Seite lesen und auf die andere schreiben. Prüfen Sie zuerst die Signaturversion, denn Oracle unterstützt Signature Version 2 nicht.
Zieht die Lifecycle-Policy automatisch um?
Nein. Der Lauf stuft sie als MANUAL_REVIEW ein. STACKIT listet die Lifecycle-Aufrufe; Sie legen die Regel also über die S3-API neu an.
Was geschieht mit vorsignierten Links?
Sie hängen am OCI-Bucket. Stellen Sie neue Links bei STACKIT aus und informieren Sie die Nutzer; der Lauf kann dafür keine Zuordnung vornehmen.
Kopiert StackToIT die Objekte?
Nein. Es hält fest, welche Buckets Daten tragen, und überlässt Verfahren und Cutover einer Person.
Quellen
Ihr nächster Schritt: STACKIT.
Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.