EFS
- 파일 시스템
- 액세스 포인트
1. EFS 파일 시스템 (EFS File System)
리소스 이름: aws_efs_file_system
필수 입력 파라미터:
- creation_token: 파일 시스템을 생성할 때 고유하게 식별하는 토큰.
- tags: 태그 지정은 필수는 아니지만, 리소스를 잘 관리하기 위해 추천됩니다.
옵션 입력 파라미터:
- encrypted: 파일 시스템의 데이터가 암호화될지 여부. 기본값은 false.
- performance_mode: 성능 모드를 설정합니다. 기본값은 generalPurpose이고, maxIO로 설정할 수 있습니다.
- throughput_mode: 파일 시스템의 처리량을 관리하는 방식. 기본값은 bursting, 다른 옵션은 provisioned.
- provisioned_throughput_in_mibps: throughput_mode가 provisioned일 때 제공하는 처리량 (MiB/s 단위).
- kms_key_id: 암호화에 사용할 KMS 키의 ID.
- lifecycle_policy: 비정기적으로 사용되는 데이터를 비활성화하는 생명 주기 정책.
2. EFS 액세스 포인트 (EFS Access Point)
리소스 이름: aws_efs_access_point
필수 입력 파라미터:
- file_system_id: 파일 시스템 ID. 해당 액세스 포인트가 연결될 EFS 파일 시스템의 ID.
- posix_user: 액세스 포인트에서 사용할 POSIX 사용자 정보 (UID, GID).
옵션 입력 파라미터:
- root_directory: 액세스 포인트의 루트 디렉토리 경로 및 권한을 설정할 수 있음.
- client_token: 고유한 토큰을 사용하여 액세스 포인트를 생성할 때 사용. 중복 생성 방지.
- tags: 태그 지정으로 리소스를 효율적으로 관리.
# AWS Provider 설정
provider "aws" {
region = "ap-northeast-2" # 리전을 설정합니다.
}
# 1. EFS 파일 시스템 생성
resource "aws_efs_file_system" "my_efs" {
# 필수 파라미터
creation_token = "unique-efs-token" # 파일 시스템을 위한 고유 토큰 (필수)
# 옵션 파라미터
encrypted = true # EFS 데이터 암호화 (기본값: false)
performance_mode = "generalPurpose" # 성능 모드 설정 (generalPurpose, maxIO 중 선택)
throughput_mode = "bursting" # 처리량 모드 (bursting, provisioned 중 선택)
tags = { # 리소스 태그 설정 (옵션)
Name = "MyEFS"
Env = "production"
}
}
# 2. EFS 액세스 포인트 생성
resource "aws_efs_access_point" "my_access_point" {
# 필수 파라미터
file_system_id = aws_efs_file_system.my_efs.id # 연결할 파일 시스템의 ID
posix_user {
uid = 1001 # 사용자 ID (UID)
gid = 1001 # 그룹 ID (GID)
}
# 옵션 파라미터
root_directory { # 루트 디렉토리 경로 설정
path = "/data" # 액세스 포인트의 루트 디렉토리 경로
creation_info {
owner_uid = 1001 # 디렉토리 소유자 UID
owner_gid = 1001 # 디렉토리 소유자 GID
permissions = "755" # 디렉토리 권한 (rwxr-xr-x)
}
}
client_token = "unique-access-token" # 고유한 토큰 설정 (옵션)
tags = { # 태그 설정 (옵션)
Name = "MyEFSAccessPoint"
}
}
# 출력: 생성된 EFS 파일 시스템의 ID
output "efs_file_system_id" {
description = "The ID of the EFS file system"
value = aws_efs_file_system.my_efs.id
}
# 출력: 생성된 EFS 액세스 포인트의 ID
output "efs_access_point_id" {
description = "The ID of the EFS access point"
value = aws_efs_access_point.my_access_point.id
}
입력 파라미터 설명
1. EFS 파일 시스템 (aws_efs_file_system)
- 필수 파라미터:
- creation_token: 각 EFS 파일 시스템을 고유하게 식별하는 값입니다. 반드시 지정해야 합니다.
- 옵션 파라미터:
- encrypted: 데이터를 암호화할지 여부를 설정합니다. 기본값은 false이지만, 민감한 데이터 보호를 위해 true로 설정할 수 있습니다.
- performance_mode: generalPurpose (기본값) 또는 maxIO 중 선택합니다. 고성능이 필요한 워크로드는 maxIO로 설정할 수 있습니다.
- throughput_mode: 기본적으로 bursting 모드로 동작하며, 처리량이 고정된 경우 provisioned를 선택할 수 있습니다.
- provisioned_throughput_in_mibps: throughput_mode를 provisioned로 설정했을 때 처리량을 미리 정의할 수 있습니다.
- lifecycle_policy: 데이터 비활성화를 위한 생명 주기 정책을 정의할 수 있습니다.
2. EFS 액세스 포인트 (aws_efs_access_point)
- 필수 파라미터:
- file_system_id: 연결할 EFS 파일 시스템의 ID입니다. 이 값은 반드시 설정해야 합니다.
- posix_user: 액세스 포인트에서 사용할 POSIX 사용자 정보입니다. UID와 GID는 필수로 설정해야 합니다.
- 옵션 파라미터:
- root_directory: 액세스 포인트의 루트 디렉토리를 설정할 수 있으며, 권한과 소유자 정보도 함께 정의할 수 있습니다.
- client_token: 고유한 토큰을 설정하여 중복 생성을 방지할 수 있습니다.
'AWS' 카테고리의 다른 글
AWS DirectConnect와 Transit G/W 연결해서 내부 통신 IaC (0) | 2024.10.22 |
---|---|
AWS S3와 CloudFront 연동 IaC (0) | 2024.10.22 |
AWS IaC 배포 방법들 (0) | 2024.10.22 |
S3에서 IaC로 폴더 만들기 (0) | 2024.10.22 |
AWS VPC Transit G/W, 트래픽 미러링, VPC 래티스 리소스 (0) | 2024.10.22 |