SlideShare a Scribd company logo
1 of 27
Terraform 이용한 NCP 인프라 만들기
코드 형태의 인프라 및 도구
 코드 형태 인프라의 이해
Infrastructure as code (IAC)는 코드 버전 관리와 같은 소프트웨어 개발 기술을 사용하
여 명시적인 코드 형태로 인프라를 프로비저닝하고 관리하는 방식이며, 또한 인프라가 코
드를 통해 정의되므로 인프라와 서버를 표준화된 패턴을 사용하여 배포하고, 최신 패치와
버전으로 업데이트하거나, 복제를 통해 다양한 환경에 동일한 인프라 구성 매칭이 가능하
다.
N A V E R CLOUD PLA TFORM – Terra fo rm2/
*.tf
코드 형태 인프라의 이점
 IAC로 인프라 리소스 구성을 자동화 하였을때 self-service 형태로 인프라를 서비스화 가
능하며, 빠르고 안전하게 리소스를 증설 및 복구가 가능하다. 또한 명시적인 코드 형태 관
리를 통해 문서화와 버전 관리가 손쉬워 변경 이력 및 서비스 영향도에 대해 명확하게 파
악 가능하다.
N A V E R CLOUD PLA TFORM – Terra fo rm3/
출처 : 2017 state of devops report
코드 형태의 인프라 구성 도구
 클라우드 플랫폼 별 IAC 도구 존재하며, 각 클라우드 API를 통해 Mashup 인터페이스 형
태로 제공하는 Terraform도 존재
도구 특성
AWS CloudFormation
AWS 리소스 생성을 위한 IAC 도구, 템플릿은 YAML, JSON 포맷
사용, Rollback Triggers 제공
Google Cloud Deployment Manager
GCP 리소스 생성을 위한 IAC 도구, 템플릿은 YAML, Python,
Jinja2 포맷 지원
Terraform
멀티클라우드 환경에서 동일한 인터페이스 형태(Terraform api)
로 각 플랫폼 별 리소스 생성 IAC 도구, 템플릿은 HCL(.tf), Json
포맷 지원
N A V E R CLOUD PLA TFORM – Terra fo rm4/
N A V E R CLOUD PLA TFORM – Terra fo rm5/
Hashicorp Terraform
 특정 클라우드 플랫폼에 종속되지 않고 멀티 클라우드 환경에서 사용가능하며, 인프라를
코드화 하여 관리 및 버저닝 가능하다. 그리고 실 환경에 적용 전 테스트 기능(plan)을 제
공하며 서비스 영향도를 사전에 확인 가능하다.
N A V E R CLOUD PLA TFORM – S erver I ma ge Bui lder6/
Terraform 특성
 Infrastructure as Code
 Execution Plans
 Resource Graph
 Change Automation
Terraform Command
N A V E R CLOUD PLA TFORM – Terra fo rm7/
Terraform Workflow
N A V E R CLOUD PLA TFORM – Terra fo rm8/
Plan Apply
*.tfstate.*
Configure Cloud Provider
Define Infrastructure
HCL
Terraform graph
 프로바이더 별 리소스 간 종속성 있음
 리소스 간 종속성은 Terraform 자체 파악 후 리소스 생성
 Dependency graph 확인 : terraform graph
 DOT을 이미지로 변환 하기 위해 다양한 툴 존재 : Graphviz /Graphviz Online
N A V E R CLOUD PLA TFORM – Terra fo rm9/
Demo Architecture
NAVER CLOUD PLATFORM
KR-2
RR
Web Servers
KR-1
NAS

HTTP 80
HTTP 80
Public LoadBalancer
”tf_webinar_lb"
N A V E R CLOUD PLA TFORM – Terra fo rm10/
Terraform 설치 in NAVER Cloud Platform
 OS 맞는 Terraform 패키지 다운로드
 NCP용 프로바이더(바이너리 파일) 다운로드
 설치 확인
