본문 바로가기

DevOps/Terraform

(7)
[DevOps] AWS, Terraform - Terraform 고도화 작업 Terraform state를 관리하는 Terraform Backend Terraform State란? Terraform apply를 하는 경우, 리소스 생성된 후 terraform.tfstate라는 파일이 생성됨 내가 실행한 apply의 결과를 저장해놓은 "상태"라고 보면 됨 but 현재 인프라의 상태를 의미하는 것은 아님 - 내가 적용한 시점의 상태이지, 현재의 상태는 아닐 수 있음 state는 원격 저장소인 backend에도 저장할 수 있음 Terraform Backend란? Terraform “Backend” 는 Terraform의 state file을 어디에 저장을 하고, 가져올지에 대한 설정. 기본적으로는 로컬 스토리지에 저장을 하지만, 설정에 따라서 s3, consul, etcd 등 다양한 ..
[DevOps] AWS, Terraform - AWS IAM AWS IAM (Identity and Access Management) AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스 IAM을 사용하여 AWS 리소스에 대한 기본 접근 및 리소스를 사용하도록 권한 생성, 부여 가능 Security Blocking : 특정 자원에 대한 접근 혹은 사용을 제어하는 것 (AWS IAM은 이 영역에 해당됨) Encrypting : 공개되는 정보에 대해서 식별 불가능한 정보로 암호화하는 것 Hiding : 정보에 관한 접근을 특정 경로 혹은 명령어로 접근하는 것 IAM 구성 요소 AWS IAM User — AWS IAM User는 AWS 내에서 생성하는 사용자로 AWS와 상호작용하는 사용자 혹은 어플리케이션을 의미합니다. AWS IAM Group — AWS ..
[DevOps] AWS, Terraform - AWS S3 Amazon S3 (Simple Storage Service) Amazon Simple Storage Service는 인터넷용 스토리지 서비스이다. 이 서비스는 개발자가 더 쉽게 웹 규모 컴퓨팅 작업을 수행할 수 있도록 설계되었다. Amazon S3에서 제공하는 단순한 웹 서비스 인터페이스를 사용하여 웹에서 언제 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있다. 또한 개발자는 Amazon이 자체 웹 사이트의 글로벌 네트워크 운영에 사용하는 것과 같은 높은 확장성과 신뢰성을 갖춘 빠르고 경제적인 데이터 스토리지 인프라에 액세스할 수 있다. 이 서비스의 목적은 규모의 이점을 극대화하고 개발자들에게 이러한 이점을 제공하는 것이다. 객체를 만드는 서비스에서 매우 좋은 서비스이다. Amazon S3의 용도..
[DevOps] AWS, Terraform - Terraform으로 AWS 리소스 생성하기 VPC 소개 Amazon VPC는 Amazon에서 제공하는 Private한 네크워크 망이다. 사용자에게 AWS 전용 네트워크 망을 만들어주는 것이다. VPC의 핵심 구성요소 Virtual Private Cloud(VPC) — 사용자의 AWS 계정 전용 가상 네트워크입니다. 서브넷 — VPC의 IP 주소 범위입니다. VPC 안에서 IP 주소 범위를 어디까지 나누느냐 하는 것. 라우팅 테이블 — 네트워크 트래픽을 전달할 위치를 결정하는 데 사용되는 라우팅이라는 규칙 집합입니다. 어떤 머신에서 외부 아웃바운드로 나가는 트래픽이 어디로 나갈 것인가 규칙을 정하는 테이블. 인터넷 게이트웨이 — VPC의 리소스와 인터넷 간의 통신을 활성화하기 위해 VPC에 연결하는 게이트웨이입니다. 인터넷을 연결하기 위해 필요한 ..
[DevOps] AWS, Terraform - AWS EC2 및 SSH 활용 AWS EC2 Elastic Compute Cloud 약자 컴퓨팅 머신 컴퓨터를 클라우드에서 띄워서 서버(컴퓨팅 엔진)를 제공하는 서비스 크기 (Instance Size), 타입이 다양해서 원하는대로 쓸 수 있음 간단한 인터페이스를 사용해서 필요한 용량으로 서버를 구성 가능 컴퓨팅 리소스에 대한 포괄적인 제어권 제공, Amazon의 검증된 컴퓨팅 인프라에서 실행 가능 SSH Secure Shell Protocol 네트워크 프로토콜 중 하나 클라이언트와 서버가 인터넷과 같은 Network를 통해 통신을 할 때, 보안적으로 안전하게 통신 하기 위해 사용하는 프로토콜 Password 인증과 RSA 공개키 암호화 방식으로 연결함 EC2 만들 때 유의할 것 1. Public IP로 접속해야 2. 적합한 port로..
[DevOps] AWS, Terraform Intro DevOps 소프트웨어의 개발과 운영의 합성어 어떤 요구사항을 효율적으로 만족시키기 위하여, 일을 자동화하며 변경사항 지표들을 측정하고, 공유하고, 이 모든 결과물들을 지속적으로 축적해 나아가는 문화를 만들어가는 철학, 방법론, 기술. 어려워 보이지만, 단지 마음을 움직이는 것이 어려울 뿐. 그저 매 순간순간 나의 일이, 우리의 일이 올바르게 가고 있는지 방향성만 맞추어 나가면 됨. 현대의 서비스는 너무나도 복잡함. 수많은 문제들을 데브옵스를 통해 해결해나갈 수 있음. DevOps 엔지니어 올바른 DevOps 문화를 위해 서비스 혹은 S/W LifeCycle에서 반복적인 일들을 자동화하고, 기술적 문제 혹은 팀의 차이를 기술적으로 예방하고, 해소시키는 사람 DevOps 엔지니어의 요구 스킬 1. 소프트 ..
[Infra] Terraform Infrastructure as Code IaC 코드로써 인프라를 얘기 인프라를 이루는 서버, 미들웨어, 서비스 등의 인프라 구성 요소들을 코드를 통해 구축하는 것 코드로서의 장점을 다 가지고 있음 -> 작성하는 게 빨라짐, 작성용이성, 재사용성, 유지보수 등의 장점 Terraform 가장 많이 쓰이는 IaC 도구 Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently 테라폼은 인프라를 효율적으로 만들고, 변경하고, 기록하고, 버전 관리를 할 수 있는 IaC를 위해 만들어진 도구이다. .tf 형식의 파일 형식을 가진다. AWS, Azure, GCP 같은 퍼블릭 클라우드뿐만이 아닌 다양한 ..