← Cloudflare R2 / r2 / reference
Расположение данных
Узнайте, как определяется расположение данных, хранящихся в R2, и какие параметры влияют на физическое расположение объектов в ваших бакетах.
Автоматически (рекомендуется)
При создании нового бакета расположение данных по умолчанию устанавливается на Automatic. В настоящее время эта настройка выбирает расположение бакета в ближайшем доступном регионе к месту запроса на создание бакета, определяемому по местоположению отправителя.
Подсказки о местоположении
Подсказки о местоположении представляют собой необязательные параметры, которые можно указать при создании бакета, чтобы обозначить основной географический регион, откуда ожидается обращение к данным.
Подсказки о местоположении могут быть удачным выбором, если вы ожидаете, что доступ к данным в бакете будет чаще всего осуществляться из региона, отличного от того, откуда поступает запрос на создание бакета. Учитывайте, что подсказки о местоположении применяются по мере возможности и не дают гарантии: используйте их только для оптимизации производительности, размещая часто обновляемый контент ближе к пользователям.
Настройка подсказок через панель управления Cloudflare
Вы можете автоматически создать бакет в ближайшем доступном регионе исходя из вашего местоположения или выбрать конкретное расположение из списка.
-
На панели управления Cloudflare перейдите к разделу Объектное хранилище R2 страницу.
Перейдите в Обзор ↗ -
Выберите Создание бакета.
-
Введите имя бакета.
-
В разделе Расположение, оставьте None выбрано для автоматического выбора, либо выберите регион из списка.
-
Выберите Создание бакета чтобы завершить процесс создания бакета.
Настройка подсказок через S3 API
Вы можете задать Location Hint через LocationConstraint параметр с использованием S3 API:
await S3.send(
new CreateBucketCommand({
Bucket: "YOUR_BUCKET_NAME",
CreateBucketConfiguration: {
LocationConstraint: "WNAM",
},
}),
);См. Примеры для дополнительных примеров из других S3 SDK.
Доступные подсказки
Поддерживаются следующие расположения подсказок:
| Подсказка | Описание подсказки |
|---|---|
| wnam | Западная Северная Америка |
| enam | Восточная Северная Америка |
| weur | Западная Европа |
| eeur | Восточная Европа |
| apac | Азиатско-Тихоокеанский регион |
| oc | Океания |
Дополнительные соображения
Подсказки о местоположении учитываются только при первом создании бакета с указанным именем. Если вы удалите бакет и создадите новый с тем же именем, будет использовано расположение исходного бакета.
Юрисдикционные ограничения
Ограничения юрисдикции гарантируют, что объекты в бакете хранятся в пределах определённой юрисдикции.
Используйте юрисдикционные ограничения, если необходимо обеспечить хранение и обработку данных в пределах юрисдикции для соответствия требованиям к резидентности данных, включая местные нормативные акты, такие как GDPR ↗ или FedRAMP ↗.
Настройка юрисдикции через панель управления Cloudflare
-
На панели управления Cloudflare перейдите к разделу Объектное хранилище R2 страницу.
Перейдите в Обзор ↗ -
Выберите Создание бакета.
-
Введите имя бакета.
-
В разделе Расположение, выберите Укажите юрисдикцию и выберите юрисдикцию из списка.
-
Выберите Создание бакета чтобы завершить процесс создания бакета.
Использование юрисдикций в Workers
Чтобы получить доступ к бакетам R2, относящимся к юрисдикции, из Workers, вам нужно будет указать юрисдикцию, а также имя бакета в составе вашего привязки в вашем конфигурационный файл Wrangler:
{
"r2_buckets": [
{
"binding": "MY_BUCKET",
"bucket_name": "<YOUR_BUCKET_NAME>",
"jurisdiction": "<JURISDICTION>"
}
]
}[[r2_buckets]]
binding = "MY_BUCKET"
bucket_name = "<YOUR_BUCKET_NAME>"
jurisdiction = "<JURISDICTION>"Сведения о начале работы см. в Использование R2 в Workers.
Использование юрисдикций с S3 API
При взаимодействии с ресурсами R2, относящимися к определённой юрисдикции, через S3 API или существующие S3-совместимые SDK необходимо указать юрисдикция в вашей S3-конечной точке:
https://<ACCOUNT_ID>.<JURISDICTION>.r2.cloudflarestorage.com
Вы можете использовать конечную точку, привязанную к юрисдикции, для любой поддерживаемые операции S3 API. При использовании конечной точки юрисдикции вы не сможете получить доступ к ресурсам R2 за пределами этой юрисдикции.
В примере ниже показано, как создать бакет R2 в eu юрисдикции с помощью @aws-sdk/client-s3 ↗ пакет для JavaScript.
import { S3Client, CreateBucketCommand } from "@aws-sdk/client-s3";
const S3 = new S3Client({
endpoint: "https://<account_id>.eu.r2.cloudflarestorage.com",
credentials: {
accessKeyId: "<access_key_id>",
secretAccessKey: "<access_key_secret>",
},
region: "auto",
});
await S3.send(
new CreateBucketCommand({
Bucket: "YOUR_BUCKET_NAME",
}),
);См. Примеры для дополнительных примеров из других S3 SDK.
Доступные юрисдикции
Поддерживаются следующие юрисдикции:
| Юрисдикция | Описание юрисдикции |
|---|---|
| eu | Европейский союз |
| fedramp | FedRAMP |
| нас | США |
Ограничения
Следующие сервисы не взаимодействуют с ресурсами R2, которым назначена юрисдикция:
- Logpush. В качестве обхода этого ограничения можно настроить Задание Logpush, использующее S3-совместимую конечную точку , чтобы хранить логи в бакете R2 в выбранной вами юрисдикции.
Дополнительные соображения
После создания бакета R2 изменить юрисдикцию нельзя.