Paul Granduer Lee
테라폼을 이용한 infra 구축 #1_테라폼 설치 및 기본 사용법
테라폼(terraform)이란? 쉽게 설명하자면 Infra 구성값을 미리 코드화 시켜놓고 해당 코드를 수행하게 함으로 infra 구성이 되게끔 하는 infra as a code, 즉 코드로 인프라를 구성하는 시스템이다. infra 관리할 리소스가 적다면 클라우드 시스템의 UI를 통해 하나씩 만들어가면 되겠지만, 차후 관리할 infra의 규모가 커지고 기존에 관리하던 리소스들도 많아지면 해당 infra 관리 및 구축을 일일이 하기란 어려울 것이다. 하여, aws자체 적으로 제공하는 cloudformaion , chef, puppet, ansible, terraform 과 같은 infra를 코드화 시켜서 관리하자라는 목적을 둔 도구들이 생겨나기 시작했다. 각 도구들은 각각 장단점 및 특성이 있다고 한다. 일..
리눅스 파일 갯수 및 폴더 갯수 제한
리눅스를 사용하다 보면 항상 스토리지 용량에 신경을 쓰기 마련이다 하지만 위협과 사고는 생각치도 못한 곳에서 발생하게 되는데... 보통 df 또는 df -h와 같은 명령어를 통해 스토리지의 용량을 체크하기 마련이다 사용율이 50% 이하일때는 사실 신경조차 잘 쓰지 않지........ 단, 간과하면 안될 것이 존재한다. OS 자체의 최대 파일 / 폴더 갯수라는 것이 존재한다. 즉, 용량이 꽉차지 않았더라도 이 갯수를 초과할 경우 서버에 문제가 발생한다는 것이다. 필자의 경우 특정 어플리케이션에서 하루에 수백에서 수천건의 raw 파일을 생성하는 것을 알고 있었는데 갑자기 서비스가 에러가 나기 시작했다. 원인은 위와 같이 OS내의 최대 파일 / 폴더 갯수를 초과 했기 때문.. 방법은 간단하다 파일/폴더를 삭제..
aws_허용된cloudfront를 통한 s3접근방법
대명사로 불리는 CDN이라는 기술이 있다. CDN이란? Content Delivery Network의 약자로 음원, 영상 등 10메가 이상의 대용량 파일을 안정적으로 제공하기 위해 구상된 기술로, 구상 과정에서 자주 사용되는 파일의 병목현상을 해결할 수 있음이 확인되었다. 사실 대용량 파일뿐만 아니라 네트워크 트래픽 자체를 줄이기 위한 기술로 caching과 비슷하다. 자주 쓰이는 contents들을 중간중간에 replica로 만들어 놓아서 클라이언트가 replica에 접근할 수 있도록 하여 트래픽을 줄인다 cloudfront란? AWS에서 서비스하는 CDN 기술 쉽게 말하자면 수많은 엄청난 정적 컨텐츠를 부르기 위한 호출을 서버가 감당하기 힘들때? cloudfront 를 통해 정적컨텐츠를 제공하면 서버..
RDS tmp_table_size를 올려야하는 이유
mariadb(mysql)은 수행되는 쿼리 문에 order by 와 같은 sort 문이 들어갈 경우 데이터를 호출하고 -> 임시테이블에 호출된 데이터를 sort 하고 -> sort 완료된 데이터를 load 한다 데이터가 많은 테이블에 다량의 order by 쿼리가 들어올 경우 tmp 테이블이 감당할 수 있는 만큼은 memory에 적재하여 수행하지만...이후에는 disk를 사용하기 시작하고 cpu까지 부하가 발생 lock걸린 테이블 또는 processlist를 보면 아래와 같이 "Copying to tmp table" 또는 "Copying to tmp table on disk" 두개의 state 확인이 가능하다. RDS를 쓰는 우리의 tmp 기본값은 16MB로 설정되어 있었고 해당 값을 256MB로 늘림...