Traffic Manager 작동 방식How Traffic Manager Works

Azure Traffic Manager를 사용하면 애플리케이션 엔드포인트에 트래픽 분산을 제어할 수 있습니다.Azure Traffic Manager enables you to control the distribution of traffic across your application endpoints. 엔드포인트는 Azure의 내부 또는 외부에서 호스팅되는 모든 인터넷 연결 서비스입니다.An endpoint is any Internet-facing service hosted inside or outside of Azure.

Traffic Manager는 다음과 같은 두 가지 주요 이점을 제공합니다.Traffic Manager provides two key benefits:

클라이언트가 서비스에 연결하려고 시도하면 먼저 IP 주소에 대한 서비스의 DNS 이름을 확인합니다.When a client attempts to connect to a service, it must first resolve the DNS name of the service to an IP address. 그런 다음, 클라이언트는 해당 IP 주소에 연결하여 서비스에 액세스합니다.The client then connects to that IP address to access the service.

가장 중요한 사항은 Traffic Manager가 DNS 수준에서 작동한다는 점입니다.The most important point to understand is that Traffic Manager works at the DNS level. Traffic Manager는 DNS를 사용하여 트래픽 라우팅 메서드의 규칙에 따라 클라이언트를 특정 서비스 엔드포인트에 연결합니다.Traffic Manager uses DNS to direct clients to specific service endpoints based on the rules of the traffic-routing method. 클라이언트는 선택한 엔드포인트에 직접 연결됩니다.Clients connect to the selected endpoint directly. Traffic Manager는 프록시 또는 게이트웨이가 아닙니다.Traffic Manager is not a proxy or a gateway. Traffic Manager는 클라이언트와 서비스 간에 전달되는 트래픽을 표시하지 않습니다.Traffic Manager does not see the traffic passing between the client and the service.

Traffic Manager 예제Traffic Manager example

Contoso Corp에서 새 파트너 포털을 개발했습니다.Contoso Corp have developed a new partner portal. 이 포털의 URL은 https://partners.contoso.com/login.aspx입니다.The URL for this portal is https://partners.contoso.com/login.aspx. 애플리케이션은 3개의 Azure 지역에서 호스팅됩니다.The application is hosted in three regions of Azure. 가용성을 개선하고 전역 성능을 최대화하려면 Traffic Manager를 사용하여 클라이언트 트래픽을 사용 가능한 가장 가까운 엔드포인트에 배포합니다.To improve availability and maximize global performance, they use Traffic Manager to distribute client traffic to the closest available endpoint.

이 구성을 만들기 위해 다음 단계를 완료합니다.To achieve this configuration, they complete the following steps:

  1. 3개의 서비스 인스턴스를 배포합니다.Deploy three instances of their service. 이러한 배포의 DNS 이름은 'contoso us.cloudapp.net', 'contoso eu.cloudapp.net' 및 'contoso asia.cloudapp.net'입니다.The DNS names of these deployments are 'contoso-us.cloudapp.net', 'contoso-eu.cloudapp.net', and 'contoso-asia.cloudapp.net'.
  2. 'contoso.trafficmanager.net'이라는 Traffic Manager 프로필을 만들고 3개의 엔드포인트에서 '성능' 트래픽 라우팅 방법을 사용하도록 구성합니다.Create a Traffic Manager profile, named 'contoso.trafficmanager.net', and configure it to use the 'Performance' traffic-routing method across the three endpoints.
  3. DNS CNAME 레코드를 사용하여 베니티 도메인 이름 'partners.contoso.com'이 'contoso.trafficmanager.net'을 가리키도록 구성합니다.Configure their vanity domain name, 'partners.contoso.com', to point to 'contoso.trafficmanager.net', using a DNS CNAME record.

Traffic Manager DNS 구성

참고

