Atlassian 데이터 센터 애플리케이션과 함께 CDN 사용
사용자가 전 세계에 분산되어 있고 데이터 센터 제품을 사용할 때 성능이 떨어지는 경우 CDN(Content Delivery Network)을 사용하여 사용자의 환경을 개선할 수 있습니다. 일반적인 CDN에는 AWS CloudFront, Cloudflare, Akamai 등이 있습니다.
CDN 지원은 다음 Data Center 버전에서 사용할 수 있습니다.
Jira Software 8.3
Jira Service Management (formerly Jira Service Desk) 4.3
Confluence 7.0
Bitbucket 6.8.
CDN으로 시작
다음은 Confluence Data Center에서 CDN을 활성화하는데 필요한 간단한 요약입니다.
당사의 템플릿을 사용하여 AWS CloudFront 배포를 확대하거나 원하는 CDN 공급업체와 계정을 만드십시오.
CDN이 사이트에 연결할 수 있도록 로드 밸런서와 방화벽을 업데이트합니다.
Confluence Data Center에서 CDN URL을 제공하고 CDN 지원을 사용하도록 설정합니다.
최종 사용자가 사이트에 액세스하면 정적 자산이 사이트에서 가장 가까운 위치의 에지 서버에 캐시되고 이 서버에서 만료될 때까지 제공됩니다. 즉, 사용자가 온라인 상태이고 각 위치에 있는 사이트에 액세스하는 경우에 따라 CDN의 영향을 측정하는데 시간이 걸릴 수 있습니다. 캐쉬를 미리 로드할 수 있는 기능을 제공하지 않으므로 자산이 처음 제공되는 대로 캐시됩니다.
프로덕션 사이트를 변경하기 전에 준비 환경에서 이 테스트를 수행하는 것이 좋습니다.
작동 방식
정적 자산(예: JavaScript, CSS 및 글꼴)은 사용자와 지리적으로 가까운 CDN 공급업체에서 제공하는 에지 서버에 캐시됩니다. 즉, 다른 사용자가 페이지를 볼 때 페이지를 표시하는데 필요한 자산 중 일부는 원본 서버가 아닌 해당 지역의 서버에 의해 배달됩니다. 이렇게 하면 페이지 로드 시간이 빨라질 수 있습니다.
예를 들어, 원본 서버가 독일에 있고 리우데자네이루에 위치한 사용자의 경우, CDN은 브라질의 에지 서버에서 정적 자산을 처리할 수 있기 때문에 페이지 로딩 시간을 최대 50%까지 단축할 수 있습니다. CDN을 처음 접하고 작동 방식에 대해 자세히 알고 싶으시다면 CloudFlare에서 훌륭한 소개를 해드립니다.(https://www.cloudflare.com/learning/cdn/performance/ 참조)
CDN을 사용한다고 해서 애플리케이션의 속도가 더 빨라지지는 않으며, 클러스터의 로드를 줄이고 일부 사용자가 경험하는 지연 시간을 줄여 사용자의 페이지 로드 시간이 더 빨라집니다.
CDN이 사용자에게 도움이 되는지 확인하는 방법
CDN이 사용자에게 도움이 되는지를 평가할 때 좋은 출발점은 사이트에서 경험하는 네트워크 오버헤드를 살펴보는 것입니다.
데이터 센터 응용 프로그램의 관리 콘솔에 있는 콘텐츠 전송 네트워크로 이동합니다. 성능 탭에는 전송 비용이 1초 이상 소요된 요청의 백분율이 표시됩니다. 간단히 말해 백분율이 높을수록 지연 시간 및 연결 품질과 같은 네트워크 상태에 의해 사용자 요청이 영향을 받을 가능성이 더 높습니다.
이 네트워크 통계는 사용자가 제품을 사용할 때 경험하는 네트워크 상태를 나타내는 유용한 지표입니다. 비율이 높으면 CDN을 사용하면 이러한 상황에서 사용자에게 도움이 될 수 있습니다.
사용자의 지리적 위치도 고려해야 합니다. 예를 들어, 서버가 프랑크푸르트에 있고 팀 대부분이 독일과 오스트리아에 있는 경우, 말레이시아에 있는 팀이 지연 시간이 길어 페이지 로딩 시간이 느려질 수 있습니다.
추적 경로, ping 및 mtr과 같은 네트워크 진단 도구는 경험하는 지연 시간을 결정하는 데 도움이 될 수 있습니다.
캐시된 항목은 무엇입니까?
데이터 센터 애플리케이션 또는 Marketplace 앱에서 제공하는 정적 자산만 캐시합니다. 데이터 센터 응용 프로그램 또는 응용 프로그램을 업그레이드할 때만 변경되는 사항입니다. 동적 콘텐츠는 캐시되지 않습니다.
다음은 CDN을 활성화할 때 캐시되는 항목에 대한 요약입니다.
캐시 됨 | 캐시되지 않음 |
---|---|
|
|
데이터 센터 제품이나 앱을 업그레이드할 때 캐시를 수동으로 무효화할 필요는 없습니다.
CDN 구현 계획
인프라 요구 사항
모든 원본 풀 CDN을 사용할 수 있습니다. CDN과 관련된 모든 비용은 사용자가 부담합니다.
최소한의 노력으로 Amazon CloudFront를 구성하는데 사용할 수 있는 CloudFormation 템플릿을 준비했습니다. 이 리포지토리 https://bitbucket.org/atlassian/atlassian-aws-deployment/src/master/templates/cdn/에서 모든 AWS 배포 리소스를 찾을 수 있습니다.
시작하기 전에 알아야 할 몇 가지 다른 인프라 요구 사항이 있습니다.
HTTP/2를 적극 권장합니다.
로드 밸런서, 방화벽 또는 프록시는 HTTP/2 트래픽을 허용해야합니다. HTTP/2를 사용하면 최종 사용자에게 최상의 성능을 제공합니다. 이를 수행하는 방법을 알아 보려면 특정 공급자의 설명서를 확인하십시오.방화벽 고려 사항
CDN은 정적 자산에 액세스하고 캐시할 수 있어야합니다. 인스턴스에 공개적으로 액세스할 수 없는 경우 CDN의 요청이 통과 할 수 있도록 방화벽을 일부 변경해야 합니다. CDN IP 범위는 예고없이 변경될 수 있으므로 표준 IP 범위 필터링 대신 애플리케이션 방화벽을 사용하는 것이 좋습니다.
프라이빗 인스턴스에 대한 고려 사항
사이트가 인터넷에서 공개적으로 액세스할 수 있는 경우 문제없이 CDN을 활성화할 수 있어야 합니다.
사이트에 공개적으로 액세스할 수 없는 경우 다음을 수행할 수 있습니다.
CDN의 요청이 통과할 수 있도록 방화벽을 구성하십시오.
CDN 공급 업체를 사용하는 대신 인터넷 트래픽을 열 필요가 없는 사용자에게 더 가까운 캐싱 서버를 설정하십시오.
Marketplace 앱 및 타사 사용자 지정
일부 마켓 플레이스 앱 또는 사용자 지정은 CDN 기능과 호환되지 않을 수 있습니다. Content Delivery Network 관리자 화면의 상태 확인을 통해 호환되지 않는 앱이 있는지 알 수 있습니다.