$wget https://releases.hashicorp.com/terraform/0.11.8/terraform_0.11.8_linux_amd64.zip 1903
$unzip terraform_0.11.8_linux_amd64.zip && mv terraform /usr/bin/
$wget https://github.com/NaverCloudPlatform/terraform-provider-ncloud/releases/download/v1.3.1/terraform-
provider-ncloud_linux_amd64_1.3.1.zip
$unzip terraform-provider-ncloud_linux_amd64_1.0.0.zip && mv terraform-provider-ncloud /usr/bin/
N A V E R CLOUD PLA TFORM – Terra fo rm11/
main.tf
N A V E R CLOUD PLA TFORM – Terra fo rm12/
output.tf / user-data.sh
N A V E R CLOUD PLA TFORM – Terra fo rm13/
Output.tf
User-data.sh
terraform init
: working directory initializing
init
N A V E R CLOUD PLA TFORM – Terra fo rm14/
plan
N A V E R CLOUD PLA TFORM – Terra fo rm15/
apply
N A V E R CLOUD PLA TFORM – Terra fo rm16/
Server
N A V E R CLOUD PLA TFORM – Terra fo rm17/
LoadBalancer
N A V E R CLOUD PLA TFORM – Terra fo rm18/
NAS
N A V E R CLOUD PLA TFORM – Terra fo rm19/
확인
N A V E R CLOUD PLA TFORM – Terra fo rm20/
destroy
N A V E R CLOUD PLA TFORM – Terra fo rm21/
parallel
Demo
N A V E R C L O U D P L A T F O RM - C l o u d T r a n s f o rm a ti o n2 2 /
Plan & .tf.state & apply
*.tf
Desired State
.tfstate
Current State
N A V E R CLOUD PLA TFORM – Terra fo rm23/
• plan & apply 실행 전 real 인프라 환경과 .tfstate 파일 비교(refreshing)
• plan 실행 시 .tfstate 파일 베이스로 생성, 삭제, 변경되는 리소스를 visualizing
• apply 실행 후 .tfstate 파일을 업데이트
• 버저닝과 오류 발생시 rollback, 보안을 위해 .tfstate 파일은 원격지에 보관을 권장
NAVER CLOUD PLATFORM
KR-2
RR
Web
Servers
KR-1
NAS


HTTP 80
HTTP 80
Public
LoadBalancer
Terraform in NAVER Cloud Platform 의 한계
 제어 가능한 Resources 제약
 ACG의 경우 이미 생성된 것을 하드코딩해서만 사용 가능
N A V E R CLOUD PLA TFORM – Terra fo rm24/
참고 URL
 NCP Terraform github
 NCP 프로바이더 다운로드 페이지
 GraphvizOnline
N A V E R CLOUD PLA TFORM – Terra fo rm25/
Quiz
N A V E R C L O U D P L A T F O RM - C l o u d T r a n s f o rm a ti o n2 6 /
N A V E R C L O U D P L A T F O RM - C l o u d T r a n s f o rm a ti o n2 7 /
Thank you

More Related Content

Similar to 네이버클라우드플랫폼 온라인 교육 시리즈 - Terraform을 이용한 네이버클라우드플랫폼 인프라 만들기(윤성훈 클라우드 솔루션 아키텍트)

Monitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOnMonitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOnDataya Nolja
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdfJaesuk Ahn
 
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Amazon Web Services Korea
 
게임 산업을 위한 네이버클라우드플랫폼(정낙수 클라우드솔루션아키텍트) - 네이버클라우드플랫폼 게임인더스트리데이 Naver Cloud Plat...
게임 산업을 위한 네이버클라우드플랫폼(정낙수 클라우드솔루션아키텍트) - 네이버클라우드플랫폼 게임인더스트리데이 Naver Cloud Plat...게임 산업을 위한 네이버클라우드플랫폼(정낙수 클라우드솔루션아키텍트) - 네이버클라우드플랫폼 게임인더스트리데이 Naver Cloud Plat...
게임 산업을 위한 네이버클라우드플랫폼(정낙수 클라우드솔루션아키텍트) - 네이버클라우드플랫폼 게임인더스트리데이 Naver Cloud Plat...NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
Private cloud network architecture (2018)
Private cloud network architecture (2018)Private cloud network architecture (2018)
Private cloud network architecture (2018)Gasida Seo
 
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...Ted Won
 
