엔지니어링/DevOps
AWS S3 버킷 생성 중 "버킷 이름이 이미 있습니다."
AWS S3 버킷 생성 중 "버킷 이름이 이미 있습니다."
2020.07.31Amazon AWS S3에 버킷을 생성했는데 이미 존재하는 이름이라고 메시지가 나왔다. 나는 버킷을 생성한 적이 없는데?! According to the AWS docs: An Amazon S3 bucket name is globally unique, and the namespace is shared by all AWS accounts. This means that after a bucket is created, the name of that bucket cannot be used by another AWS account in any AWS Region until the bucket is deleted. Someone else has already created a bucket with this name..
네이버클라우드 ubuntu 서버에 NGINX 설치 및 포트포워딩
네이버클라우드 ubuntu 서버에 NGINX 설치 및 포트포워딩
2020.07.18이번 포스팅에서는 네이버 클라우드에서 서버를 생성하고 NGINX 설치를 진행해보겠다. CentOS로 NGINX를 설치했을 때에는 수월하게 진행되었는데, ubuntu로 설치할 때에는 오류가 떠서 당황스러웠다. 때문에 ubuntu에 nginx 설치하는 방법에 대해 참고했던 문서를 정리해보겠다. 서버 생성 서버 생성은 네이버클라우드 공식문서를 보고 진행하였다. 네이버클라우드 서버 생성 가이드: https://www.ncloud.com/guideCenter/guide/1 서버 : ubuntu-18.04 (bionic) 아래와 같이 생성하였다. 네이버는 조금 독특하게 인스턴스가 한 겹 감싸져 있다. 위에서 말하는 포트 포워딩 정보가 뜻하는 바는, 내가 생성한 인스턴스와 네이버에서 제공하는 내 계정의 사설IP+PO..
로드밸런서(Load balancer)와 프록시(Proxy)
로드밸런서(Load balancer)와 프록시(Proxy)
2020.04.20로드밸런서와 프록시가 어떻게 다른 지 명확하게 이해를 못하겠다. 구글링 중에 굉장히 잘 정리된 "빛과 소금같은 문서"를 발견했다. (번역해주셔서 감사합니다) 내가 혼동하고 있었던 부분을 명확히 짚어주었고, 로드밸런서와 프록시를 설명하고 있다. 뉴비인 내가 이해하기에는 많은 개념들이 있지만 존재만으로도 감사한 문서다. 나에게 필요한 수준에서 간단히 내용을 정리한다. [번역] 최신 네트워크 로드 밸런싱 및 프록시 소개 Introduction to modern network load balancing and proxying 로드밸런싱 위키 정의 컴퓨팅에서 로드 밸런싱은 컴퓨터, 컴퓨터 클러스터, 네트워크 링크, 중앙 처리 장치 또는 디스크 드라이브와 같은 여러 컴퓨팅 리소스에서 작업 부하 분산을 향상시킵니다...
로드밸런싱 유형 (DNS, Hardware, Software)
로드밸런싱 유형 (DNS, Hardware, Software)
2020.04.13로드 밸런싱은 아래 유형 중 하나로 구성되며, 어떤 유형의 로드밸런싱을 구성하던지 로드밸런서의 기능은 동일하다. 리버스 프록시(reverse proxy)처럼 동작하며 여러 대의 서버로 트래픽을 부하를 분산하는 것이다. 본인의 상황에 맞게 동작 방식과 트래픽을 분산하는 내부 알고리즘 등이 조금씩 다르게 적용할 뿐이다. DNS - RR(Round Robin) Hardware Software - HAProxy, Nginx, Seesaw, KEMP 등 각 방식에 대해 간단하게 알아보자. Load Balancing with DNS DNS(Domain Name System)은 도메인 이름을 IP주소로 변환하는 기술이다. 하나의 도메인 이름을 라운드로빈(Round Robin) 방식으로 N개의 IP주소로 변환하여 트래..
로드밸런서 (L4, L7, NginX, HAProxy)
로드밸런서 (L4, L7, NginX, HAProxy)
2020.04.07네트워크 로드밸런싱에서 주로 언급되는 로드밸런서 L4, L7, HAProxy 위주로 설명하겠다. L4 (Transport Layer) L4는 IP, Port, Session 기반으로 로드밸런싱하며 웬만한 서비스에서는 이것만으로 부하 분산이 충분히 가능하다. 주의해야할 점은 L4는 VIP(가상 IP주소)단위로만 로드밸런싱하기 때문에 반드시 하나의 VIP에 연결된 서버의 수가 비슷해야 한다. 만일 일부 서버에 문제가 생긴다면, 동일한 VIP에 연결된 다른 서버 역시 연달아 부하가 발생하여 더 심각한 문제가 발생할 수 있다. 또한 L4의 스펙상 최대 세션 수는 존재하나 세션을 맺는 시나리오에 따라 최대 성능이 다르다. 때문에 최대 세션 용량에 도달하지 않았어도 추가로 세션을 연결할 수 없는 문제가 발생하기도 ..
지역성을 고려한 캐시(Cache)
지역성을 고려한 캐시(Cache)
2020.03.19서버 성능을 높여주는 캐시(Cache)란? 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 만약 짧은 시간 동안 동일한 요청이 여러 번 발생할 경우, 해당 요청의 결과를 캐시에 저장한다면 서버의 처리 속도를 높일 수 있다. N건의 처리를 해야했었는데, 1건만 처리 후에 캐시에 저장해두면 이후 결과는 캐시 메모리에 접근하여 얻을 수 있다! 캐시는 각 레이어별로 적용이 가능하다. (DB, WAS, Web server에서 각각 가능하다는 뜻) 캐시에 저장하는 방식 - 사용할 결과를 그대로 저장 (빠르지만 많은 메모리 소요) - 구조화하여 저장 (조금 느리지만 보다 효율적인 메모리 사용 가능) 지역성을 고려한 설계 - 시간적 지역성 (Temporal Locality) : 특정 데이터가 한..
로드밸런싱(Load Balancing)과 고가용성(HA)
로드밸런싱(Load Balancing)과 고가용성(HA)
2020.03.19목차 로드밸런싱(Load Balancing)의 이점 로드밸런서(Load Balancer) 로드밸런서의 주요 기능 로드밸런서 동작 방식 서비스 중단 없이 장애를 대처하는 방법 (HA 클러스터 구성) 트래픽을 분산하는 로드밸런싱 주요 알고리즘 로드밸런싱 (Load Balancing)의 이점 로드밸런싱이란 병목현상을 방지하기 위해 서버의 부하를 분산하기 위해 N개의 서버에 트래픽을 분배하는 것이다. 트래픽이 높은 서비스를 다룰 때, 서비스의 무결성과 가용성을 유지하기 위해 로드 밸런싱은 필수적이다. From DNS requests to web servers, load balancing can mean the difference between costly downtime and a seamless end use..
DevOps 안정적인 서비스 운영 (feat. NHN)
DevOps 안정적인 서비스 운영 (feat. NHN)
2020.03.19빛과 소금같은 NHN의 "안정적인 서비스 운영" 슬라이드의 내용 습득을 목표로 달려보겠다. 포스팅은 슬라이드 내용을 중심으로 공부 + 추가적으로 자료 정리 + 실제 나의 업무에는 어떻게 적용할 수 있을 지 생각해본다. 이번 년도에 해당 내용 슥듭을 목표로 달려보겠다. 포스팅이 작성된 목차는 link를 연결해두었다. (작성된 내용이 사실과 다르거나 부족한 경우 댓글로 도움을 부탁드립니다.) 안정적인 서비스 운영 슬라이드 자료 https://www.slideshare.net/cybaek/201403 스케일링 로드밸런싱과 고가용성 [p6] (이동) 로드밸런서 (L4, L7, NginX, HAProxy) (이동) 로드밸런싱 유형 (DNS, Hardware, Software) (이동) 클러스터 노드간의 자원과 정..