This presentation includes information on Kubernetes Architecture, Container Orchestration, Internal Routing, External Routing, Configuration Management, Credentials Management, Persistent Volumes, Rolling Out Updates, Autoscaling, Package Management, and a Hello World example using Helm.
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...QAware GmbH
CloudNativeCon North America 2017, Austin (Texas, USA): Talk by Josef Adersberger (@adersberger, CTO at QAware)
Abstract:
Running applications on Kubernetes can provide a lot of benefits: more dev speed, lower ops costs, and a higher elasticity & resiliency in production. Kubernetes is the place to be for cloud native apps. But what to do if you’ve no shiny new cloud native apps but a whole bunch of JEE legacy systems? No chance to leverage the advantages of Kubernetes? Yes you can!
We’re facing the challenge of migrating hundreds of JEE legacy applications of a major German insurance company onto a Kubernetes cluster within one year. We're now close to the finish line and it worked pretty well so far.
The talk will be about the lessons we've learned - the best practices and pitfalls we've discovered along our way. We'll provide our answers to life, the universe and a cloud native journey like:
- What technical constraints of Kubernetes can be obstacles for applications and how to tackle these?
- How to architect a landscape of hundreds of containerized applications with their surrounding infrastructure like DBs MQs and IAM and heavy requirements on security?
- How to industrialize and govern the migration process?
- How to leverage the possibilities of a cloud native platform like Kubernetes without challenging the tight timeline?
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
Google DevFest2019 Presentation at Infosys Campus Bangalore. Application deployment in Kubernetes with Helm is demo'ed in Google Kubernetes Engine (GKE). This is an introductory session on Helm. Several references are given in it to further explore helm3 as it is in Beta state now.
This presentation includes information on Kubernetes Architecture, Container Orchestration, Internal Routing, External Routing, Configuration Management, Credentials Management, Persistent Volumes, Rolling Out Updates, Autoscaling, Package Management, and a Hello World example using Helm.
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...QAware GmbH
CloudNativeCon North America 2017, Austin (Texas, USA): Talk by Josef Adersberger (@adersberger, CTO at QAware)
Abstract:
Running applications on Kubernetes can provide a lot of benefits: more dev speed, lower ops costs, and a higher elasticity & resiliency in production. Kubernetes is the place to be for cloud native apps. But what to do if you’ve no shiny new cloud native apps but a whole bunch of JEE legacy systems? No chance to leverage the advantages of Kubernetes? Yes you can!
We’re facing the challenge of migrating hundreds of JEE legacy applications of a major German insurance company onto a Kubernetes cluster within one year. We're now close to the finish line and it worked pretty well so far.
The talk will be about the lessons we've learned - the best practices and pitfalls we've discovered along our way. We'll provide our answers to life, the universe and a cloud native journey like:
- What technical constraints of Kubernetes can be obstacles for applications and how to tackle these?
- How to architect a landscape of hundreds of containerized applications with their surrounding infrastructure like DBs MQs and IAM and heavy requirements on security?
- How to industrialize and govern the migration process?
- How to leverage the possibilities of a cloud native platform like Kubernetes without challenging the tight timeline?
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
Google DevFest2019 Presentation at Infosys Campus Bangalore. Application deployment in Kubernetes with Helm is demo'ed in Google Kubernetes Engine (GKE). This is an introductory session on Helm. Several references are given in it to further explore helm3 as it is in Beta state now.
게임 개발을 완료하고 출시 전에는 부하 테스트 과정이 필수입니다. 부하 테스트를 통해 서비스의 문제점을 미리 파악할 수 있습니다. 1부에서는 AWS 환경에서 게임 서비스에 대규모 부하를 주는 방법을 알아보겠습니다. 또한 AWS의 여러 서비스를 통해 이런 서비스 상황을 모니터링하는 방법을 알아 보겠습니다. 2부는 AWS에서 카오스 엔지니어링을 구현해보겠습니다.
Traditional virtualization technologies have been used by cloud infrastructure providers for many years in providing isolated environments for hosting applications. These technologies make use of full-blown operating system images for creating virtual machines (VMs). According to this architecture, each VM needs its own guest operating system to run application processes. More recently, with the introduction of the Docker project, the Linux Container (LXC) virtualization technology became popular and attracted the attention. Unlike VMs, containers do not need a dedicated guest operating system for providing OS-level isolation, rather they can provide the same level of isolation on top of a single operating system instance.
An enterprise application may need to run a server cluster to handle high request volumes. Running an entire server cluster on Docker containers, on a single Docker host could introduce the risk of single point of failure. Google started a project called Kubernetes to solve this problem. Kubernetes provides a cluster of Docker hosts for managing Docker containers in a clustered environment. It provides an API on top of Docker API for managing docker containers on multiple Docker hosts with many more features.
Jessica Deen, Microsoft -
Helm 3 is here; let's go hands-on! In this demo-fueled session, I'll walk you through the differences between Helm 2 and Helm 3. I'll offer tips for a successful rollout or upgrade, go over how to easily use charts created for Helm 2 with Helm 3 (without changing your syntax), and review opportunities where you can participate in the project's future.
Helm version 3 was recently released with new features and a new architecture to support those features. The changes to Helm and charts were based on feedback, changes to Kubernetes, and lessons learned in the past couple years.
Introducing Amazon EKS Anywhere On Apache CloudStackShapeBlue
Amazon EKS Anywhere is a deployment option for Amazon EKS that enables customers to create and operate Kubernetes clusters on customer-managed infrastructure, supported by AWS. Customers can already run Amazon EKS Anywhere on their own on-premises infrastructure on bare metal servers or using VMware vSphere. In this session, you will learn about the Cluster API provider for Apache CloudStack, and how customers can now create and operate Amazon EKS Anywhere clusters on Apache CloudStack environments on-premises.
Vipin Mohan is a Principal Product Manager in the Kubernetes team at Amazon Web Services. He enjoys building products and delivering delightful customer experiences. Outside of work, he loves reading about financial investing and entrepreneurship and exploring the world through the eyes of his two kids.
Max is a CAPC and EKS-Anywhere developer, avid hiker and rock climber, and enjoys playing Rocket League and exploring the world with his wife and dog. He's personally interested in self-driving technology and wants to eventually retire in a cabin in the mountains with a wood-burning stove and a hot tub.
-----------------------------------------
CloudStack Collaboration Conference 2022 took place on 14th-16th November in Sofia, Bulgaria and virtually. The day saw a hybrid get-together of the global CloudStack community hosting 370 attendees. The event hosted 43 sessions from leading CloudStack experts, users and skilful engineers from the open-source world, which included: technical talks, user stories, new features and integrations presentations and more.
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...Amazon Web Services Korea
데브시스터즈와 <쿠키런 : 킹덤> 의 사례를 기반으로, 게임 서비스에서 데이터 플랫폼의 역할과 중요성, 그리고 성공적인 게임 운영을 위한 데이터플랫폼의 Scalability 확보 방법에 대하여 기술적, 문화적 관점에서 이야기합니다. AWS 기반 클라우드의 특성을 적극적으로 활용한 데이터 플랫폼 환경과 발전 과정에 대한 기술적 설명과 더불어, 문화 및 조직적 차원에서의 접근에 대해서도 소개해드립니다..
An Operator is an application that encodes the domain knowledge of the application and extends the Kubernetes API through custom resources. They enable users to create, configure, and manage their applications. Operators have been around for a while now, and that has allowed for patterns and best practices to be developed.
In this talk, Lili will explain what operators are in the context of Kubernetes and present the different tools out there to create and maintain operators over time. She will end by demoing the building of an operator from scratch, and also using the helper tools available out there.
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...Amazon Web Services Korea
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study
이 세션에서는 넥슨의 Case study를 통하여 글로벌플랫폼 구축을 위해 기존 플랫폼을 AWS로 Migration하는 과정 및 발생가능한 이슈를 공유합니다. 넥슨이 DB서버를 이전하는 과정 속에서 마주한 기술적 고민과 이슈를 통하여 AWS 활용 시 고려해야 할 부분들에 대해 소개하고 함께 이야기 나누고자 합니다.
게임 개발을 완료하고 출시 전에는 부하 테스트 과정이 필수입니다. 부하 테스트를 통해 서비스의 문제점을 미리 파악할 수 있습니다. 1부에서는 AWS 환경에서 게임 서비스에 대규모 부하를 주는 방법을 알아보겠습니다. 또한 AWS의 여러 서비스를 통해 이런 서비스 상황을 모니터링하는 방법을 알아 보겠습니다. 2부는 AWS에서 카오스 엔지니어링을 구현해보겠습니다.
Traditional virtualization technologies have been used by cloud infrastructure providers for many years in providing isolated environments for hosting applications. These technologies make use of full-blown operating system images for creating virtual machines (VMs). According to this architecture, each VM needs its own guest operating system to run application processes. More recently, with the introduction of the Docker project, the Linux Container (LXC) virtualization technology became popular and attracted the attention. Unlike VMs, containers do not need a dedicated guest operating system for providing OS-level isolation, rather they can provide the same level of isolation on top of a single operating system instance.
An enterprise application may need to run a server cluster to handle high request volumes. Running an entire server cluster on Docker containers, on a single Docker host could introduce the risk of single point of failure. Google started a project called Kubernetes to solve this problem. Kubernetes provides a cluster of Docker hosts for managing Docker containers in a clustered environment. It provides an API on top of Docker API for managing docker containers on multiple Docker hosts with many more features.
Jessica Deen, Microsoft -
Helm 3 is here; let's go hands-on! In this demo-fueled session, I'll walk you through the differences between Helm 2 and Helm 3. I'll offer tips for a successful rollout or upgrade, go over how to easily use charts created for Helm 2 with Helm 3 (without changing your syntax), and review opportunities where you can participate in the project's future.
Helm version 3 was recently released with new features and a new architecture to support those features. The changes to Helm and charts were based on feedback, changes to Kubernetes, and lessons learned in the past couple years.
Introducing Amazon EKS Anywhere On Apache CloudStackShapeBlue
Amazon EKS Anywhere is a deployment option for Amazon EKS that enables customers to create and operate Kubernetes clusters on customer-managed infrastructure, supported by AWS. Customers can already run Amazon EKS Anywhere on their own on-premises infrastructure on bare metal servers or using VMware vSphere. In this session, you will learn about the Cluster API provider for Apache CloudStack, and how customers can now create and operate Amazon EKS Anywhere clusters on Apache CloudStack environments on-premises.
Vipin Mohan is a Principal Product Manager in the Kubernetes team at Amazon Web Services. He enjoys building products and delivering delightful customer experiences. Outside of work, he loves reading about financial investing and entrepreneurship and exploring the world through the eyes of his two kids.
Max is a CAPC and EKS-Anywhere developer, avid hiker and rock climber, and enjoys playing Rocket League and exploring the world with his wife and dog. He's personally interested in self-driving technology and wants to eventually retire in a cabin in the mountains with a wood-burning stove and a hot tub.
-----------------------------------------
CloudStack Collaboration Conference 2022 took place on 14th-16th November in Sofia, Bulgaria and virtually. The day saw a hybrid get-together of the global CloudStack community hosting 370 attendees. The event hosted 43 sessions from leading CloudStack experts, users and skilful engineers from the open-source world, which included: technical talks, user stories, new features and integrations presentations and more.
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...Amazon Web Services Korea
데브시스터즈와 <쿠키런 : 킹덤> 의 사례를 기반으로, 게임 서비스에서 데이터 플랫폼의 역할과 중요성, 그리고 성공적인 게임 운영을 위한 데이터플랫폼의 Scalability 확보 방법에 대하여 기술적, 문화적 관점에서 이야기합니다. AWS 기반 클라우드의 특성을 적극적으로 활용한 데이터 플랫폼 환경과 발전 과정에 대한 기술적 설명과 더불어, 문화 및 조직적 차원에서의 접근에 대해서도 소개해드립니다..
An Operator is an application that encodes the domain knowledge of the application and extends the Kubernetes API through custom resources. They enable users to create, configure, and manage their applications. Operators have been around for a while now, and that has allowed for patterns and best practices to be developed.
In this talk, Lili will explain what operators are in the context of Kubernetes and present the different tools out there to create and maintain operators over time. She will end by demoing the building of an operator from scratch, and also using the helper tools available out there.
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...Amazon Web Services Korea
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study
이 세션에서는 넥슨의 Case study를 통하여 글로벌플랫폼 구축을 위해 기존 플랫폼을 AWS로 Migration하는 과정 및 발생가능한 이슈를 공유합니다. 넥슨이 DB서버를 이전하는 과정 속에서 마주한 기술적 고민과 이슈를 통하여 AWS 활용 시 고려해야 할 부분들에 대해 소개하고 함께 이야기 나누고자 합니다.
AWS의 CDN 서비스인 CloudFront의 가속 및 DDoS 방어 소개
# CloudFront 장점
- 수퍼 PoP: AWS 클라우드 구축/운영 Know-How 가 담긴 고성능/대용량 아키텍쳐
* 국내 최대 Capacity / 가장 빠르게 성장하는 글로벌 CDN 서비스
- Single-Service: (캐싱, 다이나믹 가속, HTTPS, AWS Shield Standard 등) 동일 가격 체계로 제공
- AWS Backbone 전용망: Edge <=> Origin 가속
- 인라인 DDoS 방어: Shield Standard & Advance
- AWS 서비스 연동성
아마존 웹 서비스의 경우, 스타트업 부터 엔터프라이지까지 개발자 및 인프라 운영 엔지니어들이 주로 사용하는 것으로 알려져 있습니다. 하지만, 블로거로서 일반인들도 AWS 서비스를 유용하게 사용할 수 있습니다. 본 자료는 4주 완성으로 알파 사용자들이 아마존 웹 서비스를 활용하는 방법을 스터디 길잡이 입니다.
대상: 워드 프레스를 자체 서버로 블로그를 운영하려는 블로거, 포트폴리오 사이트를 운영하는 웹 디자이너, 클라우드를 통한 안정적인 소규모 워드프레스를 운영하려는 스타트업 등
얻을 수 있는 것:
1. 클라우드 컴퓨팅의 개념과 AWS 서비스에 대한 이해
2. AWS의 도메인 관리, 스토리지 및 동영상 인코등, 이메일 전송 서비스 활용 지식 습득
3. 복잡한 서버 운영 (콘솔 및 커맨드)과 DB 관리 없이도 안정적인 워드 프레스 운영 노하우 습득
주차별 스터디 내용:
<1주> AWS 소개 및 처음 할 일
1. 클라우드 컴퓨팅 및 AWS 서비스 소개
2. AWS 가입 및 빌링 알람 설정(CloudWatch)
3. AWS Activate 프로그램 가입 및 사용 방법
<2주> 서버 없이 웹 사이트 호스팅하기
1. S3에 파일 서버 구축하기(S3 지원 FTP 클라이언트 사용법)
2. AWS 사용자 및 크리덴셜 만들기(IAM)
3. S3에 정적 웹 사이트 운영하기
4. CloudFront로 콘텐츠 배포하기
5. 도메인 네임 관리 및 설정하기(Route53)
<3주> Elastic Beanstalk으로 워드프레스 운영하기
1. AWS 아키텍쳐 이해하기 (EC2/ELB/RDS/AutoScaling)
2. 5분만에 확장 가능한 워드프레스 구성하기(CloudFormation)
3. Elastic Beanstalk으로 워드프레스 운영하기
4. WordPress 로컬 서버 및 GIT 레포지터리 설치하기
<4주> 유용한 AWS 서비스 활용하기
1. Elastic Beanstalk 설정 및 배포하기
2. Elastic Transcoder를 통한 자동 동영상 인코딩 하기
3. SES를 통해 대용량 이메일 보내기
발표 동영상: https://youtu.be/pWhqR-Wo5Ks
AWS를 처음 시작하는 분들을 위해 손쉽고 빠르게 애플리케이션을 배포하는 방법을 살펴봅니다. Amazon S3 정적 웹호스팅 부터 가상 사설 서버 Lightsail, 그리고 ElasticBeanstalk와 같은 관리형 서비스, AWS Fargate 및 Lambda 기반 서버리스 웹 애플리케이션 배포 옵션을 소개합니다. 본 세션을 통해 개인 개발자 부터 스타트업, 엔터프라이즈 개발팀까지 클라우드 기반 백엔드 구성 방식을 배울 수 있습니다.
- 동영상 보기: https://www.youtube.com/watch?v=Rq4I57eqIp4
Amazon RDS 프록시는 Amazon Relational Database Service (RDS)를 위한 완전 관리형 고가용성 데이터베이스 프록시로, 애플리케이션의 확장 성, 데이터베이스 장애에 대한 탄력성 및 보안 성을 향상시킬 수 있습니다. (2020년 6월 서울 리전 출시)
AWS 클라우드를 활용하면 사용자의 트래픽에 따라 IT 인프라 아키텍처를 확장할 수 있습니다. 이번 강연에서는 서비스 초기의 작은 트래픽에 대응할 수 있는 단순한 아키텍처로 시작해 사업 성장 후의 수백만 사용자에 달하는 대규모 트래픽을 지탱할 수 있는 고확장성 아키텍처에 이르기까지의 단계별 아키텍처 구성 방법에 대해 소개해 드리고 컴퓨팅 및 데이터베이스 선택 및 사용자 증가에 따른 트래픽 경감 방법, 오토스케일링 및 모니터링과 자동화, DB 부하 분산, 고가용성 확보 등에 대한 다양한 모범사례를 알려드릴 예정입니다.
* 발표 동영상: https://youtu.be/xWSk3h4IlcY
데브옵스는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합입니다. 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있도록 AWS 에서는 어떻게 도움 드릴 수 있는지 알아봅니다.
모바일 퍼스트 시대에서 점점 더 고객과의 접점이 늘어나고 있습니다. 다양한 비금융 애플리케이션은 고객들의 수요에 탄력적으로 대응할 수 있는 시스템이 필요합니다. 본 강연에서는 AWS 위에서 최적의 솔루션을 구현하는 방안에 대해 공유합니다.
연사: 이창수 솔루션 아키텍트, 아마존 웹서비스
AWS를 활용한 글로벌 오피스 업무 환경 구축하기
류한진, 이랜드시스템스
AWS를 이용하면 쉽고 빠르게 전세계에 있는 데이터센터와 네트워크를 이용하여 글로벌 서비스를 구축할 수 있습니다. 본 세션에서는 전세계의 AWS 데이터 센터 및 온프레미스와 연결하는 글로벌 하이브리드 네트워크를 구성하는 방법과 고려할 점을 살펴봅니다. 그리고 이를 토대로 가상 업무 공유 서비스인 Amazon Workspace와 Amazon Workdocs, Amazon Appstream을 활용하여 단기간에 쉽고 빠르게 해외 근무자를 위한 근무 환경을 만들어 운영하는 방법을 공유합니다.
Similar to 서비스 무중단 마이그레이션 : KT에서 Amazon으로 (20)
2. 작성자 소개
방신우 Sin-Woo Bang
이메일 : sinwoobang@add2paper.com
Github : https://github.com/sinwoobang/
사이트 : http://sinwoobang.me/
3. 내용 소개
- 중규모 아키텍처(1)
이전 경험을 공유합니다.
- 서비스 무중단 이전 경험을 공유합니다.
- 백엔드 어플리케이션, DB, 캐시, DNS 작업 등이 있습니다.
- 인력 한계로 AWS SaaS(ex. RDS, ElastiCache)를 일부 사용하지 않았습니다.
(1) 대규모까진 아니라 편의로 붙인 이름입니다. 동시 접속자 4,000명 미만을 기준 잡았습니다.
4. 애드투페이퍼
- 대학생 대상 무료 출력 제공
- 누적 회원 70만명
- 전국 132개 대학교 사용
- 약 5,000곳 PC 클라이언트 설치
5. - 학생 : 모바일 앱 / 모바일 웹 / PC 웹 / PC
클라이언트
- 광고주 : PC 웹
- 현장 관리자 : PC 웹
- 사내 관리자 : PC 웹
플랫폼
6. 기존 서버 스택(~2017.8)
- 2013년 글에서 큰 틀에서 동일
- KT 유클라우드 약 5년 이용
- 핵심
- AP 서버(Python/Django)
- 캐시 서버(Memcached)
- 비동기 워커 서버(Redis)
- 크론 서버(Crontab, Python/Django)
- DB 서버(MySQL 5.5, Master-Slave)
7. - Amazon Web Services(AWS)
- AP 서버(EC2)
- 캐시 서버(EC2)
- 비동기 워커 서버(EC2)
- 크론 서버(EC2)
- DB 서버(EC2, Master-Slave)
이외에도 DB 프록시 서버 등이 있지만 주제에 집중하기 위해 적지 않았습니다.
현재 스택
8. 1. AWS에 서비스를 띄운다.
2. 유클라우드에 연결된 도메인을 AWS로 연결한다.
검토 : 무엇을 해야하는가
9. 1. AWS에 서비스를 띄운다.
a. 무중단으로 이전하려면
b. 유클라우드와 동일하게 서비스를 띄워야한다.
검토 : 무엇을 해야하는가
10. 1. AWS에 서비스를 띄운다.
a. 무중단으로 이전하려면
b. 유클라우드와 동일하게 서비스를 띄워야한다.
c. 동일하게 띄우려면
i. AP를 띄워야한다.
검토 : 무엇을 해야하는가
11. 1. AWS에 서비스를 띄운다.
a. 무중단으로 이전하려면
b. 유클라우드와 동일하게 서비스를 띄워야한다.
c. 동일하게 띄우려면
i. AP를 띄워야한다.
ii. AP를 띄우려면
1. DB
2. 캐시
3. 비동기 워커
4. 크론
검토 : 무엇을 해야하는가
12. AWS에 서비스를 띄운다 : 1차 전략
유클라우드 AWS
AP
DB
비동기 워커
AP
캐시
크론
비동기 워커
크론
13. AWS에 서비스를 띄운다 : 1차 전략
1. DB : 유클라우드 연결
2. 캐시 : 이전 완료까지 제거
a. 고려했던 것들
i. AWS에 새로운 캐시 서버 생성
1. 새로운 값은 새로운 캐시 서버에 SET
2. 한계 : 완벽 이전까지 며칠을 기다려야 하는 문제
3. 서비스가 캐시 의존적이지도 않았다.
ii. repcached : 공식 홈페이지 다수 링크가 404. 신뢰 불가.
b. 캐시 제외했을때 100ms 지연 발생. 잠깐이면 감당할만하다고 판단.
c. 캐시값이 없으면 DB를 바라보도록 의존성 제거.
3. 비동기 워커는 유클라우드, AWS 동시 운영해도 무관
4. 크론도 스케쥴 분리하여 유클라우드, AWS 동시 운영
14. AWS에 서비스를 띄운다 : 1차 전략
1. DB : 유클라우드 연결
a. 기존에 내부 IP로 통신
b. AWS와 유클라우드 간 외부 통신 필요
c. 유클라우드 MySQL Master 방화벽 설정 변경
i. 기존 : 외부 IP 통신 불허
ii. 변경 : AWS AP IP만 통신 허용
d. 유클라우드 MySQL Master - AWS AP 통신 : SSH 터널링 구성
i. 고려했던 것들
1. 도메인 기반 SSL 사용
a. 편리
b. 한계 : 인증서가 서비스 단일 도메인만 존재
15. AWS에 서비스를 띄운다 : 1차 전략 완료
1. 1차 전략 완료
2. ELB IP로 직접 연결하여 테스트
3. AWS에서도 서비스 정상 작동(환호)
16. AWS에 서비스를 띄운다 : 2차 전략
유클라우드 AWS
AP
DB
비동기 워커
AP
캐시
크론
비동기 워커
크론
DB
17. AWS에 서비스를 띄운다 : 2차 전략
1. DB 이전 큰 그림
a. 유클라우드 MySQL Master - AWS MySQL Slave 구성
b. AWS MySQL Slave를 Master로 승격
2. 큰 그림만 마치면 이전 95% 완료
25. AWS에 서비스를 띄운다 : 2차 전략
유클라우드 AWS
AP
DB
비동기 워커
AP
캐시
크론
비동기 워커
크론
DB
26. AWS에 서비스를 띄운다 : 2차 전략
1. DB 이전 큰 그림
a. 유클라우드 MySQL Master - AWS MySQL Slave 구성
b. AWS MySQL Slave를 Master로 승격
2. 큰 그림만 마치면 이전 95% 완료
27. AWS에 서비스를 띄운다 : 2차 전략
1. DB 이전 큰 그림
a. 유클라우드 MySQL Master - AWS MySQL Slave 구성
i. SSH 터널링 구성
ii. Slave 무중단 생성 : Percona XtraBackup https://goo.gl/6hB1mn
b. 유클라우드 AP - AWS MySQL Slave간 SSH 터널링 구성
c. AWS MySQL Slave를 Master로 승격
i. Slave) STOP SLAVE
d. AP DB IP를 Slave IP로 변경 후 배포
28. AWS에 서비스를 띄운다 : 2차 전략
1. DB 이전 큰 그림
a. 유클라우드 MySQL Master - AWS MySQL Slave 구성
i. SSH 터널링 구성
ii. Slave 무중단 생성 : Percona XtraBackup https://goo.gl/6hB1mn
b. 유클라우드 AP - AWS MySQL Slave간 SSH 터널링 구성
c. AWS MySQL Slave를 Master로 승격
i. Slave) STOP SLAVE
d. AP DB IP를 Slave IP로 변경 후 배포
2. 서비스 정상 작동 확인
29. 1. 비동기 워커
a. KT, AWS 동시 운영 후 KT AP 트래픽이 사라지자 비동기 워커도 자동 소멸
2. 크론
a. KT, AWS 동시 운영 후 스케쥴별로 점진 이전
3. HTTPS 트래픽
a. 유클라우드 사용 시절 HTTP, HTTPS 로드밸런서를 따로 운영
i. 유클라우드 서비스 초기 HTTPS 로드밸런서 미지원
ii. HTTP 트래픽을 먼저 옮기고 HTTPS는 차후 이전하였음.
4. 고정 IP 대응
a. 일부 클라이언트(학교) 방화벽 정책 : IP 화이트리스트
b. 고정 IP는 구입 불가
c. 해당 IP에서 운영중인 서버를 프록시 서버로 전환
d. 프록시 서버는 AWS 서버 HTTP 호출
ETC
30. Q&A
1. 왜 AWS RDS, DMS를 사용하지 않았나요?
a. MySQL 5.5 GTID 미지원
b. MySQL 5.5 binlog_format=STATEMENT 상태
c. Percona XtraBackup은 디렉토리 직접 접근 필요하나 RDS는 SSH 접속 미지원