IAC on OpenStack(feat.ansible)
IAC on OpenStack(feat.ansible)IAC on OpenStack(feat.ansible)
IAC on OpenStack(feat.ansible)Opennaru, inc.
 
2023 GDG Sondo DevFest - Flutter/ Flavor, PlatformChannel, Environment variab...
2023 GDG Sondo DevFest - Flutter/ Flavor, PlatformChannel, Environment variab...2023 GDG Sondo DevFest - Flutter/ Flavor, PlatformChannel, Environment variab...
2023 GDG Sondo DevFest - Flutter/ Flavor, PlatformChannel, Environment variab...MaRoKim4
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기Yeonhee Kim
 
HashiTalk 2021 - Terraform 도입과 파이프라인 구축 및 운영
HashiTalk 2021 - Terraform 도입과 파이프라인 구축 및 운영HashiTalk 2021 - Terraform 도입과 파이프라인 구축 및 운영
HashiTalk 2021 - Terraform 도입과 파이프라인 구축 및 운영JooHyung Kim
 
Solaris11 기초 자료
Solaris11 기초 자료Solaris11 기초 자료
Solaris11 기초 자료Dong-Hwa jung
 
IBM DataPower OS(DPOS) 의 CLI 설명
IBM DataPower OS(DPOS) 의 CLI 설명IBM DataPower OS(DPOS) 의 CLI 설명
IBM DataPower OS(DPOS) 의 CLI 설명JungWoon Lee
 
지금 핫한 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
 
오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개SungTae Moon
 
멀티티어 애플리케이션 개발과 배포
멀티티어 애플리케이션 개발과 배포멀티티어 애플리케이션 개발과 배포
멀티티어 애플리케이션 개발과 배포Devgear
 
스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기SangWoo Kim
 

Similar to 네이버클라우드플랫폼 온라인 교육 시리즈 - Terraform을 이용한 네이버클라우드플랫폼 인프라 만들기(윤성훈 클라우드 솔루션 아키텍트) (20)

Monitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOnMonitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOn
 
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
[온라인교육시리즈] 글로벌 서비스를 위한 인프라 구축방법(남용현 클라우드 솔루션 아키텍트)
 
세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf
 
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
게임 산업을 위한 네이버클라우드플랫폼(정낙수 클라우드솔루션아키텍트) - 네이버클라우드플랫폼 게임인더스트리데이 Naver Cloud Plat...
게임 산업을 위한 네이버클라우드플랫폼(정낙수 클라우드솔루션아키텍트) - 네이버클라우드플랫폼 게임인더스트리데이 Naver Cloud Plat...게임 산업을 위한 네이버클라우드플랫폼(정낙수 클라우드솔루션아키텍트) - 네이버클라우드플랫폼 게임인더스트리데이 Naver Cloud Plat...
게임 산업을 위한 네이버클라우드플랫폼(정낙수 클라우드솔루션아키텍트) - 네이버클라우드플랫폼 게임인더스트리데이 Naver Cloud Plat...
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
Private cloud network architecture (2018)
Private cloud network architecture (2018)Private cloud network architecture (2018)
Private cloud network architecture (2018)
 
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
 
IAC on OpenStack(feat.ansible)
IAC on OpenStack(feat.ansible)IAC on OpenStack(feat.ansible)
IAC on OpenStack(feat.ansible)
 
