SlideShare a Scribd company logo
1 of 79
Download to read offline
Terraform을 이용한
Infrastructure as Code
2018.04.18

Outsider @ AWS Summit Seoul 2018
실전 구성하기
VPC
EC2
RDS
ELB
CloudFront
S3
ECS
Lambda
CloudWatch
Route53
IAM
Out of Control
유지보수 문제 서버를 내릴 수 없다
장애가 나지 않으면 굳이 설정이나 

구성을 바꾸지 않는다
이상한 설정이 있어도 개선하지 않는다
누가 변경을 해도 알기가 어렵다
어떤 리소스가 있는지 알 수 없다
누구나
운영하고 개선할 수 있도록
Infrastructure as Code
전통적인 인프라
퍼블릭 클라우드
1. 프로그래밍 가능
Programmable 인프라스트럭처를 소프트웨어처럼

다룬다
소프트웨어 개발의 경험을 

인프라스트럭처 관리에 적용한다
Programmable 버전 관리 도구(VCS)
코드 리뷰
테스트 자동화
지속적 통합
지속적 배포
2. 온 디맨드
애완동물 가축vs.
On Demand 반복 가능해야 한다
서버가 고장나면 교체한다
수동으로 작업하지 않는다
Infrastructure as Code
Write, Plan, and Create
Infrastructure as Code
Write, Plan, and Create
Infrastructure as Code
Terraform 오픈 소스
AWS 뿐만 아니라 다양한 프로바이더
지원
HCL로 리소스 선언
커맨드라인 인터페이스 사용
테라폼은 어렵지 않다.
간단한 Terraform의 사용 방법
resource "aws_instance" "api" {
ami = "ami-d39a02b5" # ubuntu 16.04
instance_type = "t2.micro"
subnet_id = "subnet-xxxxxxxx"
security_groups = ["sg-xxxxxxxx"]
key_name = "your-key-pair"
}
HCL(HashiCorp Configuration Language)
resource "aws_instance" "api" {
ami = "ami-d39a02b5" # ubuntu 16.04
instance_type = "t2.micro"
subnet_id = "subnet-xxxxxxxx"
security_groups = ["sg-xxxxxxxx"]
key_name = "your-key-pair"
}
HCL(HashiCorp Configuration Language)
예약어
리소스 종류
리소스 이름
속성 명 속성 값
설정(.tf) 상태(.tfstate) 리소스(aws)
ec2.tf
aws_instance.api
$ terraform plan
------------------------------------------------------
Terraform will perform the following actions:
+ aws_instance.api
id: <computed>
ami: "ami-d39a02b5"
associate_public_ip_address: <computed>
availability_zone: <computed>
instance_type: “t2.nano"
security_groups.#: “1”
security_groups.541019735: "sg-247b2042"
source_dest_check: "true"
Plan: 1 to add, 0 to change, 0 to destroy.
terraform plan
설정(.tf) 상태(.tfstate) 리소스(aws)
비교 비교
ec2.tf
aws_instance.api
$ terraform apply
aws_instance.api: Creating...
ami: "" => "ami-d39a02b5"
associate_public_ip_address: "" => "<computed>"
availability_zone: "" => "<computed>"
instance_type: "" => "t2.nano"
security_groups.#: "" => "1"
security_groups.541019735: "" => "sg-247b2042"
source_dest_check: "" => ”true”
aws_instance.api: Still creating... (10s elapsed)
aws_instance.api: Creation complete after 23s (ID: i-0xxx)
Apply complete!
Resources: 1 added, 0 changed, 0 destroyed.
terraform apply
{
"version": 3,
"terraform_version": "0.11.2",
"modules": [{
"resources": {
"aws_instance.api": {
"type": "aws_instance",
"depends_on": [],
"primary": {
"id": "i-0cf4c4b56bad7ddb1",
"attributes": {
"ami": "ami-d39a02b5",
...
},
"meta": { "schema_version": "1" },
},
"provider": "provider.aws"
}
}
}]
}
terraform.tfstate
설정(.tf) 상태(.tfstate) 리소스(aws)
ec2.tf
aws_instance.api
terraform.tfstate
aws_instance.api
EC2
aws_instance.api
설정(.tf) 상태(.tfstate) 리소스(aws)
ec2.tf
aws_instance.api
terraform.tfstate
aws_instance.api
EC2
aws_instance.api
모두 일치
Terraform
실전 적용
기존 레거시를
가져와야 한다
$ terraform import aws_instance.web i-123456
aws_instance.web: Importing from ID "i-123456"...
aws_instance.web: Import complete!
Imported aws_instance (ID: i-123456)
aws_instance.web: Refreshing state... (ID: i-123456)
Import successful!
The resources that were imported are shown above.
These resources are now in your Terraform state
and will henceforth be managed by Terraform
terraform import
“Terraform import의 현재 구현체는 상태로만
리소스를 가져올 수 있습니다. 이는 설정을 만들지
않습니다. Terraform 차기 버전에서는 설정도
생성할 것입니다.
https://www.terraform.io/docs/import/index.html
설정(.tf) 상태(.tfstate) 리소스(aws)
EC2
aws_instance.web
설정(.tf) 상태(.tfstate) 리소스(aws)
terraform.tfstate
aws_instance.web
EC2
aws_instance.web
$ terraform import aws_instance.web i-123456
Error: resource address "aws_instance.web" does not
exist in the configuration.
Before importing this resource, please create
its configuration in the root module.
For example:
resource "aws_instance" “web" {
# (resource arguments)
}
terraform import
상태와 일치할 때까지
테라폼 설정파일을 작성한다.
길고
지루한 작업....
테라폼 설정 파일은
AWS 리소스에 대한
이해가 없으면 작성할 수 없다
자동화된

