Site-to-Site VPN은 무엇인가?Site-to-Site VPN의 필요성? 온프레미스 서비스에서 클라우드 서비스로 전환할 때, 가장 큰 장애물은 역시 비용이다. 기존의 온프레미스 인프라를 효율적으로 사용하면서 클라우드 서비스를 제공한다면, 이러한 문제를 해결할 수 있을 것이다. 동일한 VPC를 사용하는 인스턴스 간에는 내부에서의 접근이 가능하다. 하지만, 기본적으로 VPC와 자체 온프레미스 네트워크와 통신할 수 없다. 그렇다면, 어떤 방법이 있을까? 가장 간단하게는 엔드포인트를 통해서 통신하는 방법이 있다. 하지만, 이 경우에는 내부에서의 접근은 어렵고 데이터를 인터넷을 통해서 주고받아야 하기 때문에 보안이 취약하다. 이러한 경우에는 IPsec(인터넷 프로토콜 보안)을 이용하여 네트워크 간의 암호..
AWS로 서비스를 진행하다 보면, 서비스 중인 EC2 인스턴스와 동일한 환경으로 개수를 늘리고 싶은 경우가 있다. ECS를 사용하면 간단히 개수를 조절할 수 있겠지만 그렇지 않은 경우에는 어떻게 할 수 있을까? 실행중인 EC2 인스턴스를 복제하기 위해서는 템플릿 복제와 AMI 이미지 생성이 필요하다. [주의] AMI 이미지 생성을 시작하면, 실행중인 EC2 인스턴스가 재부팅 한다. 인스턴스가 중지되도 무관한지 꼭 확인하고 진행해야 하는 점을 명심하자. AMI (Amazon Machine Image) AMI 이미지 생성 실행중인 EC2 인스턴스를 우클릭 혹은 작업탭을 선택하면 이미지 및 템플릿 항목을 확인할 수 있다. 여기서 이미지 생성을 선택한다. 이미지 이름을 입력하고 이미지 생성을 선택한다. 이미지 ..
ECS (Elastic Cluster Service) ECS 클러스터 생성하기 ECS 클러스터는 여러 대의 인스턴스를 그룹화하고, 그룹내의 리소스를 자동으로 조정하고 관리한다. 이를 통해 Docker 컨테이너를 쉽고 효율적으로 배포, 관리 및 확장할 수 있도록 한다. 클러스터에서는 인스턴스들이 실행될 환경을 설정한다. Fargate 인스턴스를 이용하는 경우 자동으로 구성되어 별도로 설정할 필요는 없지만, EC2 인스턴스의 경우에는 인스턴스 유형이나 서브넷, 용량 등 다양한 환경 설정이 필요하다. Task 생성하기 실행하고자 하는 Docker 컨테이너를 정의하는 과정이다. 어느 인스턴스에서 어떤 Docker 이미지를 실행할 것이인지 정의한다. Task에서 하나의 인스턴스에 다수의 컨테이너가 순차적으로 실행..
지난글에서는 ECS가 무엇인지 확인했다면, 이번에는 ECS로 서비스하기 위해서 무엇이 필요한지 알아보자. ECS로 서비스를 운영하기 위해서는 우선 컨테이너 이미지가 필요하다. 컨테이너 이미지를 저장하고 불러오기 위해서는 컨테이너 저장소가 필요하다. 대표적인 저장소인 도커 허브를 제외하고도 다양한 저장소가 있는데, 이번 글에서는 같은 AWS에서 지원하는 ECR을 활용해보자. ECR (Elastic Container Registry) ECR이란? ECR은 AWS에서 제공하는 컨테이너 이미지 저장소다. S3를 기반으로 하고 있어, 기존의 S3 이용자라면 친숙하게 느껴질 것이다. 대부분의 이미지 저장소와 주요 기능은 동일하며, 보안적인 측면에서 장점이 있다. 그리고 AWS의 다른 컨테이너 서비스들 간의 호환성이..
Overview MicroServices Architecture 마이크로서비스 아키텍처(MicroServices Architecture)는 최근 유행하는 서비스 아키텍처의 한 방법으로, 다른 서비스 아키텍처들과 가장 큰 차이는 애플리케이션을 작고 독립적인 구성 요소로 나누어 접근하는 것이다. 각각의 애플리케이션이 서로 종속 관계가 없기 때문에, 확장이 용이하고 개발 속도를 앞당길 수 있는 장점이 있다. 또한 하나의 애플리케이션에서 문제가 발생해도 전체 프로세스가 실패할 가능성을 줄여 안정성을 높인다. 다만, 마이크로서비스는 서비스 규모가 커질수록 각 애플리케이션간의 통신을 관리하는 것이 다소 까다로울 수 있다. 이러한 장단점을 가진 마이크로서비스 아키텍처를 운영해 볼 수 있는 손쉬운 방법 중 하나가 바로..