Azure Database for MySQL의 연결 아키텍처

이 문서에서는 Azure Database for MySQL 연결 아키텍처에 대해 설명하고 Azure 내부 및 외부 클라이언트에서 보낸 트래픽이 Azure Database for MySQL 인스턴스로 전달되는 방식에 대해 설명합니다.

연결 아키텍처

Azure Database for MySQL에 대한 연결은 들어오는 연결을 클러스터에 있는 서버의 물리적 위치로 라우팅하는 게이트웨이를 통해 설정됩니다. 아래 다이어그램은 트래픽 흐름을 보여 줍니다.

연결 아키텍처 개요

클라이언트가 데이터베이스에 연결되면 서버에 대한 연결 문자열이 게이트웨이 IP 주소로 확인됩니다. 게이트웨이는 3306 포트에서 IP 주소를 수신 대기합니다. 데이터베이스 클러스터 내에서 트래픽은 해당 Azure Database for MySQL로 전달됩니다. 따라서 회사 네트워크 등에서 서버에 연결하려면 클라이언트 측 방화벽을 열어 아웃바운드 트래픽이 게이트웨이에 도달할 수 있도록 해야 합니다. 아래에서 지역별로 게이트웨이에서 사용하는 IP 주소의 전체 목록을 확인할 수 있습니다.

Azure Database for MySQL 게이트웨이 IP 주소

게이트웨이 서비스는 IP 주소 뒤에 있는 상태 비저장 컴퓨팅 노드 그룹에서 호스트되며 클라이언트가 Azure Database for MySQL 서버에 연결하려고 시도할 때 여기에 가장 먼저 도달합니다.

지속적인 서비스 유지 관리의 일환으로 당사에서는 게이트웨이를 호스트하는 컴퓨팅 하드웨어를 주기적으로 교체하여 가장 안전하고 성능이 뛰어난 환경을 제공합니다. 게이트웨이 하드웨어가 교체되면 먼저 새로운 계산 노드 링이 빌드됩니다. 이 새 링은 새로 만들어진 모든 Azure Database for MySQL 서버의 트래픽을 처리하며 트래픽을 구별하기 위해 같은 지역에 이전 게이트웨이 링과 다른 IP 주소를 갖게 됩니다. 새 링이 완전히 작동하게 되면 기존 서버를 처리하는 이전 게이트웨이 하드웨어는 해체될 계획입니다. 자신의 서버를 실행하고 이전 게이트웨이 링에 연결하는 고객은 게이트웨이 하드웨어가 해체되기 3개월 전에 메일과 Azure Portal을 통해 통지를 받게 됩니다. 애플리케이션의 연결 문자열에 게이트웨이 IP 주소를 하드 코딩한 경우

  • 게이트웨이 해제는 서버에 대한 연결에 영향을 미칠 수 있습니다. 이 방법은 사용하지 않는 것이 좋습니다. 애플리케이션의 연결 문자열에서는 서버의 FQDN(정규화된 도메인 이름)을 .mysql.database.azure.com 형식으로 사용해야 합니다.
  • 아웃바운드 트래픽이 새 게이트웨이 링에 도달할 수 있도록 하려면 클라이언트 쪽 방화벽에서 더 최신인 게이트웨이 IP 주소를 업데이트하지 말아야 합니다.

다음 표에는 모든 데이터 지역에 대한 Azure Database for MySQL 게이트웨이의 게이트웨이 IP 주소가 나열되어 있습니다. 아래 표에는 각 지역의 게이트웨이 IP 주소에 대한 최신 정보가 표시되어 있습니다. 아래 표에서 열은 다음을 나타냅니다.

  • 게이트웨이 IP 주소: 이 열에는 최신 세대의 하드웨어에서 호스트되는 현재 IP 주소가 나열되어 있습니다. 새 서버를 프로비저닝하는 경우 클라이언트 쪽 방화벽을 열어 이 열에 나열된 IP 주소에 대한 아웃바운드 트래픽을 허용하는 것이 좋습니다.
  • 게이트웨이 IP 주소(서비스 해제): 이 열에는 현재 서비스 해제 중인 이전 세대의 하드웨어에 호스트되는 게이트웨이의 IP 주소가 나열되어 있습니다. 새 서버를 프로비저닝하는 경우 해당 IP 주소를 무시할 수 있습니다. 아직은 해당 IP 주소가 서비스 해제되지 않았으므로 기존 서버를 가지고 있는 경우 해당 IP 주소에 대해 방화벽 아웃바운드 규칙을 계속 유지하세요. 해당 IP 주소에 대한 방화벽 규칙을 삭제하면 연결 오류가 발생할 수 있습니다. 대신 서비스 해제에 대한 알림을 받는 즉시 게이트웨이 IP 주소 열에 나열된 새 IP 주소를 아웃바운드 방화벽 규칙에 사전에 추가해야 합니다. 이렇게 하면 서버가 최신 게이트웨이 하드웨어로 마이그레이션될 때 서버에 대한 연결이 중단되지 않습니다.
  • 게이트웨이 IP 주소(서비스 해제됨): 이 열에는 서비스 해제가 완료되어 더 이상 작동하지 않는 게이트웨이 링의 IP 주소가 나열되어 있습니다. 아웃 바운드 방화벽 규칙에서 해당 IP 주소를 안전하게 제거할 수 있습니다.