마법사가 없다!
AWS 리소스에 대한
이해도가 엄청나게 높아진다
terraforming https://github.com/dtan4/terraforming
기존 AWS 리소스를 가져온다
AWS만 지원한다
tf, tfstate를 모두 가져올 수 있다
설정을 참고할 수 있다
tfstate는 원격으로 관리한다
(Remote State)
Remote State terraform.tfstate 원격 저장소에서 관리한다
Consul, AWS S3, Google Cloud Storage
(GCS), etcd, Terraform Enterprise 등의
백엔드 지원
상태 파일에는 민감한 정보가 있을 수 있으므로 

암호화를 해야 한다
백엔드에 따라 Lock을 사용할 수도 있다
terraform {
backend "s3" {
bucket = "terraform-state"
key = "ec2/terraform.tfstate"
region = "ap-northeast-1"
encrypt = true
kms_key_id = "alias/terraform_state"
dynamodb_table = "terraform-lock"
}
}
S3 remote state backend
S3 Backend S3 버킷의 버저닝 기능을 사용한다
KMS로 암호화한다
DynamoDB를 Lock 테이블로 사용한다
S3 버킷과 DynamoDB, KMS 는 미리 

만들어 두어야 한다
terraform.tfstate tfstate는 점점 커지게 된다
관리가 어려워 진다
plan, apply에 시간이 많이 걸린다
tfstate 파일은
작게 나누어서 관리한다
분리한 tfstate 사이에서도
리소스 참조를 해야한다
sg-48630c2e
vs.
"${aws_security_group.public.id}"
리소스를 가진 쪽에서
값을 노출한다
output "public_id" {
value = "${aws_security_group.public.id}"
}
output으로 노출
다른 곳에서는
가져와서 사용한다
data "terraform_remote_state" "vpc" {
backend = "s3"
config {
bucket = "terraform-state"
key = "vpc/terraform.tfstate"
region = "ap-northeast-1"
dynamodb_table = "terraform-lock"
}
}
terraform_remote_state
$ terraform refresh
data.terraform_remote_state.vpc:
Refreshing state...
terraform refresh
resource "aws_instance" "api" {
ami = "ami-d39a02b5"
instance_type = "t2.nano"
security_groups = [
"${data.terraform_remote_state.vpc.public_id}"
]
}
리소스 상호 참조
Data Source를 많이 사용하자
data "aws_ami" "ubuntu" {
most_recent = true
filter {
name = "name"
values = [
"ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-*"
]
}
filter {
name = "virtualization-type"
values = ["hvm"]
}
owners = ["099720109477"] # Canonical
}
data “aws_ami”
"${data.aws_ami.ubuntu.id}"
# ami-48630c2e
data “aws_ami”
data "aws_availability_zones" "available" {}
data “aws_availability_zones”
"${data.aws_availability_zones.main.names}"
# [
# ap-northeast-1a,
# ap-northeast-1c,
# ap-northeast-1d
# ]
data “aws_availability_zones”
모듈
modules 재사용가능한 컴포넌트
내부 구조를 숨길 수 있다
AWS 리소스를 다 이해 못해도 인프라를 

