Skip to content

Commit 27134c3

Browse files
authored
Merge pull request #8022 from ovh/feat-improve-gettingstarted-coldarchive
feat(cold archive): improve getting starting guide
2 parents 78a99e4 + d25a5eb commit 27134c3

19 files changed

+2019
-1245
lines changed
Lines changed: 131 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
---
22
title: Cold Archive - Getting started with Cold Archive (EN)
33
excerpt: This guide shows you how to manage your data with Cold Archive
4-
updated: 2024-11-29
4+
updated: 2025-08-18
55
---
66

77
## Objective
88

9-
Cold Archive is a service for long-term data storage.
10-
When archived, every object of a bucket is stored on physical tapes.
11-
Restoration can take some time as it needs to be read on tapes.
9+
Cold Archive provides long-term data storage by archiving bucket objects onto physical tapes.
10+
Restoration may take some time since data is read from tapes.
1211

13-
**This guide explains how to set up storage on tapes with Cold Archive.**
12+
**This guide explains how to set up and manage storage on tapes with Cold Archive, in coexistence with your Object Storage.**
1413

1514
## Requirements
1615

@@ -19,14 +18,25 @@ Restoration can take some time as it needs to be read on tapes.
1918

2019
## Instructions
2120

21+
> [!primary]
22+
>
23+
> You can find the Cold Archive storage presentation and workflow [here](/pages/storage_and_backup/object_storage/cold_archive_overview).
24+
>
25+
26+
This section explains the step-by-step process to configure, archive, restore, and delete buckets with Cold Archive, in coexistence with your Object Storage.
27+
2228
In this tutorial, **awscli aliases** are used to simplify the commands.
2329

30+
### Initial Setup: create AWS CLI Aliases
31+
32+
To simplify commands, create or edit the `~/.aws/cli/alias` file:
33+
2434
```bash
2535
mkdir -p ~/.aws/cli
2636
touch ~/.aws/cli/alias
2737
```
2838

29-
Add this content to the file:
39+
Add the following content:
3040

3141
```bash
3242
[toplevel]
@@ -42,52 +52,56 @@ delete-ovh-archive = s3api delete-bucket-intelligent-tiering-configuration --id
4252

4353
> [!primary]
4454
>
45-
> - `Id` is a string used to identify the S3 **\*** Intelligent-Tiering configuration. Its value is arbitrary and up to you. It will be necessary for further PUT, GET and DELETE operations on the intelligent-tiering configuration.
55+
> - `Id` is a string used to identify the S3<sup>1</sup> Intelligent-Tiering configuration. Its value is arbitrary and up to you. It will be necessary for further PUT, GET and DELETE operations on the intelligent-tiering configuration.
4656
>
47-
> - `Status` and `Days` are mandatory but not used.
57+
> - `Status` and `Days` are mandatory but not used. `Days` is only meaningful with certain access tiers.
4858
>
4959
50-
To retrieve an Intelligent tiering configuration, use the get-bucket-intelligent-tiering-configuration command:
60+
### Check for Incomplete Multipart Uploads Before Archiving
61+
62+
Run this command to ensure there are no incomplete multipart uploads on your bucket:
5163

5264
```bash
53-
aws s3api get-bucket-intelligent-tiering-configuration --bucket example-bucket --id myid
65+
aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net s3api list-multipart-uploads --bucket <bucket_name>
5466
```
5567

56-
```json
57-
{
58-
"Id": "myid",
59-
"Status": "Enabled",
60-
"Tierings": [
61-
{"Days": 999, "AccessTier": "OVH_ARCHIVE"}
62-
]
63-
}
68+
### Upload your objects
69+
70+
To add objects to the bucket you wish to archive, use the following command:
71+
72+
```bash
73+
aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net s3api put-object --bucket <bucket-name> --key <object-name> --body <object-name>
6474
```
6575

6676
> [!primary]
6777
>
68-
> If you have defined multiple profiles, add `--profile <profile>` to the command line.
78+
> This operation is not currently available via the OVHcloud Control Panel. It must be performed on the command line via the S3 API.
6979
>
7080
71-
### Bucket archiving
81+
### Archive a bucket
7282