Azure Traffic Manager에서 베니티 도메인을 사용할 때는 베니티 도메인 이름을 Traffic Manager 도메인 이름으로 가리키는 CNAME을 사용해야 합니다.When using a vanity domain with Azure Traffic Manager, you must use a CNAME to point your vanity domain name to your Traffic Manager domain name. DNS 표준은 도메인의 'apex'(또는 루트)에서 CNAME을 만들 수 없습니다.DNS standards do not allow you to create a CNAME at the 'apex' (or root) of a domain. 따라서 'contoso.com'('naked' 도메인이라고도 함)에 대한 CNAME을 만들 수 없습니다.Thus you cannot create a CNAME for 'contoso.com' (sometimes called a 'naked' domain). 'contoso.com'의 도메인(예: 'www.contoso.com')에 대해서만 CNAME을 만들 수 있습니다.You can only create a CNAME for a domain under 'contoso.com', such as 'www.contoso.com'. 이 제한을 해결하려면 Azure DNS에서 DNS 도메인을 호스팅하고 별칭 레코드를 사용하여 트래픽 관리자 프로필을 가리키는 것이 좋습니다.To work around this limitation, we recommend hosting your DNS domain on Azure DNS and using Alias records to point to your traffic manager profile. 또는 간단한 HTTP 리디렉션을 사용하여 'contoso.com'에 대한 직접 요청을 'www.contoso.com'.과 같은 대체 이름으로 지정할 수 있습니다.Alternatively you can use a simple HTTP redirect to direct requests for 'contoso.com' to an alternative name such as 'www.contoso.com'.

Traffic Manager를 사용하여 클라이언트를 연결하는 방법How clients connect using Traffic Manager

이전 예제를 계속하면 클라이언트가 https://partners.contoso.com/login.aspx 페이지를 요청하는 경우 클라이언트는 다음 단계를 수행하여 DNS 이름을 확인하고 연결을 설정합니다.Continuing from the previous example, when a client requests the page https://partners.contoso.com/login.aspx, the client performs the following steps to resolve the DNS name and establish a connection:

Traffic Manager를 사용하여 연결 설정

  1. 클라이언트는 DNS 쿼리를 구성된 재귀 DNS 서비스로 전송하여 'partners.contoso.com'이라는 이름을 확인합니다.The client sends a DNS query to its configured recursive DNS service to resolve the name 'partners.contoso.com'. '로컬 DNS' 서비스라고도 하는 재귀 DNS 서비스는 DNS 도메인을 직접 호스트하지 않습니다.A recursive DNS service, sometimes called a 'local DNS' service, does not host DNS domains directly. 대신 클라이언트에서는 DNS 이름을 확인하는 데 필요한 인터넷에 권한 있는 다양한 DNS 서비스를 연결하는 작업을 오프로드합니다.Rather, the client off-loads the work of contacting the various authoritative DNS services across the Internet needed to resolve a DNS name.

  2. DNS 이름을 확인하기 위해 재귀 DNS 서비스는 'contoso.com' 도메인에 대한 이름 서버를 찾습니다.To resolve the DNS name, the recursive DNS service finds the name servers for the 'contoso.com' domain. 그런 다음 이러한 이름 서버에 연결하여 'partners.contoso.com' DNS 레코드를 요청합니다.It then contacts those name servers to request the 'partners.contoso.com' DNS record. contoso.com DNS 서버는 contoso.trafficmanager.net을 가리키는 CNAME 레코드를 반환합니다.The contoso.com DNS servers return the CNAME record that points to contoso.trafficmanager.net.

  3. 다음으로 재귀 DNS 서비스는 Azure Traffic Manager 서비스에서 제공하는 'trafficmanager.net' 도메인에 대한 이름 서버를 찾습니다.Next, the recursive DNS service finds the name servers for the 'trafficmanager.net' domain, which are provided by the Azure Traffic Manager service. 그런 다음 해당 DNS 서버에 'contoso.trafficmanager.net' DNS 레코드에 대한 요청을 보냅니다.It then sends a request for the 'contoso.trafficmanager.net' DNS record to those DNS servers.

  4. Traffic Manager 이름 서버가 요청을 받습니다.The Traffic Manager name servers receive the request. 다음 항목에 따라 엔드포인트를 선택합니다.They choose an endpoint based on:

  5. 선택한 엔드포인트는 다른 DNS CNAME 레코드로 반환됩니다.The chosen endpoint is returned as another DNS CNAME record. 이 경우 contoso-eu.cloudapp.net이 반환 된다고 가정해 보겠습니다.In this case, let us suppose contoso-eu.cloudapp.net is returned.

  6. 다음으로 재귀 DNS 서비스가 'cloudapp.net' 도메인에 대한 이름 서버를 찾습니다.Next, the recursive DNS service finds the name servers for the 'cloudapp.net' domain. 이러한 이름 서버에 연결 하 여 ' contoso-eu.cloudapp.net ' DNS 레코드를 요청 합니다.It contacts those name servers to request the 'contoso-eu.cloudapp.net' DNS record. EU 기반 서비스 끝점의 IP 주소를 포함 하는 DNS ' A ' 레코드가 반환 됩니다.A DNS 'A' record containing the IP address of the EU-based service endpoint is returned.

  7. 재귀 DNS 서비스는 결과를 통합하고 클라이언트에 단일 DNS 응답을 반환합니다.The recursive DNS service consolidates the results and returns a single DNS response to the client.

  8. 클라이언트는 DNS 결과를 받고 지정 IP 주소에 연결합니다.The client receives the DNS results and connects to the given IP address. 클라이언트는 Traffic Manager를 통해서가 아니라 직접 애플리케이션 서비스 엔드포인트에 연결합니다.The client connects to the application service endpoint directly, not through Traffic Manager. 해당 엔드포인트는 HTTPS 엔드포인트이므로 클라이언트는 필요한 SSL/TLS 핸드셰이크를 수행한 다음 ‘/login.aspx’ 페이지에 대해 HTTP GET 요청을 합니다.Since it is an HTTPS endpoint, the client performs the necessary SSL/TLS handshake, and then makes an HTTP GET request for the '/login.aspx' page.