만들 수 있다
다른 조직에도 일관된 인프라로 제공할 수 있다
템플릿 처럼 생각하는 게
이해가 쉬울 수도...
├── main.tf # 리소스 설정
├── outputs.tf # 출력값
└── variables.tf # 입력값
Module 구조
# 필수
variable "name" {
description = "ALB 이름"
}
# 옵션
variable "subnet_ids" {
description = "ALB에 적용할 서브넷 ID 리스트"
type = "list"
default = []
}
variables.tf
resource "aws_alb" "main" {
name = "${var.name}"
internal = false
subnets = ["${var.subnet_ids}"]
security_groups = ["sg-1234567"]
}
main.tf
output "name" {
value = "${aws_alb.main.name}"
}
# ALB ID
output "id" {
value = "${aws_alb.main.id}"
}
# ALB ARN.
output "arn" {
value = "${aws_alb.main.arn}"
}
output.tf
module "service_alb" {
source = "./modules/alb"
name = "service"
subnet_ids = [
"subnet-2784b551"
]
}
alb.tf
나아진 점
인프라를 코드로
관리할 수 있게 되었다
코드로 관리하므로 검색을 할 수 있다
인프라가 변경된
히스토리를 알 수 있게 되었다
누가 언제 인프라를 변경하는지가
투명하게 공개된다
인프라 변경에 관해
코드 리뷰를 할 수 있다
관리가 가능해진
인프라
https://twitter.com/outsideris
https://github.com/outsideris
outsideris@gmail.com

More Related Content

What's hot

What is chef - korean
What is chef - koreanWhat is chef - korean
What is chef - koreanSangUk Park
 
Amazon EC2에서 Tensorflow 돌려보기 - 최선근 (데이터과학모임) :: AWS Community Day 2017
Amazon EC2에서 Tensorflow 돌려보기 - 최선근 (데이터과학모임) :: AWS Community Day 2017Amazon EC2에서 Tensorflow 돌려보기 - 최선근 (데이터과학모임) :: AWS Community Day 2017
Amazon EC2에서 Tensorflow 돌려보기 - 최선근 (데이터과학모임) :: AWS Community Day 2017AWSKRUG - AWS한국사용자모임
 
파크히어 Realm 사용 사례
파크히어 Realm 사용 사례파크히어 Realm 사용 사례
파크히어 Realm 사용 사례선협 이
 
처음 접하는 Oozie Workflow, Coordinator
처음 접하는 Oozie Workflow, Coordinator처음 접하는 Oozie Workflow, Coordinator
처음 접하는 Oozie Workflow, CoordinatorKim Log
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제Tae Young Lee
 
PostgreSQL 이야기
PostgreSQL 이야기PostgreSQL 이야기
PostgreSQL 이야기I Goo Lee
 
Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터jinho park
 
data platform on kubernetes
data platform on kubernetesdata platform on kubernetes
data platform on kubernetes창언 정
 
AWS 환경에서 MySQL Infra 설계하기-2부.본론
AWS 환경에서 MySQL Infra 설계하기-2부.본론AWS 환경에서 MySQL Infra 설계하기-2부.본론
AWS 환경에서 MySQL Infra 설계하기-2부.본론I Goo Lee
 
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)Jaeyeon Kim
 
막하는 스터디 첫 번째 만남 Node.js
막하는 스터디 첫 번째 만남 Node.js막하는 스터디 첫 번째 만남 Node.js
막하는 스터디 첫 번째 만남 Node.js연웅 조
 
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현Hong Min Kim
 
