클라우드 서비스 9

온프레미스 환경의 데이터베이스를 AWS RDS로 마이그레이션하기

지난 포스팅에서는 온프레미스 환경에서 호스팅 하는 서버에 대해서 AWS로 마이그레이션 에 대한 내용을 다뤘다. 이번에는 온프레미스 환경에서 호스팅 하는 데이터베이스를 AWS RDS로 마이그레이션 해보려고 한다. AWS DMS(Database Migration Service) 서비스를 이용하여 온프레미스 환경의 데이터베이스를 AWS RDS로 아주 쉽게 마이그레이션 할 수 있다. 심지어 SCT(Schema Conversion Tool)을 사용해 이기종 데이터베이스 간 마이그레이션도 가능하다. 이를 테면, PostgreSQL에서 MySQL로 마이그레이션이 가능하다. 데이터만 알아서 복제해주기 때문에, 데이터베이스의 버전은 크게 상관이 없고, 기존 온프레미스 환경에서 낮은 버전의 데이터베이스를 사용하고 있었다면..

온프레미스 환경의 인프라를 AWS로 마이그레이션하기

기존에 레거시 시스템들은 대부분 IDC에 서버 장비를 두고 직접 하드웨어/소프트웨어를 운영하는 온프레미스 형태가 대부분이다. 지금은 클라우드 인프라 환경이 너무 좋아져서 시스템이 성장하면 할수록 마이그레이션 하는 추세다. 이게 단순하게 트렌드가 아니라 실제로 인프라를 운영하면서 온프레미스 환경보다는 클라우드 환경에서 더 안전하게 관리할 수 있고, 관리 포인트가 적어질 수 있고, 비용을 탄력적으로 사용하면서 좀 더 유연한 관리가 가능하게 됐다. 그리고 AWS MGN(Application Migration Service) 서비스를 이용하여 온프레미스 인프라에서 AWS로 마이그레이션 할 수 있다. AWS는 정말 없는 게 없다. MGN에서 제공하는 Agent만 온프레미스 서버에서 설치하면 알아서 서버의 CPU,..

AWS Certified SysOps Administrator - Associate(SOA-C02) 합격 후기 및 공부 방법

이번에는 SysOps Administrator - Associate 자격증을 취득했다. 확실히 지난 Solutions Architect 자격증을 준비할 때 보다는 이미 경험했던 터라 시험 예약, 장소, 유의사항 등 시험 외에 알아볼 것들이 적어서 수월했다. 시험 예약, 장소, 유의사항 등에 대한 내용은 이전 포스팅에서 확인할 수 있다. 시험 준비 이전 시험과 비슷하게 시험 안내서, 그리고 늘 많은 도움이 되는 AWS 공식 레퍼런스, 그리고 Udemy에 있는 시험 덤프를 활용하여 공부했다. 공부는 평일 지하철 이동 시간, 주말 시간을 활용하여 약 한 달정도 준비를 했다. 이전에 Solutions Architect 자격증과 내용이 많이 겹치진 않았지만, 그래도 전반적인 AWS 서비스에 대해서 한 번 훑어본 ..

AWS에서 비용을 줄이는 방법

클라우드 환경에서 서비스를 운영하다 보면, 나도 언제 생성했는지 모르는 리소스나 쓰임이 명확하지 않은 리소스들이 있다. 그런 경우 임시 방편으로 EC2의 경우에는 인스턴스 중지를, RDS의 경우에는 중지 후 최종 스냅샷을 생성 후 삭제 등 다양하게 리소스를 관리하게 된다. 그렇게 되면, 해당 EC2와 관련된 EBS 혹은 ELB는 중지 상태로 유지할 수 없으니 삭제하지 않는 한 비용이 발생하게 된다. 또 남겨진 스냅샷의 경우에도 이제는 이게 쓰임이 있는 리소스 였는지, 아니였는지 정말 무한의 굴레에 빠지게 된다. 리소스를 삭제할수도 없는 이러한 상황에서 비용을 아낄 수 있는 가장 효율적인 방법을 일부 소개하려고 한다. 실제로 우리 회사에서는 해당 방법들을 적용시킨 이후에 비용을 무려 약 53.87%나 감소..

AWS SSM으로 하는 프라이빗 리소스 접근 제어 및 보안 감사 로깅

