Изучение различных классов хранилищ EFS: подробное руководство

Amazon Elastic File System (EFS) — это масштабируемая, полностью управляемая служба хранения файлов, предоставляемая Amazon Web Services (AWS). Он позволяет создавать и настраивать файловые системы, которые могут совместно использоваться несколькими экземплярами, что делает его идеальным выбором для приложений, которым требуется общее хранилище файлов. EFS предоставляет различные классы хранения для удовлетворения различных требований к производительности и стоимости. В этой статье мы рассмотрим различные классы хранилищ EFS и приведем примеры кода, демонстрирующие их использование.

  1. Стандартный класс хранилища.
    Стандартный класс хранилища обеспечивает баланс между ценой и производительностью. Он подходит для широкого спектра рабочих нагрузок и обеспечивает доступ с малой задержкой. Ниже приведен пример создания файловой системы 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'])
  1. Класс хранилища с нечастым доступом (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'])
  1. Класс хранения с нечастым доступом в одной зоне (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'])
  1. Класс хранения 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.