elastic_file_systems
Description
The Provose elastic_file_systems
module is used to configure AWS Elastic File Systems
Mounting a file system
Provose helps you create Elastic File Systems and makes them accessible within your Virtual Private Cloud (VPC), but you must take manual steps to mount the Elastic File Systems that you create. Read the EFS documentation for more information.
Examples
The simplest example
This creates an unencrypted filesystem, defaulting to "bursting"
as the throughput mode and with the performance mode being "generalPurpose"
.
module "myproject" {
source = "github.com/provose/provose?ref=v3.0.0"
provose_config = {
authentication = {
aws = {
region = "us-east-1"
}
}
name = "myproject"
internal_root_domain = "example-internal.com"
internal_subdomain = "myproject"
}
elastic_file_systems = {
# This creates an Elastic File system at the domain name
# myfiles.myproject.example-internal.com, which is only accessible
# by the VPC created by the "myproject" Provose module.
"myfiles" = {}
}
}
Inputs
Currently, there are no additional inputs for creating Elastic File Systems.
Currently, there are no required parameters for creating Elastic File Systems. Below are optional parameters for tuning performance or security. Beware that changing any of these parameters for an already-existing filesystem may cause Terraform to delete and recreate your filesystem.
-
performance_mode
– Optional. This is the performance mode for the filesystem. This defaults to the value"generalPurpose"
but can be set to"maxIO"
for better performance. -
throughput_mode
– Optional. This sets the throughput mode for the filesytem. The default value is"bursting"
which provides additional IOPS for this filesystem in bursts. To provision IOPS for this filesystem, set it to"provisioned"
. -
provisioned_throughput_in_mib_per_second
– Optional. When thethroughput_mode
is set to"provisioned"
, use this input to set how much throughput to provision in mebibytes per second. -
encrypted
– Optional. Set totrue
to encrypt the filesystem at rest. The default isfalse
. -
kms_key_id
– Optional. The ID for the AWS Key Management System key used to encrypt the filesystem. Only use this parameter when you are settingencrypted
totrue
.
Outputs
-
elastic_file_systems.aws_security_group.elastic_file_systems
– Theaws_security_group
resource that allows access to Elastic File Systems within the VPC. -
elastic_file_systems.aws_efs_file_system.elastic_file_systems
– Theaws_efs_file_system
resource. -
elastic_file_systems.aws_efs_mount_target.elastic_file_systems
– Theaws_efs_mount_target
resource for the filesystem. We create a mount target for every subnet in the VPC containing the Elastic File System. -
elastic_file_systems.aws_route53_record.elastic_file_systems
– Theaws_route53_record
resource for the filesystem. EFS creates hard-to-remember DNS names, and this DNS record applies the name specified by the user.