안녕하세요!
하씨가문의 영광입니다!
이때까지 Terraform 리소스 - Azure편을 5편까지 다루었습니다!
이번에는 AWS를 다뤄보며 Azure와의 차이점을 살펴보면 좋을 거 같아요:)
Don't have a good day, Have a great day!
▶ 목차
1. AWS 공급자
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0"
}
}
}
# Configure the AWS Provider
provider "aws" {
region = "ap-northeast-2"
}
자주 사용하는 인수들을 정리해보자면,
필수 | 설명 | 옵션 | 설명 |
access_key | aws 액세스 키, AWS_ACCESS_KEY_ID 환경 변수를 사용하거나 지정된 경우 자격 증명 파일을 통해 설정할 수 있습니다. | Allowed_account_ids | 잘못된 계정 ID를 실수로 사용하지 않도록 허용된 AWS 계정 ID 목록입니다. |
region | aws 내의 지역을 선택하여 설정할 수 있습니다. | assume_role | IAM 역할을 받기위한 것입니다. |
secret_key | AWS 보안 키로, access_key와 마찬가지로 자격 증명 파일 통해 설정할 수 있습니다. | profile | 공유 구성 및 자격 증명 파일에 설정된 AWS 프로필 이름입니다. |
2. VPC
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
instance_tenancy = "default"
tags = {
Name = "main"
}
}
필수 | 설명 | 옵션 | 설명 |
cidr_block | VPC에 대한 IPv4 CIDR를 입력하는 칸으로 명시적으로 설정하는 곳입니다. | instance_tenancy | VPC로 시작된 인스턴스에 대한 테넌시 옵션입니다. |
ipv4_ipam_pool_id | 이 VPC의 CIDR을 할당하는 데 사용할 IPv4 IPAM Pool의 ID 입니다. | ||
ipv6_netmask_length | IPAM pool에서 요청할 넷마스크 길이입니다. |
3. Subnet
resource "aws_subnet" "main" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
tags = {
Name = "Main"
}
}
필수 | 설명 | 옵션 | 설명 |
vpc_id | VPC의 ID를 입력하는 곳입니다. | availability_zone | 서브넷의 가용 영역을 지정하는 곳입니다. |
cidr_block | 서브넷의 IPv4 CIDR 입력하는 곳입니다. | ipv6_cidr_block | 서브넷의 IPv6 네트워크 범위를 입력하는 곳입니다. |
4. Route_table
resource "aws_route_table" "example" {
vpc_id = aws_vpc.example.id
route {
cidr_block = "10.0.1.0/24"
gateway_id = aws_internet_gateway.example.id
}
route {
ipv6_cidr_block = "::/0"
egress_only_gateway_id = aws_egress_only_internet_gateway.example.id
}
tags = {
Name = "example"
}
}
route_table
필수 | 설명 | 옵션 | 설명 |
vpc_id | VPC ID 입니다. | route | route에 대한 인수들을 적을 공간입니다. 아래 route 표를 참고 하시면 됩니다. |
route
필수 | 설명 | 옵션 | 설명 |
cidr_block | 경로 CIDR 값입니다. | ipv6_cidr_block | IPv6 CIDR 값입니다. |
vpc_peering_connection_id | VPC 피어링 식별자입니다. | ||
network_interface_id | EC2 네트워크 인터페이스 식별자입니다. |
이렇게 이번에는 Terraform 기반 AWS 리소스들을 살펴보았는데요!
공급자와 VPC, Subnet, Route_table은 자주 사용하는 리소스이기 때문에
한번 살펴보고 진행하시면 좋을 거 같아요!
오늘도 읽어주셔서 감사합니다:)
'INFRA > Operation' 카테고리의 다른 글
쿠버네티스 이론STEP12 Scheduling 2 Affinity & AntiAffinity (0) | 2022.10.04 |
---|---|
쿠버네티스 이론STEP11 Scheduling 1 Taint & Toleration (0) | 2022.09.27 |
쿠버네티스 이론 STEP10 Cluster Upgrade (0) | 2022.09.16 |
Terraform 리소스에 대한 이해 - Azure 5편 (0) | 2022.09.15 |
쿠버네티스 이론 STEP9 Controller&Rolling Update (0) | 2022.09.14 |
댓글