2023 GDG Sondo DevFest - Flutter/ Flavor, PlatformChannel, Environment variab...
2023 GDG Sondo DevFest - Flutter/ Flavor, PlatformChannel, Environment variab...2023 GDG Sondo DevFest - Flutter/ Flavor, PlatformChannel, Environment variab...
2023 GDG Sondo DevFest - Flutter/ Flavor, PlatformChannel, Environment variab...
 
Eclipse RAP
Eclipse RAPEclipse RAP
Eclipse RAP
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기
 
HashiTalk 2021 - Terraform 도입과 파이프라인 구축 및 운영
HashiTalk 2021 - Terraform 도입과 파이프라인 구축 및 운영HashiTalk 2021 - Terraform 도입과 파이프라인 구축 및 운영
HashiTalk 2021 - Terraform 도입과 파이프라인 구축 및 운영
 
Solaris11 기초 자료
Solaris11 기초 자료Solaris11 기초 자료
Solaris11 기초 자료
 
IBM DataPower OS(DPOS) 의 CLI 설명
IBM DataPower OS(DPOS) 의 CLI 설명IBM DataPower OS(DPOS) 의 CLI 설명
IBM DataPower OS(DPOS) 의 CLI 설명
 
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
 
오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개
 
멀티티어 애플리케이션 개발과 배포
멀티티어 애플리케이션 개발과 배포멀티티어 애플리케이션 개발과 배포
멀티티어 애플리케이션 개발과 배포
 
스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기
 

More from NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼

사물 인터넷을 넘어 지능형 사물 인터넷 시대로!_강지나 클라우드 솔루션 아키텍트
사물 인터넷을 넘어 지능형 사물 인터넷 시대로!_강지나 클라우드 솔루션 아키텍트사물 인터넷을 넘어 지능형 사물 인터넷 시대로!_강지나 클라우드 솔루션 아키텍트
사물 인터넷을 넘어 지능형 사물 인터넷 시대로!_강지나 클라우드 솔루션 아키텍트NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
초개인화된 비즈니스 시대, 마이데이터 사업에 탑승하라! - 김민형 클라우드 솔루션 아키텍트
초개인화된 비즈니스 시대, 마이데이터 사업에 탑승하라! - 김민형 클라우드 솔루션 아키텍트초개인화된 비즈니스 시대, 마이데이터 사업에 탑승하라! - 김민형 클라우드 솔루션 아키텍트
초개인화된 비즈니스 시대, 마이데이터 사업에 탑승하라! - 김민형 클라우드 솔루션 아키텍트NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
온라인 교육 시리즈 - 클라우드 기반의 마이데이터사업 혁신(김민형 클라우드 솔루션 아키텍트)
온라인 교육 시리즈 - 클라우드 기반의 마이데이터사업 혁신(김민형 클라우드 솔루션 아키텍트) 온라인 교육 시리즈 - 클라우드 기반의 마이데이터사업 혁신(김민형 클라우드 솔루션 아키텍트)
온라인 교육 시리즈 - 클라우드 기반의 마이데이터사업 혁신(김민형 클라우드 솔루션 아키텍트) NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
[온라인교육시리즈] 클라우드 환경에서 발생하는 위협 탐지대응 방안 - 김동운 매니저
[온라인교육시리즈] 클라우드 환경에서 발생하는 위협 탐지대응 방안 - 김동운 매니저[온라인교육시리즈] 클라우드 환경에서 발생하는 위협 탐지대응 방안 - 김동운 매니저
[온라인교육시리즈] 클라우드 환경에서 발생하는 위협 탐지대응 방안 - 김동운 매니저NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
[온라인교육시리즈] 네이버클라우드플랫폼 주요 업데이트 - 윤진규 클라우드 솔루션 아키텍트
[온라인교육시리즈] 네이버클라우드플랫폼 주요 업데이트 - 윤진규 클라우드 솔루션 아키텍트[온라인교육시리즈] 네이버클라우드플랫폼 주요 업데이트 - 윤진규 클라우드 솔루션 아키텍트
[온라인교육시리즈] 네이버클라우드플랫폼 주요 업데이트 - 윤진규 클라우드 솔루션 아키텍트NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트
클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트
클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
포스트코로나시대에 주목받는 AI 서비스 - 네이버클라우드플랫폼 솔루션 아키텍트 강지나
포스트코로나시대에 주목받는 AI 서비스 - 네이버클라우드플랫폼 솔루션 아키텍트 강지나포스트코로나시대에 주목받는 AI 서비스 - 네이버클라우드플랫폼 솔루션 아키텍트 강지나
포스트코로나시대에 주목받는 AI 서비스 - 네이버클라우드플랫폼 솔루션 아키텍트 강지나NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
[온라인교육시리즈] 베어메탈서비스 소개 및 활용 - 현영환 클라우드 솔루션 아키텍트
[온라인교육시리즈] 베어메탈서비스 소개 및 활용 - 현영환 클라우드 솔루션 아키텍트[온라인교육시리즈] 베어메탈서비스 소개 및 활용 - 현영환 클라우드 솔루션 아키텍트
[온라인교육시리즈] 베어메탈서비스 소개 및 활용 - 현영환 클라우드 솔루션 아키텍트NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 

