EC2에서 내부에 서 리버스 프록시를 통해 외부 API에 액세스하는 방법

1510 단어 프록시natAWS

용건


  • 타사의 API를 두드릴 때 IP 제한을 걸 수있는 것이 남아 있기 때문에 고정 IP로하고 싶다
  • EC2에는 EIP라는 고정 IP가 있지만 WEB 서버의 특성상 서버 수가 불변하지 않기 때문에 EIP를 방화벽으로 설정하는 것은 바람직하지 않습니다.
  • WEB 서버 전대에 EIP를 붙이고 있으면 분명하지 않다
  • AWS는 NAT 인스턴스를 제공하지만 모든 트래픽을 거기로 향하게하면 중복성이 손상되고 트래픽 병목 현상이 발생할 수 있습니다.
  • 트래픽을 받으면서 NAT 인스턴스로 전환하는 것이 상당히 힘들
  • 특정 도메인에 대한 액세스 만 특정 서버를 통과하는 방식으로 만들고 싶습니다

  • 어떻게 할까



    내부에 리버스 프록시를 세워 특정 도메인이 한 번 그 리버프로를 통과하도록합니다.
    이를 위해 처음에는 리버프로를 향하는 local 도메인에 액세스하고 public 도메인으로 리디렉션하도록 설정한다.

    구성



    그림





    API 이름



    원래 액세스하려는 API 도메인을 api.example.com
    프록시로 향하는 도메인을 api.example.local
    하다

    각 요소



    웹 서버



    각 웹 서버는 api.example.local에 액세스합니다.

    Reverse Proxy



    api.example.local에 온 액세스를 api.example.com으로 변경합니다.
    nginx의 경우는 다음과 같은 설정이 된다.
    server {
      listen 80;
      server_name api.example.local;
      location / {
        proxy_pass http://api.example.com;
      }
    }
    

    proxy_set_header는 설정하지 않도록주의.

    DNS



    .local계의 도메인은 internal인 DNS가 있으면 거기에 설정해도 좋고(Route53이라면 작성 가능),/etc/hosts에 써 두어도 좋다.

    요약



    라고 하는 것으로 상당히 간단하게 완성.
    리버스 프록시는, internal ELB를 사용해 2대 이상으로 해 두면 길.

    좋은 웹페이지 즐겨찾기