본문 바로가기

EC223

[Terraform on AWS] 간단한 VPC 구성 & 웹서버용 EC2 생성하기 테라폼으로 간단한 네트워크 구성을 해보겠다 생성할 것 VPC : 10.0.0.0/16 Subnet Public : 10.0.1.0/24, igw와 연결 Private : 10.0.10.0/24, NAT gw와 연결 EC2 Public(WebServer용) : httpd 실행, 22/80 포트 오픈 Private(DB용) : WebServer에서의 22 포트 오픈 (DB 설치는 pass...) 1. init.tf provider "aws" { region = "ap-northeast-2" } data "aws_availability_zones" "available" { state = "available" } 기본 프로바이더와 가용 영역을 설정해주었다 프로바이더 구문에서 AWS ACCESS KEY와 SECR.. 2021. 3. 23.
[Terraform on AWS] 테라폼 채움 참조, 변수(variable), output 사용 참조 : 책 Terraform Up & Running 코드 깃헙 주소 : github.com/stitchlabio/terraform-up-and-running-code 테라폼 기본 설정은 지난 글을 참조하자 Requirements AmazonEC2FullAccess 권한이 있는 IAM User 기본 VPC (버지니아 북부 : us-east-1) 생성할 리소스 특정 포트를 열어놓는 보안 그룹 EC2 해당 포트로 접속하면 Hello, World를 보여주는 User Data 위에서 설명한 보안 그룹 연결 목차 1. 채움 참조(interpolation)를 사용해 리소스 생성 2. 변수를 사용해 리소스 생성 3. 더 다양한 variable 1. 채움 참조를 사용해 리소스 생성 provider "aws" { reg.. 2021. 3. 19.
[AWS] Lambda로 EC2 Start/Stop + CloudWatch 규칙으로 트리거 >> Lambda 코드만 모아둔 GitHub 0. 기본 구성 기본 VPC에 EC2 2개 만들어놓고 진행하겠다 EC2 인스턴스 id들은 복사해두자 1. IAM 정책 생성 Lambda 함수에서 EC2를 시작/중지 시킬 수 있는 role을 만들어야 하기 때문에 정책을 먼저 만들어주겠다 IAM > 정책 > 정책 생성 > JSON으로 들어가 아래의 코드로 변경 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow".. 2021. 1. 19.
[AWS] Transit Gateway 사용해보기 (+ VPC Peering과 다른 점) 서로 다른 VPC에서 사설 IP로 통신을 하기 위해선 VPC 피어링을 사용하면 된다 그러나, 두세개 정도가 아닌 훨씬 많은 VPC들을 전부 연결해주려면 너무 복잡하고 일이 많아진다 이럴 땐 Transit Gateway를 쓰면 한번에 라우팅을 관리할 수 있다 이러면 사실 VPC Peering을 왜 쓰냐고 할수도 있을텐데, Transit Gateway는 비싸다(...) 아무튼 Transit Gateway를 만들어보기 위해 VPC를 5개정도 만들어보겠다 스택을 생성할 때 마다 MainNumber만 알아서 다르게 해주면 자동으로 그에 맞는 VPC와 Subnet, EC2들이 생성된다 1. VPC 생성 아래와 같이 MainNumber 파라미터만 다 다르게 해서 생성해주자 2. 리소스 확인 Bastion 중 아무나에.. 2021. 1. 18.
[AWS CloudFormation] #5 RDS 생성하기 (for MySQL) >>진행한 실습 GitHub 기존 ec2 만든 실습에서 연장해서 진행했는데, VPC의 구성을 좀 바꿔야 했다 RDS는 서브넷 그룹을 만들어서 지정해야 하는데, 서브넷 그룹은 2개 이상의 가용영역의 서브넷들이 존재해야 한다 그래서 private subnet을 하나 더 만들어주고, 그에 맞게 parameter도 바꿔주었다 Parameters: AZprivate1: Description: AvailabilityZone for private Type: AWS::EC2::AvailabilityZone::Name AZprivate2: Description: AvailabilityZone for private Type: AWS::EC2::AvailabilityZone::Name PrivateSubnet1Cidr: D.. 2021. 1. 6.
[AWS CloudFormation] #4 mapping 사용하기 (EC2 AMI) >>진행한 실습 GitHub ec2 만든 실습에서 ami를 설정하는 부분을 좀 고쳐보겠다 지난번엔 파라미터만 사용해서, 디폴트 값이 있지만 다른 ami를 원하면 직접 복사해서 넣어야했다 이번엔 매핑을 사용해 Linux2 또는 Windows 2019 Base 둘 중 하나를 선택하면 해당 리전에 맞는 ami가 자동으로 설정되도록 해보겠다 Mappings: RegionMap: us-east-1: Linux2: ami-0be2609ba883822ec Window2019: ami-0229f7666f517b31e us-east-2: Linux2: ami-0a0ad6b70e61be944 Window2019: ami-0d5b55fd8cd8738f5 us-west-1: Linux2: ami-03130878b60947df.. 2021. 1. 6.
[AWS CloudFormation] #3 웹서버용 EC2 만들기 (SG, EC2, UserData) >>진행한 실습 GitHub 위 그림과 같이 만들어볼건데, RDS는 추후에 하도록 하겠다 오늘은 APM 설치되어있는 EC2 생성까지만 기본적인 VPC 설정에 대한 설명은 생략하겠다 전체 코드는 밑에 있으니 설명이 필요한 사람은 이전 글을 보고 오자 1. Security Group AWS::EC2::SecurityGroup SGforWeb: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: allow 22, 80 GroupName: webaccess SecurityGroupIngress: - IpProtocol: tcp FromPort: 80 ToPort: 80 CidrIp: 0.0.0.0/0 - IpProtocol: tcp FromPort: 22 .. 2021. 1. 5.
[Ansible] Role 사용법과 변수 파일(vars) 설정, 암호화 * AWS EC2 amazon linux 2에서 진행 일단 얘네들을 설치하고 시작하겠다 amazon-linux-extras enable ansible2 yum clean metadata yum install -y ansible yum install -y python-pip yum install -y python3-pip pip install boto pip intsall boto3 yum install -y tree 2020/11/08 - [공부/Ansible] - [Ansible] Ansible 기초 개념과 AWS에서 사용하기(VPC, EC2) [Ansible] Ansible 기초 개념과 AWS에서 사용하기(VPC, EC2) 1. 앤서블이란? IaC(Infrastructure as Code)를 실천하는.. 2020. 11. 11.
[Ansible] Ansible 기초 개념과 AWS에서 사용하기(VPC, EC2) 1. 앤서블이란? IaC(Infrastructure as Code)를 실천하는 자동화 관리 도구 YAML 형식의 플레이북을 실행시키는 형식으로 자동화 구현 2. 멱등성 앤서블은 멱등성(Idempotency)이란 특징을 가진다 이는 여러 번 적용해도 결과가 바뀌지 않으며, 수정된 부분이 있다면 그 부분만 새롭게 반영되는 특징이다 3. Playbook YAML 형식으로 작성된 각각의 Playbook들은 하나 이상의 Play를 가지며, 각각의 Play는 하나 이상의 task(앤서블 모듈)을 실행한다 4. 앤서블 설치 조건 리눅스/유닉스 계열의 OS 환경 파이썬(일반적인 리눅스 배포판에는 기본으로 내장) 5. 앤서블 설치(Amazon Linux 2에서 진행) * AWS EC2 Amazon Linux 2에서 진행.. 2020. 11. 8.
[Boto3] Linux에서 Python으로 AWS 리소스 프로비저닝하기 (IAM, Key Pair, VPC, EC2) 먼저 Linux에서 필요한 패키지들을 받는다 yum -y update yum -y install epel-release yum -y install python3 yum -y install vim python3 --version 파이썬 3.6.8로 해야한다 pip3 install awscli pip3 install awscli --upgrade pip pip install boto3 which aws aws의 위치를 확인했으면, 이를 이제 환경변수 PATH에 추가해줘야 한다 export PATH=$PATH:/usr/local/bin/aws echo $PATH PATH에 경로가 추가된 것을 확인할 수 있다 aws 버전도 확인해보면 aws --version 이렇게 뜬다 이제 aws 설정을 해줘야 한다 aws .. 2020. 8. 18.