클라우드 엔지니어/클라우드 캠프과정 62

Ansible & Terraform 3tir 구성하기

일단외우자 테라폼 명령어 terraform init초기화 terraform validate검증 terraform plan계획 terraform apply적용 terraform destroy제거 terraform show상태 확인 실습 3티어 만들기 ec2 nginx 프로비전 : 테라폼 구성: 엔서블 ec2 flask 프로비전 : 테라폼 구성: 엔서블 rds 프로비전 : 테라폼 구성: 엔서블 기본구성 테라폼 설치 앤서블 설치 ~ 에 AWS 키파일 저장 및 chmod 600 권한변경 rds을 테라폼으로 만드는건 성공하였으나 구성을 엔서블로 하는건 실패함 소스자료 https://github.com/woosun/cloudcamp_git/tree/master/IaC/Ansible/3tir GitHub - woos..

Ansible 변수 조건문 반복문

Ansible 변수 조건문 반복문 변수 변수 타입 vars: string_var: "A" number_var: 1 boolean_var: "yes" list_var: - A - B - C dict_var: key_a: "val_a" key_b: "val_b" key_c: "val_c" 변수 만드는 법 - name: test var vars_files: - vars/main.yml vars: key1: value1 변수 사용하는 법 (jinja2 문법) 변수는 {{ }} 쌍중괄호사이에 {{}} 사용할때는 쌍따옴표 또는 홑 따옴표로 감싸줘야함 반복문 모듈에 with_items: 선언 with_items: - apple - banana - kiwi 사용할 때는 {{ item }} 으로 사용 조건문 모듈에 wh..

Ansible 3계층실습 (1)

실습 Control Node 1대 1cpu 2gb 192.168.179.100 Managed Node 3대 1cpu 2gb 192.168.179.110 192.168.179.120 192.168.179.130 컨트롤 노드가 매니지드 노드 접속할떄 암호없이 키로 접속할수 있게 셋팅한다. ssh-copy-id 는 자물쇠를 만들어 이것으로 잠궈둬라 하는 개념임 Inventory 설정 yml 파일형식으로도 작성이 가능하므로 yml방식으로 한다. cd /etc/ansible/ mkdir inventory cd inventory vi hosts.yaml all: hosts: #모든 서버목록 192.168.179.110: 192.168.179.120: 192.168.179.130: children: webserver..

Ansible

Ansible Ansible은 스토리지, 서버 및 네트워킹을 자동화하는 구성 관리 플랫폼 Ansible을 사용하여 이러한 구성 요소를 구성하면 어려운 수동 반복 작업을 자동화 가능 앤서블 구성요소 (1) Ansible Control Node 앤서블을 실행하는 노드입니다. /usr/bin/ansible이나 /usr/bin/ansible-playbook 명령을 이용하여 제어 노드에서 관리 노드들을 관리 앤서블이 설치 되어 있으면 노트북이나, 서버급 컴퓨터를 제어 노드로 이용 (2) Managed Node 앤서블로 관리되는 서버를 매니지드 노드라고 한다. 매니지드 노드에는 앤서블이 설치 되지 않는다. (3) Inventory (host file) 매니지드 노드 목록을 인벤토리라고 한다. 인벤토리는 각 매니지드..

AWS IAM

IAM은 사용자설정하는것이다 루트권한을 모두 가지고있으면 문제가 생길수있어서 사용자를 나눠서 사용한다고 생각하면 좋다 rbac 사용자에게 권한을 직접 주기보다는 사용자 그룹에 권한을 부여하고 그 그룹에 사용자를 추가하는방식으로 하는게 좋다 실습 사용자그룹별 권한 prod-group : cloudfront, ec2, s3, rds dev-group : ec2, rds 사용자 그룹별 사용자 prod-group : dev1,dev3,dev5 dev-group : dev2,dev4

보안 ( SSL 셋팅 Certbot , ACM AWS Certificate Manager)

SSL 셋팅을위한 EC생성 및 nginx 설치 도메인 연결 sudo apt -y update sudo apt -y install nginx sudo snap install core; sudo snap refresh core sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot vi /etc/nginx/sites-available/default systemctl restart nginx nginx -t sudo certbot --nginx certbot --nginx -d cl.oud.kr 로드벨런싱을 위해 서버를 증설할떄 보안서버도 다시 생성하는게 아니라 기존 키파일을 가져가면된다 certbot에서 수정한 곳을 ..

Terraform (user_data provisioner)

Terraform 리눅스 명령어 실행 연습을 위해 기본적인 EC를 실행후 아래의 소스코드처럼 유저데이타로 명령어를 실행할수 있다 직접 코드를 작성해도되고 쉘스크립트를 실행하게 할수도 있다. provider "aws" { region = "ap-northeast-2" #리전명 } resource "aws_instance" "app_server" { #리소스 ami= "ami-068a0feb96796b48d" instance_type = "t2.micro" vpc_security_group_ids = [ "sg-02567aade589e3c60" ] key_name = "ec01" associate_public_ip_address = true #공용아이피주소 #유저데이타로 아파치를 설치하고 실행한다. user..

Terraform (제어문 , 조건문)

Terraform 제어문 1) 반복문 (0) Set와 Map형 변수 set : 유일한 값의 요소들로 이루어진 list ex) [1, 2, 3] map : Key-Value 형식의 데이터, key 값은 string이여야함 같은 라인의 값은 동일한 형식어야함. ex) { k : v, k2 : v2 } (1) count를 이용한 방식 resource "aws_instance" "app_server" { #리소스 count = 2 #카운트 속성 반복갯수 ami = var.app_server_ami #이미지명 > 변수로 만듬 instance_type = var.app_server_in_type vpc_security_group_ids = ["sg-02567aade589e3c60"] #resource "aws_se..

terraform 변수, 모듈

Terraform 변수 1) 테라폼 변수 문법 [1] 변수 만들 때 variable "변수이름" { type = string default = "값을 입력하지 않았을 때 설정되는 값" } [2] 변수 사용할 때 var.변수이름 2) 변수에 값 입력 terraform apply -var "변수이름=값" 3) 변수 작성 위치 [1] 변수가 사용되기 전 main.tf에 작성 [2] variables.tf 파일에 작성 프로젝트폴더 main.tf전체적인 코드 작성 variables.tf변수 선언 terraform.tfvars변수 값 작성 하여 ec2생성코드중 인스턴스 타입과 인스턴스의 aim을 변수로 따로 설정한다 variable "app_server_ami" { type = string default = "am..

IaC - (terraform)

1. IaC IaC(Infrastructure as Code)란 코드 형태로 인프라를 작성, 정의, 배포, 업데이트하는 것을 의미 인프라를 관리하는 모든 것을 코드 형태로 관리하는 것 1) IaC의 종류 (1) 애드 훅 스크립트 Python, Ruby, Bash 등의 스크립트 언어 (2) 구성 관리 도구 Ansible, Puppet, Chef 등 서버에 소프트웨어를 설치/관리하는 목적으로 사용 (3) 서버 템플릿 도구 Docker, Packer, Vargrant 등 (4) 서버 프로비전 도구 Terraform, CloudFormation 등의 기술 *프로비전이란? 프로비저닝(Provisioning) 이란 의미는 영어 직역한 그대로 "제공하는것" 어떤 종류의 서비스든 사용자의 요구에 맞게 시스템 자체를 제..

728x90
반응형