본문 바로가기

IaaS PaaS SaaS IaaS (Infrastructure as a Service)PaaS (Platform as a Service)SaaS (Software as a Service) 셋다 주로 가상의 클라우드 환경에서 사용하는 용어들이다. IaaS 는 개발할 수 있는 기반 즉, 서버, 스토리지, 네트워크 등의 인프라들을 가상화하여, 인프라를 쉽게 사용할 수 있도록 서비스 형태로 구축해 놓은 시스템을 말한다. AWS EC2 나 구글의 Compute Engine 등이 IaaS 에 속한다. PaaS 는 어플리케이션에 필요한 개발, 실행 등을 통합하여 관리할 수 있게 하는 플랫폼을 말한다. 관련 리소스 들의 유지관리를 할 필요가 없으며 어플리케이션 로직에만 집중할 수 있게 하는 시스템으로 AWS BeansTalk, 구글의 App ..
Amazon EKS Amazon EKS 는 AWS 에서 Kubernetes 를 손쉽게 실행하도록 하는 관리형 서비스이다. EKS 는 여러 가용 영역에서 Kubernetes 제어 플레인 인스턴스를 실행하고 관리하여 고가용성을 보장한다. 또한 오픈 소스 Kubernetes 소프트웨어의 최신 버전을 실행하므로 Kubernetes 의 모든 기존 플러그인과 도구를 사용할 수 있다. EKS 는 ECR, ELB, IAM, VPC 등의 AWS 서비스와도 통합되어 확장성과 보안을 제공한다. 아래는 EKS 를 사용하여 어플리케이션을 배포하는 일련의 플로우이다. 클러스터의 VPC / IAM / Security Groups 생성로컬에 AWS CLI / kubectl / IAM Authenticator 설치EKS 클러스터 생성kubeconfig ..
AWS VPC 시나리오 AWS 에서 VPC 마법사로 생성할 수 있는 VPC 시나리오로 다음의 4가지를 제공한다.public 서브넷만 있는 VPCpublic 및 private 서브넷이 있는 VPCpublic 및 private 서브넷이 있고 VPN 액세스를 제공하는 VPCprivate 서브넷만 있고 VPN 액세스를 제공하는 VPC 이 4가지의 VPC 구성을 알고나면 어떤 커스텀 VPC 구성도 가능하다. 하나씩 살펴보자. 1. public 서브넷만 있는 VPC 위 그림에는 다음 정보가 포함된다.vpc : 10.0.0.0/16public subnet : 10.0.0.0/24ec2 : 10.0.0.6 (EIP: 198.51.100.2)router : 10.0.0.0/16(local), 0.0.0.0/0(igw-id)internet ga..
Google Kubernetes Engine Google Cloud Platform 에서 쿠버네티스를 운영하기 위한 방법으로 Kubernetes Engine 과 Kubernetes API 를 사용하여 어플리케이션을 배포 및 관리 할 수 있다. 간단하게 쿠버네티스를 이용하여 어플리케이션을 테스트 해보자.GKE(Google Kubernetes Engine) 를 사용하여 쿠버네티스 클러스터 생성kubectl 를 사용하여 Docker 컨테이너를 배포 및 관리쿠버네티스의 Deployment 와 Service 를 사용하여 마이크로 서비스로 어플리케이션 분리1. 구성 연결GCP 콘솔의 APIs & services 에서 Kubernetes Engine API 와 Container Registry API 이 활성화 되어 있는지 체크하고, Cloud Shell 이나..
Google Cloud SDK GCP 의 핵심 도구인 Google Cloud SDK 는 GCP 에 호스팅 중인 컴퓨팅 리소스와 어플리케이션을 관리할 수 있는 도구이다. 이 도구를 사용하는 이유는 GCP 콘솔에 접속하지 않고 로컬에서 바로 GCP 의 서비스들을 사용할 수 있다는 것이다. gcloud 명령을 사용하면 Compute Engine 의 VM 인스턴스/네트워크/방화벽/디스크 등의 생성, 시작, 관리가 가능하고 인스턴스에 ssh 로 접속할 수도 있다.Windows 설치다운로드기타 OS 설치gcloud 초기화설치가 끝나면 Google Cloud SDK Shell 을 시작하고 SDK 를 초기화 해야 한다. SDK 초기화란 구글 계정의 인증 정보를 사용하여 GCP 에 접근이 가능하도록 설정하는 작업이다. > gcloud init위 명령..
apt-get 와 apt 의 차이 요즘 리눅스 문서에 apt-get 대신 apt 를 주로 사용하는 것 같아 검색해 보니, apt-get 을 사용하면 아재라는...;;; man 페이지를 찾아보면, apt-get apt-get 나 apt-cache 등은 알다시피 RPM 기반 배포판에서 사용되는 APT 패키지 핸들링 도구들이고, apt Advanced Package Tool 의 약자로 high-level 의 고급 패키지 도구이다. 최종 사용자를 위해 개발되고 apt-get 나 apt-cache 를 대체한다.다른 프로그램이지만 apt 를 apt-get 과 apt-cache 의 alias 정도로 간주하고 사용해도 무방할 듯 싶다. 저수준 옵션들을 완벽하게 지원하지는 않지만, apt 역시 지속적으로 개발되고 있으니, apt-get 과 apt-cac..
Snappy 패키지 간만에 우분투에서 도커를 설치하려고 했는데, apt 가 docker 를 찾지 못하자 추천해 주는 다른 패키지? # apt-get install dockerReading package lists... DoneBuilding dependency treeReading state information... DoneNo apt package "docker", but there is a snap with that name.Try "snap install docker"E: Unable to locate package docker이건 뭥미.검색해 봤더니 우분투 16.04 버전 부터 도입된 또 다른 패키지 관리자이며, 다른 모든 Linux 배포판에서도 snappy 를 설치해 사용할 수 있다. snap 으로 만들어진 어플..
CodeStar 특정 프로그래밍 언어로 개발/빌드/배포 환경을 미리 구성된 템플릿을 사용하여 빠르게 구축해 주는 서비스이다. 예를 들어, Laravel 로 PHP 개발을 하려 한다면, EC2 / Git / CodeBuild / CodeDeploy / CodePipeline 등을 미리 구성해 주며 git 에 push 만 하면 자동 배포되어 결과를 확인할 수 있다. 그리고 제공되는 대시보드에서 프로젝트의 개발/빌드/배포 등의 이벤트 현황을 즉시 확인할 수 있다. 아무래도 미리 준비된 템플릿으로 빠르게 구성되는 장점은 있지만, 언어나 프레임워크의 버전, 서버종류 등의 선택이 제한적인 단점 때문에 사용할 일이 있을지는 모르겠다.CodeStar 는...CodeStar 는 AWS 를 기반으로 애플리케이션을 빠르게 개발, 빌드, 배..