안녕하세요. 남산돈가스 입니다. 오늘은 AWS가 아닌 국내 Naver Cloud Platform(이하 ncp)에서 서버인스턴스를 생성하는 방법을 간단하게 소개해보려고 합니다. ncp에서는 aws의 대표서비스인 ec2와 비슷하게 서버 인스턴스를 제공하는 기능이 있는데요. 별 다른 명칭 없이 Server라는 이름으로 쓰이고 있습니다. 개인적으로 aws의 ec2와 ncp의 Server로 느낄 수 있는 차이점은 사용성으로 얘기할 수 있을 것 같습니다. aws는 ec2 인스턴스를 하나 생성하는 데에 정말 생각지도 못한 다양한 옵션을 설정할 수 있습니다. 이것이 큰 장점으로 작용하나, 처음 인프라를 구축하는 사람들에겐 머리를 복잡하게 하는 요인이 될 수도 있는데요. 반면에 ncp의 Server는 aws ec2 만큼의 다양한 옵션을 제공하지는 않지만, 일단 국내 서비스인 점에서 번역 된 한국어가 아닌 이해하기 쉬운 한국어로 소개가 되어있다는 점과, 손 쉽고 직관적으로 Server를 올릴 수 있다는 점에서 각각 장단점이 있는 것 같습니다. 소개는 여기까지 하고, 바로 Server 인스턴스를 생성해보도록 하겠습니다. 먼저 ncp 콘솔에 접속합니다. 현재 운영 중인 ncp 서비스들을 간략하게 보여주는 Dashboard 화면입니다. 좌측 메뉴 중 Server를 클릭합니다. Server 콘솔화면입니다. 서버 생성 버튼을 클릭합니다. 생성할 서버의 종류 및 스펙을 선택하는 화면입니다. * 부팅디스크의 크기 (aws의 루트 디바이스 볼륨) * 이미지 타입 (aws의 기본ami와 마켓플레이스 ami) * OS 이미지 타입 - 리눅스의 CentOS기반, Ubuntu 기반 또는 Windows 서버 저는 우분투 최신 버전인 Ubuntu-16-04를 선택하고 다음을 선택했습니다. 그 다음은, 서버에 대한 기본정보를 설정하는 화면입니다. 특별한 설정은 없고, aws ec2의 userdata와 같이 ncp에서는 ...
Apache Tomcat 을 기반의 웹서버를 구성하고 AWS ELB(Elastic load Balancer) 를 활용하여 Multi-AZ(Available Zone) Instance 이중화를 구성하였습니다. 그런데 웹서버에 접속후 로그인 세션이 유지되지 않는 문제가 발생하였습니다. 원인은 ELB 는 트래픽 분산방식이 기본적으로 RoundRobin 방식으로 구현되어 사용자 세션이 유지되지 못하는 현상이었습니다. 이런 문제를 해결하기 위하여 ELB는 Sticky Session 기능을 적용합니다. 최초에 ELB 구성시 Sticky Session 은 Disabe 상태입니다. 확인을 위해 AWS 콘솔에 접속하여 EC2 DashBoard - Loadbalancer 항목으로 이동해 보겠습니다. Description 탭에 PortConfigration 항목에 설정에서 변경을 원하는 Port 구성에 Edit stickiness 를 선택합니다. Enable Load Balancer Generated Cookie Stickines 를 선택합니다. Expiration Period 에 세션이 유지될 시간을 "초" 단위로 입력해 줍니다. 이제 ELB 에서 생성한 쿠키를 사용하여 해당 시간동안 ELB 에서는 동일한 서버로 트래픽을 연결하여 세션을 유지하게 됩니다. 간단하게 ELB 를 통한 세션 설정이 완료 되었습니다. ELB 에서 생성한 Cookie 대신 웹 Application에서 직접 Cookie 를 생성하고 세션을 관리 할수도 있습니다. Enable Application Generated Cookie Stickiness 를 선택하면 웹서버에서 생성한 쿠키를 사용하여 세션을 유지하게 됩니다. 이때는 Cookie Name 에 웹서버에서 생성한 Cookie Name 을 입력해 주면 됩니다. AWS Console 을 통하...
안녕하세요. 명동섞어찌개입니다. SVG (Scalable Vector Graphics) 는 이름 그대로 Bitmap 이미지와 달리 확대, 축소해도 깨지지 않는 이미지 포맷이죠. 요새 아이콘을 화면에 넣을 때 많이 쓰는 방법으로 아이콘 폰트를 임베딩해서 쓰거나, svg 아이콘을 다운받아 쓰는 법 외에 SVG 아이콘을 그려서 화면에 적용하는 아주 간단한 팁을 알려드릴께요! 1. Adobe 일러스트레이터를 켭니다. 없으신 분은.. 디자이너분께 부탁드려보시거나 회사 라이센스 프로그램이 있을 경우 그걸 써보세요 (협업~) 2. 일러스트레이터에서 필요한 아이콘을 그립니다. 굳이 코딩으로 어렵게 계산해서 그리실 필요가 전혀 없습니다. 그냥 보면서 그립니다. 3. 아이콘을 선택한 후 복사합니다. (Ctrl + C) 4. 새 문서를 만든 뒤 붙여넣기 합니다. (Ctrl + V) [ icon-add-user-on.svg] 끝. 참 쉽죠?! 5. 마지막으로 CSS 에 적용합니다. 저 같은 경우는 일반적으로 이런 식으로 사용합니다. [layout.css] 1 2 3 . customIcon : before { content: '' ; position: absolute ; top: 12 px ; left: 3 px ; background - size: 20 px auto ; background - repeat: no - repeat ; width: 20 px ; height: 20 px ;} . addUser { background - image: url ( assets / icons / icon - add - user - on . svg );} [html] 1 < i class = "customIcon addUser" ></ i >
안녕하세요. 명동교자입니다. 요즘 제가 관심있게 살펴보고 있는 분야는 쿠버네티스 입니다. 오늘부터 쿠버네티스를 공부하면서 배운 내용을 블로그에 정리해보려고 합니다. 오늘은 첫 시간으로 쿠버네티스 아키텍처에 대해서 살펴보겠습니다. 쿠버네티스는 마스터와 노드로 구성됩니다. 노드는 여러 개로 구성될 수 있으며 위 그림과 같이 서로 연결되어 있습니다. 쿠버네티스 마스터 쿠버네티스 마스터(Kubernetes Master)는 다음과 같은 여러 가지 기능을 제공합니다. 인증 및 인가 (Authentication & Authorization) RESTful API 엔트리 포인트 노드를 위한 컨테이너 배포 스케줄러 확장 및 복제 컨트롤러 클러스터 구성 정보 쿠버네티스 마스터는 위 그림과 같이 API 서버 (kube-apiserver), 스케줄러(kube-scheduler), 컨트롤러 관리자(kube-controller-manager), 프록시(kubu-proxy), 큐블렛(kubelet), 에티시디(etcd)로 구성되어 있습니다. kube-apiserver API 서버는 http나 https 기반 RESTful API를 제공합니다. 쿠버네티스 구성 요소간 허브 역할을 합니다. kube-scheduler 스케줄러는 어떤 노드에서 동작을 수행할지 컨테이너에 대한 선택 기능을 지원합니다. 컨테이너를 노드에 디스패치(dispatch) 및 연결하기 위한 우선순위를 다음의 항목을 통해 결정합니다. CPU 메모리 수행 중인 컨테이너 개수 kube-controller-manager 컨트롤러 관리자는 다음과 같은 클러스터의 운영 기능을 수행합니다. 노드관리 내부 정보 생성 및 업데이트 상태 변경 kube-proxy 프록시는 노드의 각 컨테이너를 위한 네트워크 프록시와 로드 밸런서를 제공합니다. 프록시는 kube-proxy 데몬을 시작한...
안녕하세요. 남산돈가스입니다. 오늘은 REST 란 무엇인가에 대해서 알아보려고 합니다. REST란 Represendtational State Transfer의 약자로 소프트웨어 아키텍처의 한 형식으로 정의되어있습니다. 이 용어는 2000년 로이 필딩(Roy Fielding)의 박사학위 논문에서 처음으로 소개되었습니다. 당시 로이 필딩은 웹(HTTP)이 설계의 우수성에 비해 제대로 사용 되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표 하였습니다. 그렇다면, REST 하다는 것은 어떤 것을 의미할까요? 제가 이해하기 쉽게 정의한 "REST하다" 는 것은 웹에서 제공하는 모든 자원들에 각자 고유한 URI를 정의해 그 URI만 보더라도 해당 자원들의 명세를 표현하고 이해할 수 있게하는 디자인 방식(?) 방법론(?) 이라고 생각합니다. 따라서 RESTful API는 REST의 설계방식을 반영한 API를 제공한다는 것을 의미할 수 있습니다. 여기서 말한 REST의 구성은 어떤 것이 있는지 알아보겠습니다. REST의 구성 자원의 식별 (Resource) 요청 내에 기술된 개별 자원을 식별할 수 있어야 한다. 웹 기반의 REST 시스템에서의 URI 의 사용을 예로 들 수 있다. 자원 그 자체는 클라이언트가 받는 문서와는 개념적으로 분리되어 있다. 예를 들어, 서버는 데이터베이스 내부의 자료를 직접 전송하는 대신, 데이터베이스 레코드를 HTML, XML이나 JSON 등의 형식으로 전송한다. 메시지를 통한 리소스의 조작 (Verb) 클라이언트가 어떤 자원을 지칭하는 메시지와 특정 메타데이터만 가지고 있다면 이것으로 서버 상의 해당 자원을 변경·삭제할 수 있는 충분한 정보를 가지고 있는 것이다. 자기서술적 메시지 (Representations) 각 메시지는 자신을 어떻게 처리해야 하는지에 대한 충분한 정보를 포함해야 한다. 예를 들어 MIME...
댓글
댓글 쓰기