전체보기

· Cloud/IaC
이번에는 Terraform에서 사용되는 기본 키워드를 몇 가지 알아보고, 직접 code를 작성해 인프라를 올려본다. 기본 키워드 Provider Terraform 템플릿으로 구성될 인프라의 타입으로, AWS / GCP / Azure와 같은 퍼블릭 클라우드 서비스 부터 SaaS 타입의 서비스까지 다양한 외부 서비스들을 Terraform과 연결해주는 기능 프로바이더는 configuration 단계에서 반드시 설정해주어야한다. 아래 링크에서 Terraform이 지원하는 Provider 목록을 확인할 수 있다. Terraform Registry registry.terraform.io Terraform은 이러한 Provider들의 API를 호출하는 식으로 실행된다. 아래 코드는 Provider를 AWS로 지정하는..
· Cloud/IaC
Public cloud가 발달함에 따라 많은 개인과 기업들이 운영 중인 서비스들을 클라우드로 전환하게 되었다. 클라우드로 전환하고 점차 서비스들이 확장되며, 사용중인 리소스들의 수가 증가하여 프로비저닝과 운영/관리가 복잡하고 어렵게되었다. 이에 따라, 클라우드 리소스를 코드 형식으로 관리하고자하는 움직임이 나타나고, 이번에 소개할 Terraform이 등장하게 되었다. Terraform terraform은 Hashicorp에서 개발한 오픈소스 인프라관리 도구로, 인프라의 구조를 코드로 작성해서 간단하게 구축하고 인프라의 형상을 관리할 수 있다. Terraform은 HCL(Hashicorp Configuration Language)라는 자체적인 설정 Language를 이용해 인프라 리소스들을 선언한다. 자체..
· Cloud/AWS
CDN Content Delivery/Distribution Network의 약자로, 서버의 컨텐츠를 빠르게 전송하기 위해 다수의 네트워크 노드들에 컨텐츠를 저장(캐싱)해두는 시스템 오리진 서버가 컨텐츠를 여러 네트워크 노드(CDN 서버)에 미리 저장해두고 클라이언트가 오리진 서버의 컨텐츠를 가져오는 상황에서, 접속하는 클라이언트의 가장 근처의 네트워크 노드에 저장된 컨텐츠를 가져오게된다. 이렇게 CDN 서버에 저장된 컨텐츠를 가져옴에 따라 오리진 서버로의 요청 수를 줄이게되어 서버의 부하를 줄일 수 있다. Cloudfront AWS에서 제공하는 CDN 서비스로, CDN 방식으로 운영되는 캐싱 기반 컨텐츠 전송 네트워크 서비스이다 전 세계에 위치한 Edge Location(엣지 로케이션)을 통해 웹 사이..
방화벽은 설정한 Rule에 따라 진입되는 패킷을 Pass할 것인지, Drop할 것인지 필터링해주는 유해한 트래픽을 차단하기위한 하드웨어 내지 서비스이다. 대부분의 방화벽은 정책 기반으로 트래픽을 필터링한다. 방화벽의 발전 과정이나 구조별 유형 등의 설명거리가 있지만, 여기서는 크게 다루지 않는다. 이번에 정리할 개념은 방화벽에서의 Stateful과 Stateless 유형이다. 이 둘을 각각 예시와 함께 비교하며 알아본다. Stateful / Stateless 외부 네트워크(클라이언트)에서 내부 네트워크(서버)로 접속하는 트래픽을 가정해보자. 클라이언트가 서버로 요청을 날리는 Request와 해당 Request에 대한 클라이언트로 날라가는 Response가 존재할 것이다. 웹 서버로 들어오는 트래픽이 방화..
· Cloud/AWS
Datadog으로 AWS 서비스에서 발생하는 로그 데이터들을 모니터링하기 위해서는 로그들을 Datadog으로 쏴주는 과정이 필요하다. 로그를 쏴주는 방법에는 크게 2가지가 존재한다. 먼저, Datadog에서 AWS integration을 통해 AWS 계정 내에 Log forwarder라는 Lambda 함수를 생성해 지속적으로 로그를 쏴주는 방법이 있다. AWS integration에 대한 설명은 이전 글에서 작성했으므로 여기서는 따로 설명하지 않는다. [Datadog] AWS integration부터 로그 수집까지 배경 클라우드 상에 운영중인 외부 서비스의 로그 모니터링을 진행하고자 했다. 모니터링 할 대상은 WAF 로그, ALB 로그, DNS Query 로그가 있었고, 추가로 해외 IP 접근 이력, 관..
· Cloud/AWS
실서비스를 운영하면 서버의 백업과 관리는 빠져서는 안될 필수불가결한 항목이다. 이번에는 AWS 서비스인 AWS Backup을 통해 ec2 인스턴스들에 대해 백업 작업을 진행해본다. AWS Backup AWS내의 서비스 및 일부 온프레미스의 App들에 대한 데이터들의 백업을 관리하고 자동화할 수 있는 중앙집중식 완전 관리형 서비스이다. 백업할 리소스를 지정해 직접 백업 작업을 진행할 수 있고(온디맨드 백업), 리소스와 백업 계획(일정)을 지정해 자동으로 백업을 진행할 수도 있다. Backup 서비스에서는 백업 볼트라는 개념이 존재한다. 백업볼트는 간단히 말해 백업본이 저장될 컨테이너로 볼 수 있다. 백업 서비스를 이용하기 전에 최소 1개의 vault를 가져야한다. (기본값 Default 백업볼트가 있음) ..
· Cloud/AWS
운영중인 웹서버 인스턴스에 대해 개발인원이 종종 SSH 접근을 해 작업을 하는 과정이 있다. SSH 접속 이상 징후를 모니터링하기 위해 SSH 접근에 대한 알림을 받고 싶다는 요청이 들어왔었다. 요청 : 인스턴스의 SSH 접속이력을 실시간 알림으로 수신 실시간 알림을 받는 서비스는 사내에서 사용중인 메신저인 Slack을 이용하기로 했다. 이 아키텍쳐를 구성하는 과정은 크게 다음과 같이 이루어져있다. 인스턴스의 SSH 접속로그를 cloudwatch로 뽑아오기 위한 Agent 설치 Slack으로 알림을 쏴줄 lambda 함수 생성 Cloudwatch에 쌓인 접속로그를 바탕으로 SSH 연결이 수립된 시점의 로그 필터링 필터링된 로그를 lambda로 전송 (lambda 트리거 설정) lambda 코드 작성 1번..
· Cloud/AWS
오픈한 서비스를 대상으로 보안관제에 대한 차원으로 WAF를 붙였었다. 이때, 발생한 로그들은 모두 Cloudwatch log 그룹으로 흘러들어가도록 했고, datadog forwarder를 통해 datadog으로 다시 흘러가도록 구성을 했었다. 이렇게 모니터링 인프라는 어느정도 완성이 되었지만, 비용에 대한 문제가 슬금슬금 다가오기 시작했다. 기본적으로 datadog이 비싼감이 없지않아 있었지만(Datadog의 과금 정책을 아직도 완전히 이해할 수가 없음...), 그 외에도 AWS 내부에서 외부로 데이터를 전송한다는 것에 대한 부담도 어느정도 존재했다. 그렇게 방법을 찾던 중, cloudwatch의 자체 제공 서비스 중 하나인 'log insights'를 발견하게 되었다. Cloudwatch Log In..
Omoknooni
'분류 전체보기' 카테고리의 글 목록 (12 Page)