AWS 6

Terraform_DB subnet , DB instance

이번에는 aws db을 생성해보도록 하겠다. DB subnet이를 위해 우선, db subnet을 생성해야 한다. resource는 aws_db_subnet_group 이다. 해당 db 서브넷은 private-db 서브넷 각각 다른 리젼의 것 2개를 넣는다,resource "aws_db_subnet_group" "my-db-g"{ name = "my-db-g" subnet_ids = [aws_subnet.test-private-subnet-db-a.id , aws_subnet.test-private-subnet-db-c.id] } DB instanceresource는 db instance이다. mysql로 한번 생성 해보도록 하겠다.# rds 생성 resource "aws_db_instance" "my-..

Terraform 2023.09.22

Terraform_ EC2 instance 생성

EC2 instance 생성 이번에는 Terrafrom으로 ec2 인스턴스를 구성하는 방법에 대해 알아 보도록 하겠다. 시나리오 1. Public ec2 - openvpn(public subnet) 2. Private ec2 - 웹 서버 운영 (private subnet) , Linux 이렇게 구성해보도록 하겠다. Ec2 생성 resource는 aws_instance 을 사용하고 ec2을 생성하기 위해서는 해당 애플리케이션이나 os의 ami을 알고 있어야하고 또한 ssh 통신을 위해 아마존 키 페어가 있어야한다. openvpn 생성 resource "aws_instance" "my-openvpn" { ami = "ami-000ea6370ba7c6885" instance_type = "t2.micro" k..

Terraform 2023.09.22

Terraform_ Security-group

이번에는 Terraform에서 보안그룹을 설정하는 코드를 공부하고 작성해보려고한다. Security group 시나리오 admin은 openvpn을 통해서 app-ec2에 접속이 가능하고, rds에 접근이 가능하며, user는 오직 lb를 통해서만 app-ec2에 접근이 가능하도록 하였다. egress는 모든 트래픽 허용으로 하겠다 Security_group terraform resource로는 security_group이다. 아래 옵션으로는 ingress 와 egress, vpc, name을 설정하면 된다. Alb-sg egress의 protocol에서의 -1 은 모든 protocol을 허용하겠다는 의미이다, # alb -sg resource "aws_security_group" "alb-sg"{ na..

Terraform 2023.09.21

Terraform _ Route-table , association

Terraform_ route table 이번에는 사전에 만든 서브넷을 라우팅하고 nat와 ig 을 라우팅하는 법을 작성해보도록 하겠다. public - route association 우선, 퍼블릭 라우트와 프라이빗 라우트를 만들어줘야 한다. 사용리소스는 aws_route_table_association 이다. 퍼블릭 라우트에는 퍼블릭 서브넷 두개를 연결해준다. ## my public- route resource "aws_route_table_association" "test-public-subnet-a_association"{ subnet_id = aws_subnet.test-public-subnet-a.id route_table_id = aws_route_table.my-public-route.id..

Terraform 2023.09.20

Terraform_ aws vpc , subnet 설정

Terraform Terraform은 버전 관리, 재사용 및 공유가 가능한 사람이 읽을 수 있는 구성 파일로 클라우드 및 온프레미스 리소스를 모두 정의할 수 있는 코드 도구로서의 aws 등 다양한 provider을 지원합니다. 그래서 Terraform을 활용하면 aws 설정을 자동화로, 코드로 관리할 수 있게 된다! VPC 설정 vpc는 aws_vpc 라는 reosoure로 정의한다. resource "aws_vpc" "test_vpc"{ cidr_block = "10.1.0.0/16" # 해당 vpc 네트워크 enable_dns_hostnames = true enable_dns_support = true instance_tenancy = "default" tags = { Name = "my -vpc" ..

Terraform 2023.09.19

AWS_VPC 개념

VPC란 Virtual Private Cloud의 약자로 aws 계정 전용 가상 네트워크 외부와 격리된 서비스로 원하는대로 사설망 구축이 가능하다. 리전단위로만 통신이 되면 다른 리전과 통신하기 위해서는 피어링을 해야 한다. VPC 구성요소 서브넷 VPC 하위 단위로 VPC에 할당 된 IP를 더 작은 단위로 분할한다. 하나의 서브넷은 하나의 가용영역안에 위치해야 한다. aws는 사용 가능 ip의 갯수는 5개를 제외한다(네트워크, 라우터, dns서버, 브로드캐스트 등 인터넷게이트웨이 쉽게 말해 VPC가 외부의 인터넷과 통신할 수 있도록 경로를 만들어주는 것이다. 따로 설정을 안해주면 VPC는 외부와 격리된 서비스로 통신이 어렵다. 라우트테이블 요청이 들어오면 어디로 가야하는지 알려주는 이정표 같은 서비스이..

AWS 2023.09.02