지역 이름 게이트웨이 IP 주소 게이트웨이 IP 주소(서비스 해제 중) 게이트웨이 IP 주소(서비스 해제됨)
오스트레일리아 중부 20.36.105.0
오스트레일리아 중부 2 20.36.113.0
오스트레일리아 동부 13.75.149.87, 40.79.161.1
오스트레일리아 동남부 191.239.192.109, 13.73.109.251
브라질 남부 191.233.201.8, 191.233.200.16 104.41.11.5
캐나다 중부 40.85.224.249
캐나다 동부 40.86.226.166
미국 중부 23.99.160.139, 52.182.136.37, 52.182.136.38 13.67.215.62
중국 동부 139.219.130.35
중국 동부 2 40.73.82.1
중국 북부 139.219.15.17
중국 북부 2 40.73.50.0
동아시아 191.234.2.139, 52.175.33.150, 13.75.33.20, 13.75.33.21
미국 동부 40.71.8.203, 40.71.83.113 40.121.158.30 191.238.6.43
미국 동부 2 40.70.144.38, 52.167.105.38 52.177.185.181
프랑스 중부 40.79.137.0, 40.79.129.1
프랑스 남부 40.79.177.0
독일 중부 51.4.144.100
독일 북부 51.116.56.0
독일 북동부 51.5.144.179
독일 중서부 51.116.152.0
인도 중부 104.211.96.159
인도 남부 104.211.224.146
인도 서부 104.211.160.80
일본 동부 40.79.192.23, 40.79.184.8 13.78.61.196
일본 서부 191.238.68.11, 40.74.96.6, 40.74.96.7 104.214.148.156
한국 중부 52.231.17.13 52.231.32.42
한국 남부 52.231.145.3 52.231.200.86
미국 중북부 52.162.104.35, 52.162.104.36 23.96.178.199
북유럽 52.138.224.6, 52.138.224.7 40.113.93.91 191.235.193.75
남아프리카 북부 102.133.152.0
남아프리카 공화국 서부 102.133.24.0
미국 중남부 104.214.16.39, 20.45.120.0 13.66.62.124 23.98.162.75
동남아시아 40.78.233.2, 23.98.80.12 104.43.15.0
스위스 북부 51.107.56.0
스위스 서부 51.107.152.0
아랍에미리트 중부 20.37.72.64
아랍에미리트 북부 65.52.248.0
영국 남부 51.140.184.11
영국 서부 51.141.8.11
미국 중서부 13.78.145.25
서유럽 13.69.105.208, 104.40.169.187 40.68.37.158 191.237.232.75
미국 서부 13.86.216.212, 13.86.217.212 104.42.238.205 23.99.34.75
미국 서부 2 13.66.136.192 13.66.226.202

연결 리디렉션

Azure Database for MySQL은 클라이언트 애플리케이션과 MySQL 서버 간의 네트워크 대기 시간을 줄이는 데 도움이 되는 추가 연결 정책인 리디렉션 을 지원합니다. 리디렉션 기능을 사용하고 초기 TCP 세션이 Azure Database for MySQL 서버에 설정되고 나면 서버에서 MySQL 서버를 호스트하는 노드의 백 엔드 주소를 클라이언트에 반환합니다. 그 후에는 모든 후속 패킷이 게이트웨이를 우회하고 서버로 직접 흐릅니다. 패킷이 서버로 직접 흐르므로 대기 시간 및 처리량이 개선됩니다.

이 기능은 엔진 버전이 5.6, 5.7, 8.0인 Azure Database for MySQL 서버에서 지원됩니다.

리디렉션에 대한 지원은 Microsoft에서 개발한 PHP mysqlnd_azure 확장으로 제공되며 PECL에서 제공됩니다. 애플리케이션에서 리디렉션을 사용하는 방법에 대한 자세한 내용은 리디렉션 구성 문서를 참조하세요.

중요

PHP mysqlnd_azure 확장의 리디렉션에 대한 지원은 현재 미리 보기 상태입니다.

질문과 대답

계획된 유지 관리에 대해 알아야 할 사항은 무엇인가요?