73-
Before archiving a bucket, make sure there are no incomplete multipart uploads.
74-
This can be done with:
83+
> [!primary]
84+
>
85+
> Before archiving a bucket, make sure there are no incomplete multipart uploads.
86+
>
7587
76-
```bash
77-
aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net s3api list-multipart-uploads --bucket <bucket_name>
78-
```
88+
> [!tabs]
89+
> Via the AWS S3 API
90+
>> ```bash
91+
>> aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net put-ovh-archive <bucket_name>
92+
>> ```
93+
>>
94+
> Via the OVHcloud Control Panel
95+
>> Click the ``{.action} button then select `Archive`{.action}
96+
>>
97+
>> ![Archive a cold archive bucket](images/cold_archive_01.png){.thumbnail}
98+
>>
7999
80-
#### Archive a bucket
100+
- The bucket status changes to "Archiving".
101+
- Objects cannot be read or written during this process; only listing is allowed.
102+
- Archiving to tapes takes some time.
81103
82-
```bash
83-
aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net put-ovh-archive <bucket_name>
84-
```
85-
86-
After this request, the bucket is not archived yet.<br>
87-
It will take some time before it is archived on the tapes.<br>
88-
From this command and until a restoration, the bucket cannot accept any read or write requests on objects (listing objects is still allowed).
89-
90-
#### Archive a bucket with retention lock
104+
### Archive a bucket with retention lock (WORM Compliance)
91105
92106
By default, an archive is not locked i.e you can still delete an archive after it has been written to tapes. To ensure your archive follows the WORM (Write Once Read Many) model, you can set a retention period in your intelligent tiering configuration using the `OVH_ARCHIVE_LOCK` access tier and a number of days. The archive will be then locked until the current date + the number of days specified.
93107
@@ -113,7 +127,7 @@ By default, an archive is not locked i.e you can still delete an archive after i
113127
> Similarly, you cannot have multiple access tiers in your intelligent tiering configuration i.e either you use the `OVH_ARCHIVE` access tier or you use the `OVH_ARCHIVE_LOCK` access tier but not both.
114128
>
115129
116-
#### Lock a bucket after it is archived
130+
### Lock an already archived bucket
117131
118132
If you have buckets that have been previously archived without using the `OVH_ARCHIVE_LOCK` access tier, you can still lock them by re-applying an intelligent tiering configuration to your bucket using the `OVH_ARCHIVE_LOCK` access tier and specifying a retention duration in days.
119133
@@ -135,30 +149,47 @@ If you want to edit the retention period, similarly, re-apply the intelligent ti
135149
> - OVHcloud Cold Archive will return an error because 2024-02-23 + 5 days < 2024-03-03.
136150
>
137151
138-
### Bucket restoring
152+
### Restore a bucket
139153
140-
Restore a bucket:
154+
> [!tabs]
155+
> Via the AWS S3 API
156+
>> Restore a bucket :
157+
>>
158+
>> ```bash
159+
>> aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net put-ovh-restore <bucket_name>
160+
>> ```
161+
>>
162+
> Via the OVHcloud Control Panel
163+
>> Click the ``{.action} button then select `Restore`{.action}.
164+
>>
165+
>> ![Restore a cold archive bucket](images/cold_archive_02.png){.thumbnail}
166+
>>
141167
142-
```bash
143-
aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net put-ovh-restore <bucket_name>
144-
```
168+
- Bucket status changes to "Restoring".
169+
- Objects become accessible in read-only mode once restoration completes.
145170
146-
After this request, the bucket is not restored yet.<br>
147-
It will take some time before it is restored and for the objects to be accessible in read-only (writing objects is forbidden).
148-
149-
### Bucket deletion
171+
### Delete an archive
150172
151173
> [!primary]
152174
>
153-
> If you have locked your archive, trying to delete it before the end of the retention period will result in a 400 Bad Request error:
175+
> If the bucket is locked, deletion before the retention period expires will fail.
154176
> `An error occurred (BadRequest) when calling the DeleteBucketIntelligentTieringConfiguration operation: Archive deletion is locked until 2124-01-19T15:24:56.000Z`
155177
>
156178
157-
Delete an intelligent-tiering configuration and objects of a bucket:
158-
159-
```bash
160-
aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net delete-ovh-archive <bucket_name>
161-
```
179+
### Delete an intelligent-tiering configuration and objects of a bucket
180+
181+
> [!tabs]
182+
> Via the AWS S3 API
183+
>>
184+
>> ```bash
185+
>> aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net delete-ovh-archive <bucket_name>
186+
>> ```
187+
>>
188+
> Via the OVHcloud Control Panel
189+
>> Click on the ``{.action}, then select `Delete`{.action}.
190+
>>
191+
>> ![Delete a cold archive bucket](images/cold_archive_03.png){.thumbnail}
192+
>>
162193
163194
After this request, the objects of the bucket are not deleted yet as the deletion is done asynchronously.<br>
164195
The operation will delete everything (on tapes and all objects if restored) and the bucket status will be in a "Deleting" status.<br>
@@ -180,34 +211,43 @@ Once the deletion is completed:
180211
aws s3 rb s3://<bucket_name>
181212
```
182213
183-
### Bucket status
184-
185-
Once an intelligent-tiering configuration has been pushed (via a `put-bucket-intelligent-tiering-configuration` operation) and until it is removed (via a `delete-bucket-intelligent-tiering-configuration` operation), the status of a bucket is readable through:
186-
187-
```bash
188-
aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net s3api get-bucket-tagging --bucket <bucket_name>
189-
```
190-
191-
If you have locked your archive, you can check the retention period using the `get-bucket-tagging command`.
214+
### Check the bucket status and retention tags
215+
216+
> [!tabs]
217+
> Via the AWS S3 API
218+
>> Once an intelligent-tiering configuration has been pushed (via a `put-bucket-intelligent-tiering-configuration` operation) and until it is removed (via a `delete-bucket-intelligent-tiering-configuration` operation), the status of a bucket is readable through:
219+
>>
220+
>> ```bash
221+
>> aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net >> s3api get-bucket-tagging --bucket <bucket_name>
222+
>> ```
223+
>>
224+
>> If you have locked your archive, you can check the retention period using the `get-bucket-tagging command`.
225+
>>
226+
>> - Example:
227+
>>
228+
>> ```bash
229+
>> aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net s3api get-bucket-tagging --bucket <bucket_name>
230+
>>
231+
>> {
232+
>> "TagSet": [
233+
>> {
234+
>> "Key": "ovh:intelligent_tiering_status",
235+
>> "Value": "Archived"
236+
>> },
237+
>> {
238+
>> "Key": "ovh:intelligent_tiering_archive_lock_until",
239+
>> "Value": "2124-01-19T15:24:56.000Z"
240+
>> }
241+
>> ]
242+
>> }
243+
>> ```
244+
>>
245+
> Via the OVHcloud Control Panel
246+
>> You can check the status of your bucket by looking at the value in the `Status` column, as well as its retention period in the `Locked until` column.
247+
>>
248+
>> ![Cold archive bucket information](images/cold_archive_04.png){.thumbnail}
249+
>>
192250
193-
- Example:
194-
195-
```bash
196-
aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net s3api get-bucket-tagging --bucket <bucket_name>
197-
198-
{
199-
"TagSet": [
200-
{
201-
"Key": "ovh:intelligent_tiering_status",
202-
"Value": "Archived"
203-
},
204-
{
205-
"Key": "ovh:intelligent_tiering_archive_lock_until",
206-
"Value": "2124-01-19T15:24:56.000Z"
207-
}
208-
]
209-
}
210-
```
211251
212252
#### List of bucket statuses
213253
@@ -221,10 +261,22 @@ aws --endpoint-url https://s3.rbx-archive.io.cloud.ovh.net s3api get-bucket-tagg
221261
| `Deleting` | Objects deletion from tapes (and disks if restored) in progress. | Listing |
222262
| `Flushed` | Bucket is empty and can safely be removed. | Listing (empty bucket) |
223263
264+
### Advanced Verification: Inspect Intelligent Tiering Configuration
265+
266+
To retrieve the full intelligent-tiering configuration JSON applied to your bucket:
267+
268+
```bash
269+
aws s3api get-bucket-intelligent-tiering-configuration --bucket <bucket_name> --id myid
270+
```
271+
272+
This command returns detailed configuration info which can be useful for debugging or verification.
273+
224274
## Go further
225275
276+
Check out our dedicated Discord channel: <https://discord.gg/ovhcloud>. Ask questions, share feedback, and interact directly with the team behind our storage and backup services.
277+
226278
If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](/links/professional-services) to get a quote and ask our Professional Services experts for assisting you on your specific use case of your project.
227279
228280
Join our [community of users](/links/community).
229281
230-
**\***: S3 is a trademark of Amazon Technologies, Inc. OVHcloud’s service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies, Inc.
282+
<sup>1</sup>: S3 is a trademark of Amazon Technologies, Inc. OVHcloud’s service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies, Inc.

0 commit comments

Comments
 (0)