재귀 DNS 서비스는 받는 DNS 응답을 캐시합니다.The recursive DNS service caches the DNS responses it receives. 클라이언트 디바이스의 DNS 확인자도 결과를 캐시합니다.The DNS resolver on the client device also caches the result. 캐싱을 통해 후속 DNS 쿼리는 다른 이름 서버를 쿼리하는 대신 캐시의 데이터를 사용하여 더 신속하게 답변을 받을 수 있습니다.Caching enables subsequent DNS queries to be answered more quickly by using data from the cache rather than querying other name servers. 캐시의 기간은 각 DNS 레코드의 'TTL(time-to-live)' 속성에 의해 결정됩니다.The duration of the cache is determined by the 'time-to-live' (TTL) property of each DNS record. 짧은 값은 캐시가 빨리 만료되므로 Traffic Manager 이름 서버에 여러 차례의 왕복이 발생합니다.Shorter values result in faster cache expiry and thus more round-trips to the Traffic Manager name servers. 긴 값은 실패한 엔드포인트에서 트래픽을 멀리 이동하는 데 더 긴 시간이 걸립니다.Longer values mean that it can take longer to direct traffic away from a failed endpoint. Traffic Manager를 사용하면 Traffic Manager DNS 응답에 사용되는 TTL을 0초에서 2,147,483,647초(RFC-1035에 따른 최대 범위) 사이로 구성할 수 있으므로 애플리케이션의 요구에 가장 맞는 값을 선택할 수 있습니다.Traffic Manager allows you to configure the TTL used in Traffic Manager DNS responses to be as low as 0 seconds and as high as 2,147,483,647 seconds (the maximum range compliant with RFC-1035), enabling you to choose the value that best balances the needs of your application.

FAQFAQs

다음 단계Next steps

Traffic Manager 엔드포인트 모니터링 및 자동 장애 조치(failover)에 대해 자세히 알아봅니다.Learn more about Traffic Manager endpoint monitoring and automatic failover.

Traffic Manager 트래픽 라우팅 방법에 대해 자세히 알아봅니다.Learn more about Traffic Manager traffic routing methods.