More from NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼 (20)

사물 인터넷을 넘어 지능형 사물 인터넷 시대로!_강지나 클라우드 솔루션 아키텍트
사물 인터넷을 넘어 지능형 사물 인터넷 시대로!_강지나 클라우드 솔루션 아키텍트사물 인터넷을 넘어 지능형 사물 인터넷 시대로!_강지나 클라우드 솔루션 아키텍트
사물 인터넷을 넘어 지능형 사물 인터넷 시대로!_강지나 클라우드 솔루션 아키텍트
 
1시간으로 끝내는 클라우드 개념_김민형 클라우드 솔루션 아키텍트
1시간으로 끝내는 클라우드 개념_김민형 클라우드 솔루션 아키텍트1시간으로 끝내는 클라우드 개념_김민형 클라우드 솔루션 아키텍트
1시간으로 끝내는 클라우드 개념_김민형 클라우드 솔루션 아키텍트
 
초개인화된 비즈니스 시대, 마이데이터 사업에 탑승하라! - 김민형 클라우드 솔루션 아키텍트
초개인화된 비즈니스 시대, 마이데이터 사업에 탑승하라! - 김민형 클라우드 솔루션 아키텍트초개인화된 비즈니스 시대, 마이데이터 사업에 탑승하라! - 김민형 클라우드 솔루션 아키텍트
초개인화된 비즈니스 시대, 마이데이터 사업에 탑승하라! - 김민형 클라우드 솔루션 아키텍트
 
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
 
[Solutions Showcase] 클라우드 기반의 강력한 자금세탁방지시스템 AMLXpress
[Solutions Showcase] 클라우드 기반의 강력한 자금세탁방지시스템 AMLXpress[Solutions Showcase] 클라우드 기반의 강력한 자금세탁방지시스템 AMLXpress
[Solutions Showcase] 클라우드 기반의 강력한 자금세탁방지시스템 AMLXpress
 
API Economy 시대가 온다 - 강지나 클라우드 솔루션 아키텍트
API Economy 시대가 온다 - 강지나 클라우드 솔루션 아키텍트API Economy 시대가 온다 - 강지나 클라우드 솔루션 아키텍트
API Economy 시대가 온다 - 강지나 클라우드 솔루션 아키텍트
 
[웨비나] Follow me! 클라우드 인프라 구축 기본편 - 강지나 테크 에반젤리스트
[웨비나] Follow me! 클라우드 인프라 구축 기본편 - 강지나 테크 에반젤리스트[웨비나] Follow me! 클라우드 인프라 구축 기본편 - 강지나 테크 에반젤리스트
[웨비나] Follow me! 클라우드 인프라 구축 기본편 - 강지나 테크 에반젤리스트
 