닷넷프레임워크에서 Redis 사용하기
닷넷프레임워크에서 Redis 사용하기닷넷프레임워크에서 Redis 사용하기
닷넷프레임워크에서 Redis 사용하기흥배 최
 
AWS 를 이용한 Serverless Infra 구축해보기 (Lambda, DynamoDB)
AWS 를 이용한 Serverless Infra 구축해보기 (Lambda, DynamoDB)AWS 를 이용한 Serverless Infra 구축해보기 (Lambda, DynamoDB)
AWS 를 이용한 Serverless Infra 구축해보기 (Lambda, DynamoDB)I Goo Lee
 
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XpressEngine
 
Fundamental of ELK Stack
Fundamental of ELK StackFundamental of ELK Stack
Fundamental of ELK Stack주표 홍
 
.NET에서 비동기 프로그래밍 배우기
.NET에서 비동기 프로그래밍 배우기.NET에서 비동기 프로그래밍 배우기
.NET에서 비동기 프로그래밍 배우기Seong Won Mun
 

What's hot (20)

What is chef - korean
What is chef - koreanWhat is chef - korean
What is chef - korean
 
Amazon EC2에서 Tensorflow 돌려보기 - 최선근 (데이터과학모임) :: AWS Community Day 2017
Amazon EC2에서 Tensorflow 돌려보기 - 최선근 (데이터과학모임) :: AWS Community Day 2017Amazon EC2에서 Tensorflow 돌려보기 - 최선근 (데이터과학모임) :: AWS Community Day 2017
Amazon EC2에서 Tensorflow 돌려보기 - 최선근 (데이터과학모임) :: AWS Community Day 2017
 
파크히어 Realm 사용 사례
파크히어 Realm 사용 사례파크히어 Realm 사용 사례
파크히어 Realm 사용 사례
 
처음 접하는 Oozie Workflow, Coordinator
처음 접하는 Oozie Workflow, Coordinator처음 접하는 Oozie Workflow, Coordinator
처음 접하는 Oozie Workflow, Coordinator
 
One-day-codelab
One-day-codelabOne-day-codelab
One-day-codelab
 
SPARK SQL
SPARK SQLSPARK SQL
SPARK SQL
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제
 
PostgreSQL 이야기
PostgreSQL 이야기PostgreSQL 이야기
PostgreSQL 이야기
 
Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터
 
data platform on kubernetes
data platform on kubernetesdata platform on kubernetes
data platform on kubernetes
 
AWS 환경에서 MySQL Infra 설계하기-2부.본론
AWS 환경에서 MySQL Infra 설계하기-2부.본론AWS 환경에서 MySQL Infra 설계하기-2부.본론
AWS 환경에서 MySQL Infra 설계하기-2부.본론
 
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
 
막하는 스터디 첫 번째 만남 Node.js
막하는 스터디 첫 번째 만남 Node.js막하는 스터디 첫 번째 만남 Node.js
막하는 스터디 첫 번째 만남 Node.js
 
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
 
닷넷프레임워크에서 Redis 사용하기
닷넷프레임워크에서 Redis 사용하기닷넷프레임워크에서 Redis 사용하기
닷넷프레임워크에서 Redis 사용하기
 
AWS 를 이용한 Serverless Infra 구축해보기 (Lambda, DynamoDB)
AWS 를 이용한 Serverless Infra 구축해보기 (Lambda, DynamoDB)AWS 를 이용한 Serverless Infra 구축해보기 (Lambda, DynamoDB)
AWS 를 이용한 Serverless Infra 구축해보기 (Lambda, DynamoDB)
 
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
 
Fundamental of ELK Stack
Fundamental of ELK StackFundamental of ELK Stack
Fundamental of ELK Stack
 
.NET에서 비동기 프로그래밍 배우기
.NET에서 비동기 프로그래밍 배우기.NET에서 비동기 프로그래밍 배우기
.NET에서 비동기 프로그래밍 배우기
 
Whatischef korean
Whatischef koreanWhatischef korean
Whatischef korean
 

Similar to Terraform을 이용한 Infrastructure as Code 실전 구성하기

Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Amazon Web Services Korea
 
AWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
AWS Innovate: Infrastructure Automation on AWS - Seungdo YangAWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
AWS Innovate: Infrastructure Automation on AWS - Seungdo YangAmazon Web Services Korea
 
스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기SangWoo Kim
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingAmazon Web Services Korea
 
스프링군살없이세팅하기(The way to setting the Spring framework for web.)
스프링군살없이세팅하기(The way to setting the Spring framework for web.)스프링군살없이세팅하기(The way to setting the Spring framework for web.)
스프링군살없이세팅하기(The way to setting the Spring framework for web.)EunChul Shin
 
Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발Jay Park
 
Kubernetes & helm 활용
Kubernetes & helm 활용Kubernetes & helm 활용
Kubernetes & helm 활용SK Telecom
 
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Infra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInfra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInho Kang
 
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...Amazon Web Services Korea
 
AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3Keeyong Han
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...Cloud-Barista Community
 
AWS없이 만든 AWS와 유사한 데이터 파이프라인
AWS없이 만든  AWS와 유사한 데이터 파이프라인AWS없이 만든  AWS와 유사한 데이터 파이프라인
AWS없이 만든 AWS와 유사한 데이터 파이프라인Kim Hyuk
 
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...Amazon Web Services Korea
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기Ted Won
 
세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdfJaesuk Ahn
 

Similar to Terraform을 이용한 Infrastructure as Code 실전 구성하기 (20)

Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
 
AWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
AWS Innovate: Infrastructure Automation on AWS - Seungdo YangAWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
AWS Innovate: Infrastructure Automation on AWS - Seungdo Yang
 
스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
스프링군살없이세팅하기(The way to setting the Spring framework for web.)
스프링군살없이세팅하기(The way to setting the Spring framework for web.)스프링군살없이세팅하기(The way to setting the Spring framework for web.)
스프링군살없이세팅하기(The way to setting the Spring framework for web.)
 
Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발
 
Amazed by aws 2nd session
Amazed by aws 2nd sessionAmazed by aws 2nd session
Amazed by aws 2nd session
 
Kubernetes & helm 활용
Kubernetes & helm 활용Kubernetes & helm 활용
Kubernetes & helm 활용
 
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
 
Infra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInfra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and Terraform
 
Spring boot actuator
Spring boot   actuatorSpring boot   actuator
Spring boot actuator
 
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
 
Spark sql
Spark sqlSpark sql
Spark sql
 
AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3
 
Scala for play
Scala for playScala for play
Scala for play
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
 
