Before 2022/AWS & DevOps 9

CodeCommit & CodePipeline을 활용한 정적 웹호스팅 배포 자동화

S3 정적 호스팅 배포 시 문제점 이전 포스팅(AWS S3 & CloudFront & Route 53을 활용한 정적 웹 호스팅 하기:Link)에서 호스팅까진 완료하였지만, 별도의 소스 관리 도구가 없어 수정이 불편하다는 단점이 부각된다. 그래서, 본 포스팅에서는 AWS에서 제공하는 Git Repository 서비스인 CodeCommit을 이용하여 소스를 관리하고 추가적으로 CodePipeline을 활용하여 배포 파이프라인을 구축하고 자동화를 진행해보겠다. CodeCommit 프라이빗 Git 리포지토리를 호스팅하는 안전하고 확장 가능한 소스 관리형 서비스입니다. CodeCommit을 사용하면 자체 소스 제어 시스템을 관리하거나 인프라 확장을 걱정할 필요가 없습니다. CodeCommit을 사용하여 코드와 바..

Terraform을 활용한 IaC 맛보기

Terraform 테라폼은 하시코프에서 Go 언어로 개발되고 있는 오픈소스 IaC(Infrastructure as Code) 도구이다. HCL(Hashcorp Configuration Language)을 사용해 클라우드 리소스를 선언하며 AWS, GCP, Azure와 같은 주요 클라우드 서비스를 비롯한 다양한 클라우드 서비스들을 프로바이더 방식으로 제공하고있다. 설치(Ubuntu 20.04.1 LTS) 공식 다운로드 페이지에서 리눅스 64bit 바이너리 링크를 복사하고 wget 명령어로 다운로드한다. wget https://releases.hashicorp.com/terraform/0.14.8/terraform_0.14.8_linux_amd64.zip 다운받은 테라폼 압축파일을 푼다. unzip 패키지가..

CloudFormation & troposphere를 활용한 IaC 맛보기

IaC(Infrastruction as Code, 코드로서의 인프라) 코드를 이용해 인프라를 자동으로 구축, 관리, 프로비저닝하는 접근 방식이다. 프로비저닝, 시스템 변경 및 구성에 대해 일관되게 반복되는 과정을 코드를 통해 자동화하면 빠르게 변경/구성할 수 있으며, 수동으로 구성 시 발생하는 누락 및 잘못 설정하는 등의 인적 실수를 없앨 수 있다. 인프라 구성을 코드로 처리하므로 애플리케이션 구성과의 경계가 좁아지면서 개발자와 운영자의 경계가 모호해진 요즘의 DevOps에서 새로이 각광받고 있다. 대표적으로 Hashcorp의 Terraform과 오늘 간단히 실습하게 될 AWS의 CloudFormation등이 있다. CloudFormation 사용하고자 하는 AWS 리소스를 JSON이나 YAML 형태의 ..

AWS S3 & CloudFront & Route 53을 활용한 정적 웹 호스팅 하기

S3(Simple Storage Service) S3(Simple Storage Service)는 인터넷용 스토리지 서비스 즉, 파일 서버의 역할을 하는 서비스이며 버킷(Bucket)과 Key로 구성되어있다. 버킷(Bucket) : S3에 저장된 객체(= 파일)에 대한 컨테이너(= 최상위 디렉토리)이며, 모든 객체는 반드시 어떤 버킷에 포함이 되어야한다. 키(Key) : 버킷 내 객체의 고유한 식별자로 버킷 내 모든 객체는 정확히 하나의 키를 갖는다. CloudFront html, css, js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 CDN(Content Delivery Network) 서비스이다. 엣지 로케이션(=캐시 서버)이라고 하는 데이터 센터의 전..

Route 53 DNS 레코드 등록하기

DNS(Domain Name System) DNS란 인터넷망통신규약인 TCP/IP 네트워크상에서 사람이 기억하기 쉽게 문자로 만들어진 도메인을 컴퓨터가 처리할 수 있는 숫자로 된 인터넷 주소(IP)로 바꾸는 시스템을 일컫기도 하며 이런 역할을 하는 서버 컴퓨터 즉, Domain Name Server를 일컫기도 한다. DNS 레코드 DNS상에서 도메인에 관한 설정을 하기 위해 사용되는 일련의 문자들을 DNS 레코드라고 통칭하며, MX 레코드, TXT 레코드, CNAME 레코드등이 있다. 레코드 명 설명 MX 레코드 메일 교환 레코드의 줄임말로, 메일을 수신할 서버를 지정해주는 값이다. TXT 레코드 텍스트 레코드의 줄임말로, 임의의 문자열로 구성된 값이다. 소유한 도메인에 TXT 레코드를 추가하여 유효한 ..