온라인 교육 시리즈 - 클라우드 기반의 마이데이터사업 혁신(김민형 클라우드 솔루션 아키텍트)
온라인 교육 시리즈 - 클라우드 기반의 마이데이터사업 혁신(김민형 클라우드 솔루션 아키텍트) 온라인 교육 시리즈 - 클라우드 기반의 마이데이터사업 혁신(김민형 클라우드 솔루션 아키텍트)
온라인 교육 시리즈 - 클라우드 기반의 마이데이터사업 혁신(김민형 클라우드 솔루션 아키텍트)
 
[온라인교육시리즈] 클라우드 환경에서 발생하는 위협 탐지대응 방안 - 김동운 매니저
[온라인교육시리즈] 클라우드 환경에서 발생하는 위협 탐지대응 방안 - 김동운 매니저[온라인교육시리즈] 클라우드 환경에서 발생하는 위협 탐지대응 방안 - 김동운 매니저
[온라인교육시리즈] 클라우드 환경에서 발생하는 위협 탐지대응 방안 - 김동운 매니저
 
2021년 기술 트렌드 - 강지나 클라우드 솔루션 아키텍트
2021년 기술 트렌드 - 강지나 클라우드 솔루션 아키텍트2021년 기술 트렌드 - 강지나 클라우드 솔루션 아키텍트
2021년 기술 트렌드 - 강지나 클라우드 솔루션 아키텍트
 
[온라인교육시리즈] 네이버클라우드플랫폼 주요 업데이트 - 윤진규 클라우드 솔루션 아키텍트
[온라인교육시리즈] 네이버클라우드플랫폼 주요 업데이트 - 윤진규 클라우드 솔루션 아키텍트[온라인교육시리즈] 네이버클라우드플랫폼 주요 업데이트 - 윤진규 클라우드 솔루션 아키텍트
[온라인교육시리즈] 네이버클라우드플랫폼 주요 업데이트 - 윤진규 클라우드 솔루션 아키텍트
 
클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트
클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트
클라우드 상에서의 효율적인 데이터 보관 방법 - 김민형 클라우드 솔루션 아키텍트
 
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
 
포스트코로나시대에 주목받는 AI 서비스 - 네이버클라우드플랫폼 솔루션 아키텍트 강지나
포스트코로나시대에 주목받는 AI 서비스 - 네이버클라우드플랫폼 솔루션 아키텍트 강지나포스트코로나시대에 주목받는 AI 서비스 - 네이버클라우드플랫폼 솔루션 아키텍트 강지나
포스트코로나시대에 주목받는 AI 서비스 - 네이버클라우드플랫폼 솔루션 아키텍트 강지나
 
의료계에부는 언택트 바람 - 강지나 클라우드 솔루션 아키텍트
의료계에부는 언택트 바람 - 강지나 클라우드 솔루션 아키텍트의료계에부는 언택트 바람 - 강지나 클라우드 솔루션 아키텍트
의료계에부는 언택트 바람 - 강지나 클라우드 솔루션 아키텍트
 
[온라인교육시리즈] 베어메탈서비스 소개 및 활용 - 현영환 클라우드 솔루션 아키텍트
[온라인교육시리즈] 베어메탈서비스 소개 및 활용 - 현영환 클라우드 솔루션 아키텍트[온라인교육시리즈] 베어메탈서비스 소개 및 활용 - 현영환 클라우드 솔루션 아키텍트
[온라인교육시리즈] 베어메탈서비스 소개 및 활용 - 현영환 클라우드 솔루션 아키텍트
 
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
[온라인교육시리즈] Jupyter를 이용한 분석 환경 구축하기 - 허창현 클라우드 솔루션 아키텍트
 
멀티·하이브리드 클라우드 구축 전략 - 네이버비즈니스플랫폼 박기은 CTO
멀티·하이브리드 클라우드 구축 전략 - 네이버비즈니스플랫폼 박기은 CTO멀티·하이브리드 클라우드 구축 전략 - 네이버비즈니스플랫폼 박기은 CTO
멀티·하이브리드 클라우드 구축 전략 - 네이버비즈니스플랫폼 박기은 CTO
 
