본문 바로가기

IaC

(25)
[Pulumi]Create AWS Network: NAT, RouteTable, IGW, VPCE pulumi aws api: https://www.pulumi.com/registry/packages/aws/ github: https://github.com/dewble/pulumi-aws-network/tree/v1.0.0 2024.04.07 - [IaC/Pulumi] - [Pulumi]Create AWS Network:VPC, Subnet, Security Group 위 내용에 이어 AWS NAT, RouteTable, IGW, VPCE를 생성하는 Pulumi 코드를 작성합니다. Architecture 💡기본 라우팅 테이블 설정은 배포 후 수동으로 변경(jeff-route-default)했습니다. Create NAT Gateway NAT 게이트웨이는 프라이빗 서브넷 내의 인스턴스가 인터넷이나 다른 ..
[Pulumi]Create AWS Network:VPC, Subnet, Security Group pulumi aws api: https://www.pulumi.com/registry/packages/aws/ github: https://github.com/dewble/pulumi-aws-network/tree/v1.0.0 이 글은 IaC 도구인 Pulumi를 사용하여 AWS에 네트워크 리소스를 구축하는 방법을 안내합니다. 1편에서는 VPC, Subnet, Security Group를 생성하고 2편에서 NAT, RouteTable, IGW, VPCE를 생성하게 됩니다. 완성 된 네트워크 구조는 아래 Architecture 에서 확인할 수 있으며 필요한 경우 환경에 맞게 내용을 수정하여 사용할 수 있습니다. Architecture 💡기본 라우팅 테이블 설정은 배포 후 수동으로 변경(jeff-route-..
[Pulumi]Quick Start with AWS 개요 Pulumi는 클라우드 리소스를 관리하기 위한 인프라스트럭처 코드(IaC) 툴입니다. AWS, Azure, Google Cloud Platform 등 다양한 클라우드 제공업체를 지원합니다. 이 글에서는 macOS에서 Pulumi를 설치하고 이를 사용하여 AWS에 리소스를 배포하는 방법을 설명합니다. Install pulumi on macOS Homebrew Package Manager brew install pulumi/tap/pulumi Verify installation ➜ pulumi version v3.105.0 Install Pulumi ESC Pulumi ESC는 Pulumi의 확장 기능 중 하나로, 특정 클라우드 서비스에 대한 추가 지원을 제공합니다. ESC를 설치하려면, 먼저 Home..
[Packer]AWS Session Manager를 통한 EC2 인스턴스 연결: github action에서 packer 실행하기 Packer를 사용하여 Amazon EC2 이미지를 빌드하는 과정에서, 내부 네트워크만 허용하는 환경에서 AWS의 Session Manager를 활용하는 방법을 소개합니다. 이 방법은 GitHub Actions를 사용하여 Packer 빌드를 수행할 때 특히 유용합니다. Session Manager 연결 설정 Packer의 Amazon EBS 빌더를 사용할 때, ssh_interface를 "session_manager"로 설정하면 AWS Systems Manager를 통한 SSH 터널을 생성합니다. 이를 위해서는 인스턴스 프로필에 Systems Manager 권한이 필요합니다. # file: example.pkr.hcl # In order to get these variables to read from t..
[Packer]AWS AMI Build with Ansible provisioner 아래 글에서는 Packer와 Ansible을 사용하여 Nginx를 포함한 t2.micro Amazon EC2 AMI를 빌드하는 방법을 소개합니다. Packer란? Packer는 HashiCorp에서 개발한 오픈 소스 도구로, 클라우드나 가상화 플랫폼에서 사용할 이미지를 자동으로 생성합니다. Packer는 여러 플랫폼을 지원하며, AWS EC2 AMI와 같은 이미지를 생성할 수 있습니다. Installing Packer https://developer.hashicorp.com/packer/downloads brew tap hashicorp/tap brew install hashicorp/tap/packer brew upgrade hashicorp/tap/packer Verifying the Installa..
[Terraform]파일(file, templatefile)을 활용한 리소스 구성하기 테라폼(Terraform)을 사용하여 리소스를 구성할 때 외부 파일을 데이터 소스로 활용하는 방법에 대해 알아보겠습니다. 테라폼에서는 IAM 역할의 정책, EC2의 사용자 데이터(User Data) 등을 정의할 때 JSON, Shell 스크립트 같은 파일을 사용하여 리소스를 보다 효율적으로 관리할 수 있습니다. 왜 파일을 사용하나요? 가독성 향상: 긴 설정 코드를 별도의 파일로 분리하면 테라폼 코드의 가독성이 향상됩니다. 재사용성 증가: 동일한 설정을 여러 리소스에 걸쳐 재사용할 수 있습니다. 관리 용이성: 복잡한 설정 값을 별도의 파일에서 관리함으로써 유지보수가 용이해집니다. 사용 예시: file 함수 사용하기 IAM Role Policy: IAM 역할에 대한 정책을 JSON 파일로 작성하여 테라폼 코..
[Ansible]Nginx 설치하기 with tasks, handlers, templates, vars 앤서블(Ansible)은 구성 관리, 응용 프로그램 배포, 태스크 자동화 등을 위해 사용되는 오픈 소스 자동화 플랫폼입니다. 기본적으로 앤서블을 사용하면 인프라와 애플리케이션 설정을 자동화할 수 있으며, 복잡한 태스크와 워크플로우를 단순화할 수 있습니다. 사전 준비: Ansible이 동작할 AWS EC2 Instance 디렉토리 구성 전략 ansible/ ├── ansible.cfg # 앤서블의 기본 설정 파일. SSH 설정, 기본 인벤토리 파일 위치 등을 지정. ├── hosts # 인벤토리 파일. 관리할 호스트의 주소나 그룹 정보가 들어 있음. ├── main.yml # 메인 플레이북 파일. 어떤 역할이 어느 호스트에 적용될지 정의. ├── roles # 재사용 가능한 태스크 모음인 '역할'을 포함하..
[Ansible]CLI 사용법: Ansible을 활용한 서버 관리 기초 Ansible은 강력하고 사용하기 쉬운 IT 자동화 도구입니다. 오늘날 IT 환경에서 Ansible은 구성 관리, 애플리케이션 배포, 태스크 자동화 등에 널리 사용됩니다. 이 글에서는 macOS에서 Ansible을 설치하고 기본적인 Ansible 명령어 사용법을 설명합니다. macOS에서 Ansible 설치하기 macOS를 사용하고 있다면, Homebrew를 통해 Ansible을 쉽게 설치할 수 있습니다. 터미널에 아래와 같이 입력하세요. brew install ansible 이 명령어는 Homebrew를 통해 Ansible을 설치하고 필요한 모든 종속성을 자동으로 처리합니다. Ansible 플레이북의 기본 명령어들 Ansible을 사용할 때, 몇 가지 기본적인 명령어들을 알아두면 매우 유용합니다. 문법..