EC2를 접근하기 위해서는 AWS 기준으로 Key File을 이용하여 SSH로 접근한다. 그렇다면, 프라이빗 서브넷(인터넷이 차단된)에 있는 EC2는 어떻게 접근할까? 이전에 사용하던 방식은 앞 단에 Bastion Host를 두고 프록시하여 SSH 접속을 했다. 이렇게 되면 보안 상 취약한 요소가 키 파일 사용 SSH 포트 개방 Bastion Host 관리 서버 접속 사용자의 행동 추적이 어려움 정도가 있을 수 있다. 또, 프라이빗 서브넷에 RDS 혹은 ElastiCache 등 데이터 관련 리소스가 있다고 가정한다면, 이 리소스들도 Bastion Host를 통해 접속해야 하고, 그렇게 되면 터미널로 접속하기 때문에 보통 데이터베이스를 접속할 때 DataGrip과 같은 데이터베이스 툴을 사용할 수 없어 굉..

AWS IAM 계정을 보안 모범 사례 기반으로 다루는 방법

AWS 리소스를 관리할 때는 보통 보안 상의 이유로 루트 계정으로 관리하지 않고, 따로 IAM 계정을 생성하고 해당 계정이 사용할 리소스에 대한 여러가지 접근 권한 정책을 부여하여 사용하게 된다. 예를 들면, IAM 계정에 모든 EC2에 대해 읽기 권한만 주고 싶다면 아래의 정책을 생성하여 할당한다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" } ] } 그리고 일반적으로, 좀 더 수준 높은 보안을 위해 IAM 계정에 MFA(Multi Factor Authentication)를 설정하는 것이 권장된다. 이처럼 하나의 AWS 계정 안에서 IAM 계정을 어떻게 하면..

AWS Certified Solutions Architect - Associate(SAA-C02) 합격 후기 및 공부 방법

AWS는 서비스의 사용에 따라 다양한 종류로 나누어 자격증 시험을 제공한다. 그 중, AWS에서 배포 시스템을 설계하고 구현하는 능력을 검증하는 AWS Certified Solutions Architect - Associate(SAA-C02) 시험을 봤고, 어떻게 준비하고 공부했는지에 대해 공유하고자 후기를 남겨보고자 한다. 1. 시험 응시 자격 및 신청 AWS 모든 자격증 시험은 응시 자격이 필요 없다! 각각의 시험 카테고리마다 기초, Associate(어소시에이트), Professional(프로페서녈), Specialty(전문분야) 정도의 난이도를 부여 하는데 프로페셔널 시험을 보기 위해선 어소시에이트 자격이 있어야 하는건 아니다! 하지만, 시험에 합격하고 나면 다음 시험에 대해서 50% 할인 바우처..

효율적인 비용 관리를 위한 AWS Instance Scheduler 설정

EC2로 작업을 하다보면, 우리가 실제로 사용하는 시간과 아예 사용하지 않는 시간이 따로 나뉘어져 있다. 회사로 예를 들자면, 오전 9시부터 오후 6시와 같이 사무실에서 일하는 시간 외에는 전혀 EC2 인스턴스에 접근할 일이 없는 경우이다. (물론 야근이 없다면..😂) 따로 인스턴스를 중지 상태로 만들어주지 않는 이상 실행중이기 때문에 계속 초당 비용이 청구될 수 밖에 없어 굉장한 잉여 비용이다. 때문에, AWS Instance Scheduler를 설정해주어, 우리가 원하는 시간대에만 인스턴스를 실행 상태로, 그 외에 시간에는 인스턴스를 중지 상태로 만들어 비용 관리를 효율적으로할 수 있다. 사전 지식 및 작업 IAM IAM 설정은 꼭 사전에 습득하고 와야 해당 포스팅에 대해서 매끄럽게 진행이 가능하다..

Route 53 하위 도메인 위임

example.com이라는 하나의 서비스 도메인을 가지고, 개발과 운영으로 분리된 AWS 계정에서 각각의 Route 53으로 도메인을 관리하기 위해서는 하위 도메인을 위임해야 한다. 이때, 필요한 것은 네임 서버 설정이다. 이를 통해 해당 도메인이 어떤 호스트 영역에서 관리되는지 확인이 가능하다. 하위 도메인 위임에 대해서, DNS 동작 원리와 연관 지어 알아보도록 하자. 도메인 규칙 필자는 이번 포스팅에서, 하나의 메인 도메인 southouse.com을 발급받았다고 가정하고 진행한다. 개발 환경은 *.dev.southouse.com이라는 규칙을 가지고 서비스에 따라 app.dev.southouse.com 등으로 지정하고, 이를 개발 도메인이라고 부르기로 했다. 운영 환경은 *.southouse.com이..