[온라인교육시리즈] 네이버 클라우드 플랫폼 Clova Premium Voice 소개
[온라인교육시리즈] 네이버 클라우드 플랫폼 Clova Premium Voice 소개[온라인교육시리즈] 네이버 클라우드 플랫폼 Clova Premium Voice 소개
[온라인교육시리즈] 네이버 클라우드 플랫폼 Clova Premium Voice 소개
 
DB innovation conference 2020
DB innovation conference 2020DB innovation conference 2020
DB innovation conference 2020
 

네이버클라우드플랫폼 온라인 교육 시리즈 - Terraform을 이용한 네이버클라우드플랫폼 인프라 만들기(윤성훈 클라우드 솔루션 아키텍트)

  • 1. Terraform 이용한 NCP 인프라 만들기
  • 2. 코드 형태의 인프라 및 도구  코드 형태 인프라의 이해 Infrastructure as code (IAC)는 코드 버전 관리와 같은 소프트웨어 개발 기술을 사용하 여 명시적인 코드 형태로 인프라를 프로비저닝하고 관리하는 방식이며, 또한 인프라가 코 드를 통해 정의되므로 인프라와 서버를 표준화된 패턴을 사용하여 배포하고, 최신 패치와 버전으로 업데이트하거나, 복제를 통해 다양한 환경에 동일한 인프라 구성 매칭이 가능하 다. N A V E R CLOUD PLA TFORM – Terra fo rm2/ *.tf
  • 3. 코드 형태 인프라의 이점  IAC로 인프라 리소스 구성을 자동화 하였을때 self-service 형태로 인프라를 서비스화 가 능하며, 빠르고 안전하게 리소스를 증설 및 복구가 가능하다. 또한 명시적인 코드 형태 관 리를 통해 문서화와 버전 관리가 손쉬워 변경 이력 및 서비스 영향도에 대해 명확하게 파 악 가능하다. N A V E R CLOUD PLA TFORM – Terra fo rm3/ 출처 : 2017 state of devops report
  • 4. 코드 형태의 인프라 구성 도구  클라우드 플랫폼 별 IAC 도구 존재하며, 각 클라우드 API를 통해 Mashup 인터페이스 형 태로 제공하는 Terraform도 존재 도구 특성 AWS CloudFormation AWS 리소스 생성을 위한 IAC 도구, 템플릿은 YAML, JSON 포맷 사용, Rollback Triggers 제공 Google Cloud Deployment Manager GCP 리소스 생성을 위한 IAC 도구, 템플릿은 YAML, Python, Jinja2 포맷 지원 Terraform 멀티클라우드 환경에서 동일한 인터페이스 형태(Terraform api) 로 각 플랫폼 별 리소스 생성 IAC 도구, 템플릿은 HCL(.tf), Json 포맷 지원 N A V E R CLOUD PLA TFORM – Terra fo rm4/
  • 5. N A V E R CLOUD PLA TFORM – Terra fo rm5/ Hashicorp Terraform  특정 클라우드 플랫폼에 종속되지 않고 멀티 클라우드 환경에서 사용가능하며, 인프라를 코드화 하여 관리 및 버저닝 가능하다. 그리고 실 환경에 적용 전 테스트 기능(plan)을 제 공하며 서비스 영향도를 사전에 확인 가능하다.
  • 6. N A V E R CLOUD PLA TFORM – S erver I ma ge Bui lder6/ Terraform 특성  Infrastructure as Code  Execution Plans  Resource Graph  Change Automation
  • 7. Terraform Command N A V E R CLOUD PLA TFORM – Terra fo rm7/
  • 8. Terraform Workflow N A V E R CLOUD PLA TFORM – Terra fo rm8/ Plan Apply *.tfstate.* Configure Cloud Provider Define Infrastructure HCL
  • 9. Terraform graph  프로바이더 별 리소스 간 종속성 있음  리소스 간 종속성은 Terraform 자체 파악 후 리소스 생성  Dependency graph 확인 : terraform graph  DOT을 이미지로 변환 하기 위해 다양한 툴 존재 : Graphviz /Graphviz Online N A V E R CLOUD PLA TFORM – Terra fo rm9/
  • 10. Demo Architecture NAVER CLOUD PLATFORM KR-2 RR Web Servers KR-1 NAS  HTTP 80 HTTP 80 Public LoadBalancer ”tf_webinar_lb" N A V E R CLOUD PLA TFORM – Terra fo rm10/
  • 11. Terraform 설치 in NAVER Cloud Platform  OS 맞는 Terraform 패키지 다운로드  NCP용 프로바이더(바이너리 파일) 다운로드  설치 확인 $wget https://releases.hashicorp.com/terraform/0.11.8/terraform_0.11.8_linux_amd64.zip 1903 $unzip terraform_0.11.8_linux_amd64.zip && mv terraform /usr/bin/ $wget https://github.com/NaverCloudPlatform/terraform-provider-ncloud/releases/download/v1.3.1/terraform- provider-ncloud_linux_amd64_1.3.1.zip $unzip terraform-provider-ncloud_linux_amd64_1.0.0.zip && mv terraform-provider-ncloud /usr/bin/ N A V E R CLOUD PLA TFORM – Terra fo rm11/
  • 12. main.tf N A V E R CLOUD PLA TFORM – Terra fo rm12/
  • 13. output.tf / user-data.sh N A V E R CLOUD PLA TFORM – Terra fo rm13/ Output.tf User-data.sh
  • 14. terraform init : working directory initializing init N A V E R CLOUD PLA TFORM – Terra fo rm14/
  • 15. plan N A V E R CLOUD PLA TFORM – Terra fo rm15/
  • 16. apply N A V E R CLOUD PLA TFORM – Terra fo rm16/
  • 17. Server N A V E R CLOUD PLA TFORM – Terra fo rm17/
  • 18. LoadBalancer N A V E R CLOUD PLA TFORM – Terra fo rm18/
  • 19. NAS N A V E R CLOUD PLA TFORM – Terra fo rm19/
  • 20. 확인 N A V E R CLOUD PLA TFORM – Terra fo rm20/
  • 21. destroy N A V E R CLOUD PLA TFORM – Terra fo rm21/ parallel
  • 22. Demo N A V E R C L O U D P L A T F O RM - C l o u d T r a n s f o rm a ti o n2 2 /
  • 23. Plan & .tf.state & apply *.tf Desired State .tfstate Current State N A V E R CLOUD PLA TFORM – Terra fo rm23/ • plan & apply 실행 전 real 인프라 환경과 .tfstate 파일 비교(refreshing) • plan 실행 시 .tfstate 파일 베이스로 생성, 삭제, 변경되는 리소스를 visualizing • apply 실행 후 .tfstate 파일을 업데이트 • 버저닝과 오류 발생시 rollback, 보안을 위해 .tfstate 파일은 원격지에 보관을 권장 NAVER CLOUD PLATFORM KR-2 RR Web Servers KR-1 NAS   HTTP 80 HTTP 80 Public LoadBalancer
  • 24. Terraform in NAVER Cloud Platform 의 한계  제어 가능한 Resources 제약  ACG의 경우 이미 생성된 것을 하드코딩해서만 사용 가능 N A V E R CLOUD PLA TFORM – Terra fo rm24/
  • 25. 참고 URL  NCP Terraform github  NCP 프로바이더 다운로드 페이지  GraphvizOnline N A V E R CLOUD PLA TFORM – Terra fo rm25/
  • 26. Quiz N A V E R C L O U D P L A T F O RM - C l o u d T r a n s f o rm a ti o n2 6 /
  • 27. N A V E R C L O U D P L A T F O RM - C l o u d T r a n s f o rm a ti o n2 7 / Thank you