Amazon Elastic File System (EFS) — это масштабируемая, полностью управляемая служба хранения файлов, предоставляемая Amazon Web Services (AWS). Он позволяет создавать и настраивать файловые системы, которые могут совместно использоваться несколькими экземплярами, что делает его идеальным выбором для приложений, которым требуется общее хранилище файлов. EFS предоставляет различные классы хранения для удовлетворения различных требований к производительности и стоимости. В этой статье мы рассмотрим различные классы хранилищ EFS и приведем примеры кода, демонстрирующие их использование.
- Стандартный класс хранилища.
Стандартный класс хранилища обеспечивает баланс между ценой и производительностью. Он подходит для широкого спектра рабочих нагрузок и обеспечивает доступ с малой задержкой. Ниже приведен пример создания файловой системы EFS с классом хранилища Standard с использованием AWS SDK для Python (Boto3):
import boto3
efs_client = boto3.client('efs')
response = efs_client.create_file_system(
CreationToken='my-token',
PerformanceMode='generalPurpose',
Encrypted=True,
ThroughputMode='bursting'
)
print(response['FileSystemId'])
- Класс хранилища с нечастым доступом (IA).
Класс хранилища с нечастым доступом предназначен для рабочих нагрузок с данными, к которым реже обращаются. Этот класс предлагает более низкие затраты на хранение по сравнению со стандартным классом, но с немного более высокой задержкой. Вот пример создания файловой системы EFS с классом хранения IA:
import boto3
efs_client = boto3.client('efs')
response = efs_client.create_file_system(
CreationToken='my-token',
PerformanceMode='generalPurpose',
Encrypted=True,
ThroughputMode='bursting',
LifecyclePolicies=[
{
'TransitionToIA': 'AFTER_14_DAYS'
}
]
)
print(response['FileSystemId'])
- Класс хранения с нечастым доступом в одной зоне (OZ-IA).
Класс хранения с нечастым доступом в одной зоне обеспечивает те же преимущества в стоимости, что и IA, но хранит данные в одной зоне доступности. Этот класс подходит для рабочих нагрузок, которые допускают потерю данных в случае сбоя зоны доступности. Вот пример создания файловой системы EFS с классом хранения OZ-IA:
import boto3
efs_client = boto3.client('efs')
response = efs_client.create_file_system(
CreationToken='my-token',
PerformanceMode='generalPurpose',
Encrypted=True,
ThroughputMode='bursting',
LifecyclePolicies=[
{
'TransitionToIA': 'AFTER_30_DAYS'
}
],
AvailabilityZoneName='us-east-1a'
)
print(response['FileSystemId'])
- Класс хранения EFS с интеллектуальным многоуровневым хранением.
Класс хранения с интеллектуальным многоуровневым хранением EFS автоматически перемещает данные между стандартным классом хранения и классом хранения IA на основе шаблонов доступа. Это обеспечивает оптимизацию затрат за счет снижения затрат на хранение файлов, к которым редко обращаются. Вот пример создания файловой системы EFS с классом хранения Intelligent-Tiering:
import boto3
efs_client = boto3.client('efs')
response = efs_client.create_file_system(
CreationToken='my-token',
PerformanceMode='generalPurpose',
Encrypted=True,
LifecyclePolicies=[
{
'TransitionToPrimaryStorageClass': 'AFTER_7_DAYS'
}
]
)
print(response['FileSystemId'])
В этой статье мы рассмотрели различные классы хранения, доступные в Amazon EFS, а именно: стандартный, нечастый доступ (IA), нечастый доступ в одной зоне (OZ-IA) и интеллектуальное многоуровневое хранение EFS. Мы предоставили примеры кода, чтобы продемонстрировать, как создать файловую систему EFS с использованием каждого класса хранилища. Понимая характеристики и варианты использования каждого класса хранилища, вы можете оптимизировать затраты на хранение файлов и производительность в AWS EFS.