Fastly 서비스 구성
클라우드 인프라 스테이징 및 프로덕션 환경의 Adobe Commerce에는 Fastly가 필요합니다.
Fastly는 Vannish와 함께 작동하여 정적 에셋에 대한 빠른 캐싱 기능과 CDN(Content Delivery Network)을 제공합니다. 또한 Fastly는 사이트 및 클라우드 인프라를 보호하기 위한 웹 애플리케이션 방화벽(WAF)을 제공합니다. 악성 트래픽 및 공격으로부터 사이트 및 클라우드 인프라를 보호하려면 들어오는 모든 사이트 트래픽을 Fastly를 통해 라우팅합니다.
다음 단계를 완료하여 사이트 개발 프로세스 초기에 Fastly를 활성화, 구성 및 테스트하여 사이트에 대한 보안 액세스를 활성화합니다.
- 스테이징 및 프로덕션 환경에 대한 Fastly 자격 증명 가져오기
- Fastly CDN 캐싱 활성화
- Fastly VCL 코드 조각 업로드
- Fastly 서비스로 트래픽을 라우팅하도록 DNS 구성 업데이트
- Fastly 캐싱 테스트
Fastly 자격 증명 가져오기
프로젝트를 프로비저닝하는 동안 Adobe은 클라우드 인프라의 Adobe Commerce에 대한 Fastly 서비스 계정에 프로젝트를 추가하고 스타터 master
및 Pro 스테이징 및 프로덕션 환경에 대한 Fastly 계정 자격 증명을 만듭니다. 각 환경에는 고유한 자격 증명이 있습니다.
관리자로부터 Fastly CDN 서비스를 구성하고 Fastly API 요청을 제출하려면 Fastly 자격 증명이 필요합니다.
다음 메서드를 사용하여 환경에 대한 Fastly 서비스 ID 및 API 토큰을 찾아 저장합니다.
Fastly 자격 증명을 보려면:
자격 증명을 보는 방법은 Pro 및 Starter 프로젝트에서 다릅니다.
-
IaaS 탑재 공유 디렉터리 - Pro 프로젝트에서 SSH를 사용하여 서버에 연결하고
/mnt/shared/fastly_tokens.txt
파일에서 Fastly 자격 증명을 가져옵니다. 스테이징 및 프로덕션 환경에는 고유한 자격 증명이 있습니다. 각 환경에 대한 자격 증명을 가져와야 합니다. -
로컬 작업 영역—명령줄에서
magento-cloud
CLI를 사용하여 Fastly 환경 변수를 나열하고 검토합니다.code language-bash magento-cloud variable:get -e <environment-ID>
-
Cloud Console - 환경 구성에서 다음 환경 변수를 확인하십시오.
-
CONFIG__DEFAULT__SYSTEM__FULL_PAGE_CACHE__FASTLY__FASTLY_API_KEY
-
CONFIG__DEFAULT__SYSTEM__FULL_PAGE_CACHE__FASTLY__FASTLY_SERVICE_ID
-
Fastly 캐싱 활성화
Fastly 서비스를 활성화하고 구성하려면 다음 구성 요소가 필요합니다.
-
스테이징 및 프로덕션 환경에 설치된 Magento 2 모듈용 Fastly CDN의 최신 버전입니다. 빠르게 업그레이드를 참조하세요.
-
클라우드 인프라 스테이징 및 프로덕션 환경의 Adobe Commerce에 대한 Fastly 자격 증명
스테이징 및 프로덕션에서 Fastly CDN 캐싱을 사용하려면:
Fastly 자격 증명 테스트
-
관리자의 경우 스토어 > 설정 > 구성 > 고급 > 시스템 > 빠른 구성 으로 이동합니다.
-
필요한 경우 프로젝트 환경에 대해 Fastly 서비스 ID 및 API 토큰 값을 추가하십시오.
note note NOTE Fastly API 토큰을 만들 링크를 선택하지 마십시오. 대신 Adobe에서 제공한 🔗 Adobe에서 제공한 Fastly 자격 증명(서비스 ID 및 API 토큰)을 사용하십시오. -
자격 증명 테스트 를 클릭합니다.
-
테스트가 성공하면 구성 저장 을 클릭한 다음 캐시를 지웁니다.
테스트가 실패하면 올바른 서비스 ID 및 API 토큰 값이 현재 환경의 자격 증명과 일치하는지 확인하십시오.
테스트가 다시 실패하면 Adobe Commerce 지원 티켓을 제출하거나 Adobe 계정 담당자에게 문의하십시오. Pro 프로젝트의 경우 프로덕션 및 스테이징 사이트의 URL을 포함합니다. 시작 프로젝트의 경우
Master
및 스테이징 사이트의 URL을 포함하십시오.
VCL을 Fastly에 업로드
Fastly 모듈을 사용하도록 설정한 후 기본 VCL 코드를 Fastly 서버에 업로드합니다. 이 코드는 클라우드 인프라에서 Adobe Commerce에 대한 캐싱 및 기타 Fastly CDN 서비스를 사용하도록 설정하는 구성 설정을 지정하는 일련의 VCL 코드 조각을 제공합니다.
가장 빠른 VCL을 업로드하려면:
-
다음 그림과 같이 Fastly 구성 섹션에서 Fastly에 VCL 업로드 를 클릭합니다.
-
업로드가 완료되면 페이지 상단의 알림에 따라 캐시를 새로 고칩니다.
SSL/TLS 인증서 프로비저닝
Adobe은 Fastly에서 보안 HTTPS 트래픽을 제공하기 위해 도메인에 의해 검증된 Let's Encrypt SSL/TLS 인증서를 제공합니다. Adobe은 각 Pro 프로덕션, 스테이징 및 스타터 프로덕션 환경에 대해 하나의 인증서를 제공하여 해당 환경의 모든 도메인을 보호합니다. 제공된 인증서에 대한 자세한 내용은 클라우드 인프라의 Adobe Commerce에 대한 SSL(TLS) 인증서 Adobe을 참조하십시오.
Adobe Commerce 환경에 대한 SSL/TLS 인증서를 활성화하려면 Adobe 자동화는 다음 단계를 완료합니다.
- 도메인 소유권 확인
- 스토어에 대해 지정된 최상위 수준 및 하위 도메인을 포함하는 Let's Encrypt SSL/TLS 인증서 프로비저닝
- 사이트가 라이브 상태일 때 클라우드 환경에 인증서를 업로드합니다
이 자동화를 사용하려면 사이트에 대한 DNS 구성을 업데이트하여 도메인 유효성 검사 정보를 제공해야 합니다. 다음 메서드 중 one 을(를) 사용합니다.
- DNS 유효성 검사-라이브 사이트의 경우 Fastly 서비스를 가리키는 CNAME 레코드로 DNS 구성을 업데이트하십시오
- ACME 챌린지 CNAME 레코드-환경의 각 도메인에 대해 Adobe이 제공한 ACME 챌린지 CNAME 레코드로 DNS 구성을 업데이트합니다.
도메인 유효성 검사가 완료되면 Adobe은 Let's Encrypt TLS/SSL 인증서를 프로비저닝하고 라이브 스테이징 또는 프로덕션 환경에 업로드합니다. 이 프로세스는 최대 12시간 정도 소요될 수 있습니다. 사이트 개발 및 사이트 실행이 지연되지 않도록 며칠 전에 DNS 구성 업데이트를 완료하는 것이 좋습니다.
개발 설정으로 DNS 구성 업데이트
초기 Fastly 설정 프로세스 중에 다음 URL을 사용하여 스테이징 및 프로덕션 환경에서 Fastly 캐싱을 구성하고 테스트할 수 있습니다.
-
Pro Staging 및 프로덕션의 경우
mcprod.<your-domain>.com
mcstaging.<your-domain>.com
-
스타터 프로덕션의 경우:
mcprod.<your-domain>.com
이러한 기본 사전 프로덕션 URL은 프로젝트가 프로비저닝된 후에 사용할 수 있습니다. "your-domain"
의 값은 온보딩 프로세스 중에 지정한 도메인 이름입니다.
스토어 URL에서 Fastly 서비스로 트래픽을 라우팅하려면 DNS 구성을 업데이트합니다. 구성을 업데이트하면 Adobe에서 필요한 SSL/TLS 인증서를 자동으로 프로비저닝하고 클라우드 환경에 업로드합니다. 이 프로비저닝은 최대 12시간 정도 소요될 수 있습니다.
필수 구성 요소:
개발을 위해 DNS 구성을 업데이트하려면:
-
CNAME 레코드
prod.magentocloud.map.fastly.net
을(를) 추가하여 Fastly 서비스로 사전 프로덕션 URL을 지정합니다. 예:table 0-row-2 1-row-2 2-row-2 도메인 또는 하위 도메인 CNAME mcprod.your-domain.com prod.magentocloud.map.fastly.net mcstaging.your-domain.com prod.magentocloud.map.fastly.net CNAME 레코드가 활성화되면 Adobe은 인증서를 프로비저닝하고 SSL/TLS 인증서를 업로드합니다.
note note NOTE 프로덕션 사이트에 apex 도메인( your-domain.com
)을 사용할 계획이라면 Fastly 서버 IP 주소를 가리키도록 DNS 주소 레코드(A 레코드)를 구성해야 합니다. 프로덕션 설정으로 DNS 구성 업데이트를 참조하십시오. -
다음과 같이 도메인 유효성 검사 및 프로덕션 SSL/TLS 인증서의 사전 프로비저닝에 대한 ACME 과제 CNAME 레코드를 추가합니다.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 도메인 또는 하위 도메인 CNAME _acme-challenge.your-domain.com 0123456789abcdef.validation.magento.cloud _acme-challenge.www.your-domain.com 9573186429stuvwx.validation.magento.com _acme-challenge.mystore.your-domain.com 1234567898zxywvu.validation.magento.cloud _acme-challenge.subdomain.your-domain.com 1098765743lmnopq.validation.magento.cloud note note NOTE 이 예제의 ACME 챌린지 레코드는 Adobe Commerce 스테이징 및 프로덕션 사이트를 프로비저닝하기 위한 것이 아닌 자리 표시자입니다. Adobe에 연락하여 프로젝트에 대한 올바른 ACME 챌린지 기록 정보를 얻으십시오. CNAME 레코드를 추가한 후, Adobe은 도메인의 유효성을 검사하고 환경에 대한 SSL/TLS 인증서를 프로비저닝합니다. 이러한 도메인에서 Fastly 서비스로 트래픽을 라우팅하도록 DNS 구성을 업데이트하면 Adobe이 환경에 인증서를 업로드합니다.
-
Adobe Commerce 기본 URL을 업데이트합니다.
-
SSH를 사용하여 프로덕션 환경에 로그인합니다.
code language-bash magento-cloud ssh
-
Cloud CLI를 사용하여 스토어의 기본 URL을 변경합니다.
code language-bash php bin/magento setup:store-config:set --base-url="https://mcstaging.your-domain.com/"
note note NOTE Cloud CLI를 사용하는 대신 관리자에서 기본 URL을 업데이트할 수 있습니다 -
-
웹 브라우저를 다시 시작합니다.
-
웹 사이트를 테스트합니다.
Fastly 캐싱 테스트
DNS 구성 변경을 완료한 후 cURL 명령줄 도구를 사용하여 Fastly 캐시가 작동하는지 확인하십시오.
응답 헤더를 확인하려면:
-
터미널에서 다음
curl
명령을 사용하여 라이브 사이트 URL을 테스트합니다.code language-bash curl -vo /dev/null -H Fastly-Debug:1 https://<live-URL>
정적 경로를 설정하지 않았거나 라이브 사이트의 도메인에 대한 DNS 구성을 완료한 경우 DNS 이름 확인을 무시하는
--resolve
플래그를 사용합니다.code language-bash curl -vo /dev/null -H Fastly-Debug:1 --resolve <live-URL-hostname>:443:<live-IP-address>
-
응답에서 headers을(를) 확인하여 Fastly가 작동하는지 확인하십시오. 응답에 다음의 고유한 헤더가 표시되어야 합니다.
code language-http < Fastly-Magento-VCL-Uploaded: yes < X-Cache: HIT, MISS
헤더에 올바른 값이 없으면 응답 헤더에서 발견된 오류 해결에서 문제 해결 도움말을 참조하십시오.
Fastly 모듈 업그레이드
Fastly는 Magento 2 모듈용 Fastly CDN을 업데이트하여 문제를 해결하고, 성능을 향상시키며, 새로운 기능을 제공합니다.
스테이징 및 프로덕션 환경의 Fastly 모듈을 최신 버전(으)로 업데이트하는 것이 좋습니다.
모듈을 업데이트한 후 VCL 코드를 업로드하여 변경 사항을 Fastly 서비스 구성에 적용해야 합니다.
Magento 2에 대한 Fastly CDN 모듈의 버전을 확인하려면:
-
클라우드 환경의 루트 디렉터리로 변경합니다.
-
작성기를 사용하여 설치된 버전을 확인합니다.
code language-bash composer show *fastly*
-
최신 릴리스이 설치되지 않은 경우 Fastly 모듈을 업그레이드하는 단계를 완료하십시오.
Fastly 모듈을 업그레이드하려면:
-
로컬 통합 환경에서 다음 모듈 정보를 사용하여 Fastly 모듈을 업그레이드합니다.
code language-text module name: fastly/magento2 repository: https://github.com/fastly/fastly-magento2.git
-
스테이징 환경에 업데이트를 푸시합니다.
-
스테이징 환경의 Admin에 로그인하여 VCL 코드를 업로드합니다.
-
Adobe Commerce 스테이징 사이트에서 Fastly 서비스를 확인합니다.
스테이징 사이트에서 Fastly 서비스를 확인한 후 프로덕션 환경에서 업그레이드 프로세스를 반복합니다.