AWS없이 만든 AWS와 유사한 데이터 파이프라인
AWS없이 만든  AWS와 유사한 데이터 파이프라인AWS없이 만든  AWS와 유사한 데이터 파이프라인
AWS없이 만든 AWS와 유사한 데이터 파이프라인
 
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
AWS CLOUD 2018- 관리형 Kubernetes 지원과 새로운 컨테이너 서비스 Amazon Fargate 소개 (정영준 솔루션즈 아...
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
 
세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf
 

More from JeongHun Byeon

당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?JeongHun Byeon
 
오픈소스에 기여할 때 알면 좋을 개발 프로세스
오픈소스에 기여할 때 알면 좋을 개발 프로세스오픈소스에 기여할 때 알면 좋을 개발 프로세스
오픈소스에 기여할 때 알면 좋을 개발 프로세스JeongHun Byeon
 
DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링JeongHun Byeon
 
클라우드 시대에 맞는 사이트 신뢰성 엔지니어
클라우드 시대에 맞는 사이트 신뢰성 엔지니어클라우드 시대에 맞는 사이트 신뢰성 엔지니어
클라우드 시대에 맞는 사이트 신뢰성 엔지니어JeongHun Byeon
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요 디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요 JeongHun Byeon
 
오픈소스 뒤에 메인테이너 있어요
오픈소스 뒤에 메인테이너 있어요오픈소스 뒤에 메인테이너 있어요
오픈소스 뒤에 메인테이너 있어요JeongHun Byeon
 
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일JeongHun Byeon
 
Lessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source projectLessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source projectJeongHun Byeon
 
개발 관련 기술 블로그 운영하기
개발 관련 기술 블로그 운영하기개발 관련 기술 블로그 운영하기
개발 관련 기술 블로그 운영하기JeongHun Byeon
 
오픈소스 생태계 일원으로서의 개발자(자막 버전)
오픈소스 생태계 일원으로서의 개발자(자막 버전)오픈소스 생태계 일원으로서의 개발자(자막 버전)
오픈소스 생태계 일원으로서의 개발자(자막 버전)JeongHun Byeon
 
오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자JeongHun Byeon
 
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기JeongHun Byeon
 
더 나은 개발자 되기
더 나은 개발자 되기더 나은 개발자 되기
더 나은 개발자 되기JeongHun Byeon
 
블로그 주도 개발
블로그 주도 개발블로그 주도 개발
블로그 주도 개발JeongHun Byeon
 
Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나JeongHun Byeon
 
Node.js 현재와 미래
Node.js 현재와 미래Node.js 현재와 미래
Node.js 현재와 미래JeongHun Byeon
 
Nodejs Production 적용기
Nodejs Production 적용기Nodejs Production 적용기
Nodejs Production 적용기JeongHun Byeon
 
Sublime Text tips & trikcs
Sublime Text tips & trikcsSublime Text tips & trikcs
Sublime Text tips & trikcsJeongHun Byeon
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기JeongHun Byeon
 

More from JeongHun Byeon (20)

당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
당근 개발자 플랫폼은 어떤 문제를 해결하고 있는가?
 
오픈소스에 기여할 때 알면 좋을 개발 프로세스
오픈소스에 기여할 때 알면 좋을 개발 프로세스오픈소스에 기여할 때 알면 좋을 개발 프로세스
오픈소스에 기여할 때 알면 좋을 개발 프로세스
 
DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링DevOps를 가속화하는 플랫폼 엔지니어링
DevOps를 가속화하는 플랫폼 엔지니어링
 
클라우드 시대에 맞는 사이트 신뢰성 엔지니어
클라우드 시대에 맞는 사이트 신뢰성 엔지니어클라우드 시대에 맞는 사이트 신뢰성 엔지니어
클라우드 시대에 맞는 사이트 신뢰성 엔지니어
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요 디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척? : GitHub Copilot, 어디까지 알아보셨나요
 
Citizen 개발기
Citizen 개발기Citizen 개발기
Citizen 개발기
 
오픈소스 뒤에 메인테이너 있어요
오픈소스 뒤에 메인테이너 있어요오픈소스 뒤에 메인테이너 있어요
오픈소스 뒤에 메인테이너 있어요
 
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
오픈소스에 기여할 때 해도 되는 일과 하면 안되는 일
 
Lessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source projectLessons from maintaining Mocha, an open source project
Lessons from maintaining Mocha, an open source project
 
개발 관련 기술 블로그 운영하기
개발 관련 기술 블로그 운영하기개발 관련 기술 블로그 운영하기
개발 관련 기술 블로그 운영하기
 
오픈소스 생태계 일원으로서의 개발자(자막 버전)
오픈소스 생태계 일원으로서의 개발자(자막 버전)오픈소스 생태계 일원으로서의 개발자(자막 버전)
오픈소스 생태계 일원으로서의 개발자(자막 버전)
 
오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자오픈소스 생태계 일원으로서의 개발자
오픈소스 생태계 일원으로서의 개발자
 
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기
 
더 나은 개발자 되기
더 나은 개발자 되기더 나은 개발자 되기
더 나은 개발자 되기
 
블로그 주도 개발
블로그 주도 개발블로그 주도 개발
블로그 주도 개발
 
Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나Front-end Development Process - 어디까지 개선할 수 있나
Front-end Development Process - 어디까지 개선할 수 있나
 
Node.js 현재와 미래
Node.js 현재와 미래Node.js 현재와 미래
Node.js 현재와 미래
 
Nodejs Production 적용기
Nodejs Production 적용기Nodejs Production 적용기
Nodejs Production 적용기
 
Sublime Text tips & trikcs
Sublime Text tips & trikcsSublime Text tips & trikcs
Sublime Text tips & trikcs
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기
 

Terraform을 이용한 Infrastructure as Code 실전 구성하기