이는 DNS 변경에 불과하며 클라이언트에 투명합니다. DNS 서버에서 FQDN의 IP 주소가 변경되는 동안 로컬 DNS 캐시가 5분 이내에 새로 고쳐지며 이 작업은 운영 체제에서 자동으로 수행됩니다. 로컬 DNS가 새로 고쳐진 후에는 모든 새 연결이 새 IP 주소로 연결되고 모든 기존 연결은 이전 IP 주소가 완전히 해제될 때까지 이전 IP 주소로 연결된 상태로 중단 없이 유지됩니다. 이전 IP 주소가 서비스 해제되기까지는 약 3~4주가 소요되므로 클라이언트 애플리케이션에는 아무 영향을 미치지 않습니다.

서비스 해제란 무엇인가요?

게이트웨이 노드만 서비스 해제됩니다. 사용자가 자신의 서버에 연결할 때 연결이 서버에 전달되기 전 처음 도달하는 지점은 게이트웨이 노드입니다. 서비스 해제 대상은 서버가 실행 중인 테넌트 링이 아닌 이전 게이트웨이 링입니다. 자세한 설명은 연결 아키텍처를 참조하세요.

연결이 이전 게이트웨이 노드로 이동하는지 새 게이트웨이 노드로 이동하는지 어떻게 확인할 수 있나요?

서버의 FQDN(예: ping xxx.mysql.database.azure.com)을 Ping하세요. 반환된 IP 주소가 위 문서에서 게이트웨이 IP 주소(서비스 해제 중) 아래에 나열된 IP 중 하나라면 이는 연결이 이전 게이트웨이를 통과하고 있음을 의미합니다. 반면 반환된 IP 주소가 게이트웨이 IP 주소 아래에 나열된 IP 중 하나라면 이는 연결이 새 게이트웨이를 통과하고 있음을 의미합니다.

또한 포트 3306을 사용해 클라이언트 애플리케이션에서 데이터베이스 서버를 PSP 또는 TCPP하여 테스트하고 반환 IP 주소가 서비스 해제 중인 IP 주소 중 하나가 아닌지 확인할 수 있습니다.

유지 관리가 언제 종료되는지 알려면 어떻게 해야 하며 이전 IP 주소가 서비스 해제되면 다른 알림을 받게 되나요?

유지 관리 작업이 언제 시작되는지 알려주는 메일을 받게 됩니다. 유지 관리는 모든 지역에서 마이그레이션해야 하는 서버 수에 따라 최대 1개월이 걸릴 수 있습니다. 클라이언트가 FQDN이나 위 표에 있는 새 IP 주소를 사용하여 데이터베이스 서버에 연결되도록 준비하시기 바랍니다.

클라이언트 애플리케이션이 여전히 이전 게이트웨이 서버에 연결되는 경우 어떻게 해야 하나요?

이는 애플리케이션이 FQDN 대신 고정 IP 주소를 사용하여 서버에 연결된다는 것을 나타냅니다. 연결 문자열과 연결 풀링 설정, AKS 설정 또는 원본 코드까지도 검토하세요.

내 애플리케이션 연결에 미치는 영향이 있나요?

이 유지 관리는 DNS 변경에 불과하므로 클라이언트에 투명합니다. 클라이언트에서 DNS 캐시가 새로 고쳐지면(운영 체제에서 자동으로 수행됨) 모든 새 연결은 새 IP 주소에 연결되고 모든 기존 연결은 이전 IP 주소가 완전히 서비스 해제되는 몇 주 후까지 계속 작동합니다. 이 경우에 재시도 논리는 필요하지 않지만 애플리케이션에 재시도 논리가 구성되어 있어도 괜찮습니다. FQDN을 사용하여 데이터베이스 서버에 연결하거나 애플리케이션 연결 문자열에 새 ‘게이트웨이 IP 주소’가 나열되도록 설정하시기 바랍니다. 이 유지 관리 작업은 기존 연결을 삭제하지 않습니다. 새 연결 요청이 새 게이트웨이 링으로 이동하도록 할 뿐입니다.

특정 기간에 유지 관리가 수행되도록 요청할 수 있나요?

마이그레이션은 투명하게 실행되고 고객의 연결에 미치는 영향이 없으므로 대부분의 사용자에게 아무런 문제가 없을 것으로 예상됩니다. 사전에 애플리케이션을 검토하고 FQDN을 사용하여 데이터베이스 서버에 연결하거나 애플리케이션 연결 문자열에 새 ‘게이트웨이 IP 주소’가 나열되도록 설정하시기 바랍니다.

아니요. 유지 관리를 통해 서비스 해제되는 것은 게이트웨이 하드웨어이며 프라이빗 링크나 개인 IP 주소와는 아무 관계가 없습니다. 영향을 받는 것은 IP 주소 서비스 해제에서 언급된 공용 IP 주소뿐입니다.

다음 단계