CloudFront 및 ALB 적용된 WordPress 사이트에서 IP 주소를 통해 주어진 EC2 인스턴스로 요청을 배분

0. 소개



요 전날, 이하의 대응을 실시해,
  • CloudFront 또는 ALB 적용된 WordPress 사이트에서 새 버전의 AMIMOTO AMI(Amazon Linux)로 교체합니다. - Qiita

  • 그 후, 어떤 식으로 검증하면 좋을까라고 생각하고 있었습니다만,

    조사한 결과 ALB에서 IP 주소별로 대상 그룹으로의 배분을 할 수 있는 것 같아서 시도해 보았습니다.

     
    이 기사가 매우 도움이되었습니다.
  • CloudFront→ELB→EC2 구성에서 IP 주소 액세스 제어 - GeekFactory

  • 고마워요!

    🙇‍♂️

    1. 새 대상 그룹 생성 및 주어진 EC2 인스턴스 추가


  • 다음 문서의 단계를 참조하여 새 대상 그룹을 만듭니다.
  • CloudFront 적용된 WordPress 사이트에 ALB를 적용한 후 ALB - WordPress 간을 HTTP(80번)로 통신해 봅시다 - Qiita

  • 새 대상 그룹에 지정된 EC2 인스턴스를 대상으로 추가합니다.

  • 2. ALB 리스너 규칙 변경


  • 다음 사이트에서 자신의 기기의 IP 주소를 확인합니다.
  • IPv6을 테스트해 보세요.

  • 다음 ALB 콘솔에 액세스하고 원하는 ALB를 선택합니다.
  • 로드 밸런서 | EC2 Management Console

  • 리스너 탭을 선택하고 규칙 보기/편집 링크에서 규칙을 편집합니다.

  • 다음 설정을 참고하여 필요한 몇 분의 규칙을 추가합니다.
  • IF
  • HTTP 헤더 :
  • X-Forwarded-For
  • *XXX.XXX.XXX.XXX* ※ IPv4의 경우
  • *XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX* ※ IPv6의 경우


  • 호스트 :
  • ※ 소정의 호스트 ex) ~~~~.com


  • THEN
  • 전송처
  • ※새로 작성한 타겟 그룹 ex) XXXX-ALB-Routing-HTTP-New


  • ※ 참고
  • Application Load Balancer 리스너 규칙 - Elastic Load Balancing



  • 3. 실제로 브라우저에서 액세스하여 예상대로 배분이 이루어지고 있는지 확인


  • 다음 기사를 참고하여 nginx 액세스 로그에서 확인합니다.
  • ELB를 통한 nginx에서 액세스 소스 IP 주소를 액세스 로그의 $ remote_addr로 작성하도록 허용 - Qiita
  • remote_addr, x-forwarded-for 또는 x-real-ip - Carpe Diem


  • 99. 하마리 포인트


  • 거기까지는 아닙니다만…

  • ALB 리스너 규칙 설정에서 HTTP 헤더의 X-Forwarded-For 값 설정을 조금 알지 못했습니다.
  • 정규 표현을 어디까지 사용할 수 있을까? 등.
  • 실제로, 이번의 설정은 미묘하게 엄밀하지 않으므로, 그 점 주의해 주세요.

  • XX. 요약



    검증이라든가, 어떻게 할까…

    생각하고,

    CloudFront도 포함한, 검증 환경을 구축하는가, 멘도이….

    생각하고,

    어떻게든, 이 방법으로 블루 그린 할 수 있을 것이므로, 좋았습니다.

    참고가 되면♪

    좋은 웹페이지 즐겨찾기