Режимы доступа EFS: изучение различных способов доступа к вашим файлам
При работе с Amazon Elastic File System (EFS) понимание различных режимов доступа имеет решающее значение для оптимизации доступа к файлам и обеспечения эффективной производительности. В этой статье блога мы углубимся в различные режимы доступа к EFS, объясним их на повседневном языке и предоставим примеры кода, иллюстрирующие их использование. Итак, возьмите свой любимый напиток, расслабьтесь и давайте исследовать мир режимов доступа EFS!
Режимы доступа раскрыты:
- Общий режим (по умолчанию):
Режим доступа общего назначения предназначен для большинства случаев использования. Он обеспечивает хороший баланс производительности и стоимости. В этом режиме к файлам могут одновременно обращаться несколько экземпляров EC2 в группе безопасности. Это похоже на общий диск, доступный всем членам вашей команды.
Пример фрагмента кода:
import boto3
efs_client = boto3.client('efs')
response = efs_client.create_mount_target(
FileSystemId='fs-12345678',
SubnetId='subnet-12345678',
SecurityGroups=['sg-12345678']
)
print("Mount target created:", response['MountTargetId'])
- Максимальный ввод-вывод.
Если вашему приложению требуется более высокий уровень параллелизма и пропускной способности, вам подойдет режим доступа «Максимальный ввод-вывод». Он позволяет тысячам экземпляров EC2 одновременно получать доступ к файлам, что делает его идеальным для рабочих нагрузок с интенсивным использованием данных.
Пример фрагмента кода:
import boto3
efs_client = boto3.client('efs')
response = efs_client.update_file_system(
FileSystemId='fs-12345678',
ThroughputMode='bursting',
ProvisionedThroughputInMibps=100
)
print("File system updated:", response['FileSystemId'])
- Пакетный режим.
Пакетный режим доступа подходит для рабочих нагрузок с непредсказуемыми или прерывистыми шаблонами доступа к файлам. Он предоставляет дополнительные кредиты, которые позволяют вашей файловой системе при необходимости на короткие периоды времени превышать базовую производительность.
Пример фрагмента кода:
import boto3
efs_client = boto3.client('efs')
response = efs_client.update_file_system(
FileSystemId='fs-12345678',
ThroughputMode='bursting'
)
print("File system updated:", response['FileSystemId'])
- Предоставлено:
Если вам требуется стабильный и более высокий уровень пропускной способности, режим Предоставленный доступ позволяет вам указать точный объем пропускной способности, необходимый вашему приложению. Этот режим подходит для рабочих нагрузок, чувствительных к задержкам или высокой пропускной способности.
Пример фрагмента кода:
import boto3
efs_client = boto3.client('efs')
response = efs_client.update_file_system(
FileSystemId='fs-12345678',
ThroughputMode='provisioned',
ProvisionedThroughputInMibps=500
)
print("File system updated:", response['FileSystemId'])
- Одна зона.
Режим доступа «Одна зона» обеспечивает хранение файлов в одной зоне доступности (AZ) вместо обычного резервирования в нескольких зонах доступности, предлагаемого EFS. Он обеспечивает экономию средств, но снижает доступность и долговечность.
Пример фрагмента кода:
import boto3
efs_client = boto3.client('efs')
response = efs_client.create_file_system(
CreationToken='my-efs-one-zone',
PerformanceMode='generalPurpose',
ThroughputMode='bursting',
AvailabilityZoneName='us-west-2a'
)
print("File system created:", response['FileSystemId'])