Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 4. ASG 및 ALB 연동 이전에 파일로 나눠서 사용한 AWS 환경에 ASG(AutoScale Group)와 ALB를 연동해 구성하는 방법을 실습 1. ALB 및 ALB 리스너, ALB 대상그룹 생성 // ALB 및 ALB 리스너, ALB 대상그룹 생성 echo resource "aws_lb" "ersia_alb" { > alb.tf echo name = "t101-alb" >> alb.tf echo load_balancer_type = "application" >> alb.tf echo subnets = [aws_subnet.ersia_subnet1.id, aws_subnet.ersia_subnet2.id] >> alb.tf..
Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 3. VPC 및 기타 자원 배포 기존에 default VPC로 사용한 배포환경을 직접 Custom 한 VPC로 구성하는 방법을 실습함 이번에는 main.tf 파일에 모두 선언하는게 아닌 AWS 각 자원 별로 나눠서 작성하고 배포하는 실습을 수행함 vpc, subnet, 보안그룹 등 여러 자원을 하나의 파일이 아닌 다른 파일로 나눠서 작성하고 배포할 수 있다. 1. VPC 생성 // 임의의 폴더를 생성하고 해당 폴더에서 작업 mkdir study2 cd study2 // VPC 생성 스크립트 (윈도우 cmd) echo provider "aws" { > study2_vpc.tf echo region = "ap-northeast-2"..
Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 개인과제 1. Ubuntu EC2에 apache(httpd) 를 설치하고 index.html 파일을 생성해 임의의 문장 출력 2. Terraform 변수를 활용해 httpd 포트를 50000으로 변경하고 접속 가능하도록 구성 echo provider "aws" { > main.tf echo region = "ap-northeast-2" >> main.tf echo } >> main.tf echo. >> main.tf echo resource "aws_instance" "example" { >> main.tf echo ami = "ami-0e9bfdb247cc8de84" >> main.tf echo instance_type = "..
Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 2. 기본 EC2 배포 Terraform이란? Terraform은 Go언어로 개발된 오픈 소스 도구로, Terraform에서 지원하는 OS, 클라우드 플랫폼에 맞춰 Terraform 바이너리 파일을 통해 API를 호출해 자원을 관리함 Terrform 동작과정 Terraform의 동작은 크게 3가지로 Write, Plan, Apply 단계로 나뉨 Write: You define resources, which may be across multiple cloud providers and services. For example, you might create a configuration to deploy an application on..
Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 1. 환경구성 IaC 도구 중 하나인 Terraform을 사용해 AWS 자원을 관리하는 CloudNet 스터디를 진행 코드형 인프라(Infrastructure as Code, IaC) 란? 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 의미함 스터디의 기본 실습 환경이 Mac 또는 Linux의 Bash Shell 이기에 윈도우 10 환경에서 실습을 위한 환경구성을 별도로 수행함 환경 구성 윈도우10 명령 프롬프트(cmd)를 활용 1. 임의의 경로로 이동 후 실습 디렉토리 생성 C:\Users\user>cd c:\ c:\>mkdir terraform_study c:\>cd terraform_study 2...
AWS CLI V2로 테스트 한 코드 import boto3 import json ec2_client = boto3.client( 'ec2', aws_access_key_id = '**************', aws_secret_access_key = '*********************', region_name = 'ap-northeast-2' ) response = ec2_client.describe_instances() for reservation in response['Reservations']: for ec2 in reservation['Instances']: re_tags = {} if 'Tags' not in ec2: # Case) all tags removed #print(ec2["I..