> For the complete documentation index, see [llms.txt](https://bangshinchul.gitbook.io/amazon-eks-workshop/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bangshinchul.gitbook.io/amazon-eks-workshop/amazon-eks-workshop.md).

# 멀티 어카운트 환경의 Amazon EKS 블루/그린 업그레이드 Workshop

<figure><img src="https://velog.velcdn.com/images/syb0228/post/e6879714-3d68-4616-a4ec-9b9c98a8cafb/image.png" alt=""><figcaption></figcaption></figure>

## 워크샵 소개

본 워크샵에서는 두 개의 AWS 어카운트 사이에서 Route53의 가중치 기반 라우팅 기능을 활용하여 Amazon EKS 클러스터의 블루/그린 환경을 구성하고, 이를 통해 쉽고 안전하게 클러스터를 업그레이드 할 수 있는 방법에 대해서 가이드 합니다. ([블루 그린 전략이란 무엇입니까?](/amazon-eks-workshop/what-is-blue-green-strategy.md))

총 예상 워크샵 진행 시간은 약 2시간이며, AWS 리소스(Amazon VPC, Amazon EC2, Amazon IAM, Route53, ELB 서비스 등) 및 Kubernetes에 대한 기초 지식이 있는 것을 전제로 진행합니다.

해당 워크샵을 진행하면서 아래 내용들을 직접 실습 해볼 수 있습니다.

* 두 계정 간 AWS 리소스를 액세스 할 수 있도록 교차 계정 액세스 설정을 합니다.
* 두 개의 Amazon EKS 클러스터 사이에 Route53 가중치 기반 라우팅 환경을 구성하여 블루/그린 배포 환경을 조성합니다.
* 쿠버네티스의 ExternalDNS 애드온을 활용하여 Route53 가중치 기반 라우팅 레코드를 쉽게 조작합니다.&#x20;

### &#x20;워크샵 아키텍처

<figure><img src="/files/TRJElWchvsDz1byHu7PJ" alt=""><figcaption></figcaption></figure>

## 주의 사항

{% hint style="info" %}
해당 워크샵에서는 **free tier를 넘어가는 다수의 서비스를 활용**하기 때문에 개인 계정을 사용하여 실습을 진행할 경우에는 **비용이 발생**할 수 있습니다.
{% endhint %}

{% hint style="info" %}
해당  워크샵에서는 Route53을 활용합니다. 따라서 개인 계정을 사용하여 실습을 진행할 경우에는 **본인 소유의 도메인 주소가 필요**합니다. 네임서버 설정이 가능한 도메인이 없을 경우 정상적인 실습 진행이 어려울 수 있습니다.
{% endhint %}

## 실습 시작에 앞서..

&#x20;워크샵 실습은 아래 두 개의 AWS 계정을 활용하여 진행됩니다.

* **계정 A**는 Route53을 관리합니다.
* **계정 B**는 Amazon EKS 워크로드를 관리합니다.

### 실습 시나리오 백그라운드

* 계정 A에 Route53 hosted zone이 구성되어 있는 상황
* 계정 B에 업그레이드 대상인 Amazon EKS 블루 클러스터와 최신 버전으로 미리 구성되어있는 Amazon EKS 그린 클러스터가 구성되어 있는 상황
* 계정 B에서 계정 A의 Route53 hosted zone을 활용하여, 블루 클러스터로 인입되는 트래픽을 그린 클러스터로 전환하고자 하는 상황

### &#x20;워크샵 대상

* 멀티 어카운트 환경에서 Amazon EKS 클러스터를 운영 중인 엔지니어

### &#x20;실습 시 도움이 되는 것

* IaC 활용 경험
* Typescript 프로그래밍 경험
* Kubernetes 운영 경험
