본문 바로가기

테라폼

(5)
테라폼 스터디 - 7주차 (프로덕션 수준의 인프라 구성) 프로덕션 수준의 인프라 구축이 오래 걸리는 이유  복잡성대규모 시스템은 다양한 컴포넌트와 상호작용하기에, 네트워킹, 보안, 스토리지, 가용성, 확장성 등 여러 가지 요소를 고려해야 한다.각 요소 간의 의존성을 올바르게 설정하고 관리하는 데 시간이 소요된다.보안 및 규정 준수프로덕션 환경에서는 데이터 보호와 규정 준수가 필수이기에, 이를 위해 IAM 정책, 데이터 암호화, 네트워크 ACL 등 다양한 보안 설정이 필요하다.테스트 및 검증프로덕션 환경에서는 장애가 최소화되어야 하므로, 따라서 모든 변경 사항은 철저히 테스트되어야 하며, 복구 계획이 필요하다.인프라 코드는 실제 환경에서 배포 전 테스트 환경에서 검증되어야 한다.자동화 및 지속 가능성모든 프로세스는 반복 가능하고 자동화되어야 한다. 이를 위해 테..
테라폼 스터디 6주차 기본적으로 하나의 리소스 블록은 하나의 실제 인프라 객체를 구성한다. 반복적으로 유사한 객체를 블록을 일일히 하나씩 블록을 작성하여 관리하기 힘든 경우, 프로그래밍 언어에서 사용되는 반복문과 유사한 기능을 가진 키워드를 사용할 수 있다. Terraform에선 count와 for_each가 있다. Meta Argument - count리소스 또는 모듈 블록에 count 값이 정수인 인수가 포함된 경우, Terraform은 해당 정수만큼의 인스턴스를 생성한다. resource "aws_instance" "server" { count = 4 # create four similar EC2 instances ami = "ami-a1b2c3d4" instance_type = "t2.micro..
테라폼 스터디 5주차 - 모듈 모듈이란Modules are containers for multiple resources that are used together. A module consists of a collection of .tf and/or tf.json files kept together in a directory. Terraform 모듈은 인프라 코드를 재사용 가능하고 효율적으로 관리할 수 있도록 구성한 코드 블록입니다. 모듈은 여러 리소스를 하나의 단위로 묶어 처리할 수 있으며, 대규모 인프라를 관리할 때 코드의 중복을 줄이고 유지보수를 쉽게 합니다. 모듈은 작은 단위의 작업(예: VPC 생성, EC2 인스턴스 배포 등)을 수행하도록 설계되며, 필요에 따라 호출하여 사용할 수 있습니다. -> 모듈을 이용해서 반복되는 코드..
테라폼 스터디 - 3주차 추가내용 테라폼으로 instance 띄우고 그 instance 내부에서 nginx 띄우는 방법? 방법 1. user_data 이용 인스턴스를 시작할 때 제공할 사용자 데이터. 이 인수를 통해 gzip 압축 데이터를 전달하지 마시고, 대신 user_data_base64를 참조하세요. 이 필드를 업데이트하면 기본적으로 EC2 인스턴스의 중지/시작이 트리거됩니다. user_data_replace_on_change가 설정되어 있으면 이 필드를 업데이트하면 EC2 인스턴스의 삭제 및 재생성이 트리거됩니다.  특징인스턴스가 처음 실행될 때 한번만 실행됨이미 실행된 인스턴스에 대해 변경사항 반영하기 어려움 / 인스턴스 재시작 또는 재생성이 필요resource "aws_instance" "example" { ami ..
테라폼 스터디 - 2주차 데브옵스의 등장. 전통적인 조직에서의 개발과 운영은 대립 관계에 있다. 개발은 서비스의 변화를, 운은 서비스 안정을 위해 유지하는 것을 선호한다. 이로인해 다음과 같은 문제들이 발생하게 된다.릴리즈 주기 지연 (개발부터 배포까지 아주 많은 시간이 소요됨)커뮤니케이션 부재 (릴리즈 주기 지연의 문제부터 사일로 현상 등 다양한 문제) - 비효율적, 비용 증가 다음과 같은 현상, 문화의 확산으로 인해 devops가 전파되기 시작한다. 애자일 개발론 : 빠른 개발 주기와 팀 간 협업을 강조 (빠르고, 반족적인)애자일의 빠른 개발주기에 맞춰 운용의 자동화가 필요해짐CI : 코드를 자주 통합하고, 이를 자동화된 방법으로 테스트 및 검증클라우드 서비스의 대중화 코드형 인프라란?위를 적용하기 위한 방법으로 인프라 정보..