전용 송신 IP 주소

AEM의 아웃바운드 연결이 전용 IP에서 시작되도록 허용하는 전용 이그레스 IP 주소를 설정하고 사용하는 방법에 대해 알아봅니다.

전용 이그레스 IP 주소란 무엇입니까?

전용 이그레스 IP 주소를 사용하면 AEM as a Cloud Service의 요청에서 전용 IP 주소를 사용할 수 있으므로 외부 서비스는 이 IP 주소로 들어오는 요청을 필터링할 수 있습니다. 유연한 이그레스 포트와 같이 전용 이그레스 IP를 사용하면 비표준 포트에서의 이그레스를 사용할 수 있습니다.

Cloud Manager 프로그램에는 single 네트워크 인프라 유형만 있을 수 있습니다. 다음 명령을 실행하기 전에 전용 이그레스 IP 주소가 AEM as a Cloud Service에 대해 가장 적합한 유형의 네트워크 인프라인지 확인하십시오.

사전 요구 사항

Cloud Manager API를 사용하여 전용 이그레스 IP 주소를 설정할 때 필요한 사항은 다음과 같습니다.

자세한 내용은 다음 연습에서 Cloud Manger API 자격 증명을 설정, 구성 및 얻는 방법과 이를 사용하여 Cloud Manager API를 호출하는 방법을 참조하십시오.

이 자습서에서는 curl을(를) 사용하여 Cloud Manager API 구성을 만듭니다. 제공된 curl 명령은 Linux/macOS 구문을 사용합니다. Windows 명령 프롬프트를 사용하는 경우 \ 줄 바꿈 문자를 ^(으)로 바꾸십시오.

프로그램에서 전용 이그레스 IP 주소 활성화

AEM as a Cloud Service에서 전용 이그레스 IP 주소를 활성화하고 구성하여 시작합니다.

Cloud Manager

Cloud Manager을 사용하여 전용 이그레스 IP 주소를 활성화할 수 있습니다. 다음 단계에서는 Cloud Manager을 사용하여 AEM as a Cloud Service에서 전용 이그레스 IP 주소를 활성화하는 방법에 대해 간략히 설명합니다.

  1. Adobe Experience Manager Cloud Manager에 Cloud Manager 비즈니스 소유자로 로그인합니다.

  2. 원하는 프로그램으로 이동합니다.

  3. 왼쪽 메뉴에서 서비스 > 네트워크 인프라 ​로 이동합니다.

  4. 네트워크 인프라 추가 단추를 선택하십시오.

    네트워크 인프라 추가

  5. 네트워크 인프라 추가 대화 상자에서 전용 이그레스 IP 주소 옵션을 선택한 다음 지역 ​을 선택하여 전용 이그레스 IP 주소를 만듭니다.

    전용 이그레스 IP 주소 추가

  6. 전용 이그레스 IP 주소의 추가를 확인하려면 저장 ​을(를) 선택하십시오.

    전용 이그레스 IP 주소 만들기 확인

  7. 네트워크 인프라가 만들어지고 준비(으)로 표시될 때까지 기다립니다. 이 프로세스는 최대 1시간 정도 소요될 수 있습니다.

    전용 이그레스 IP 주소 만들기 상태

이제 만든 전용 이그레스 IP 주소에서 아래에 설명된 대로 Cloud Manager API를 사용하여 전용 이그레스 IP 주소를 구성할 수 있습니다.

Cloud Manager API

Cloud Manager API를 사용하여 전용 이그레스 IP 주소를 활성화할 수 있습니다. 다음 단계에서는 Cloud Manager API를 사용하여 AEM as a Cloud Service에서 전용 이그레스 IP 주소를 활성화하는 방법에 대해 간략히 설명합니다.

  1. 먼저 Cloud Manager API listRegions 작업을 사용하여 고급 네트워킹이 필요한 지역을 결정합니다. 후속 Cloud Manager API를 호출하려면 region name이(가) 필요합니다. 일반적으로 프로덕션 환경이 있는 영역이 사용됩니다.

    환경의 세부 정보에서 Cloud Manager의 AEM as a Cloud Service 환경 지역을 찾으십시오. Cloud Manager에 표시되는 지역 이름은 Cloud Manager API에서 사용되는 지역 코드 🔗에 매핑될 수 있습니다.

    listRegions HTTP 요청

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/regions \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
    
  2. Cloud Manager API createNetworkInfrastructure 작업을 사용하여 Cloud Manager 프로그램에 대한 전용 이그레스 IP 주소를 사용하도록 설정합니다. Cloud Manager API listRegions 작업에서 얻은 적절한 region 코드를 사용합니다.

    createNetworkInfrastructure HTTP 요청

    code language-shell
    $ curl -X POST https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructures \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json' \
        -d '{ "kind": "dedicatedEgressIp", "region": "va7" }'
    

    Cloud Manager 프로그램이 네트워크 인프라를 프로비저닝할 때까지 15분 동안 기다립니다.

  3. 이전 단계의 createNetworkInfrastructure HTTP 요청에서 반환된 id을(를) 사용하여 Cloud Manager API getNetworkInfrastructure 작업을 사용하여 프로그램이 전용 이그레스 IP 주소 구성을 완료했는지 확인하십시오.

    getNetworkInfrastructure HTTP 요청

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructure/{networkInfrastructureId} \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
    

    HTTP 응답에 준비 ​의 상태 ​가 포함되어 있는지 확인하십시오. 아직 준비되지 않은 경우 몇 분마다 상태를 다시 확인하십시오.

이제 만든 전용 이그레스 IP 주소에서 아래에 설명된 대로 Cloud Manager API를 사용하여 전용 이그레스 IP 주소를 구성할 수 있습니다.

환경당 전용 이그레스 IP 주소 프록시 구성

  1. Cloud Manager API enableEnvironmentAdvancedNetworkingConfiguration 작업을 사용하여 각 AEM as a Cloud Service 환경에서 전용 이그레스 IP 주소 구성을 구성합니다.

    enableEnvironmentAdvancedNetworkingConfiguration HTTP 요청

    code language-shell
    $ curl -X PUT https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json' \
        -d @./dedicated-egress-ip-address.json
    

    dedicated-egress-ip-address.json에서 JSON 매개 변수를 정의하고 ... -d @./dedicated-egress-ip-address.json을(를) 통해 curl에 제공합니다.

    전용 이그레스-ip-address.json 예제를 다운로드합니다. 이 파일은 예제일 뿐입니다. enableEnvironmentAdvancedNetworkingConfiguration에 문서화된 선택적/필수 필드를 기반으로 파일을 필요에 따라 구성합니다.

    code language-json
    {
        "nonProxyHosts": [
            "example.net",
            "*.example.org",
        ],
        "portForwards": [
            {
                "name": "mysql.example.com",
                "portDest": 3306,
                "portOrig": 30001
            },
            {
                "name": "smtp.sendgrid.net",
                "portDest": 465,
                "portOrig": 30002
            }
        ]
    }
    

    전용 이그레스 IP 주소 구성의 HTTP 시그니처는 선택적 nonProxyHosts 구성도 지원한다는 점에서 유연한 이그레스 포트와 다릅니다.

    nonProxyHosts은(는) 포트 80 또는 443이 전용 이그레스 IP가 아닌 기본 공유 IP 주소 범위를 통해 라우팅되어야 하는 호스트 집합을 선언합니다. nonProxyHosts은(는) 공유 IP를 통해 이그레스되는 트래픽이 Adobe에 의해 자동으로 최적화되므로 유용할 수 있습니다.

    portForwards 매핑에 대해 고급 네트워킹은 다음 전달 규칙을 정의합니다.

    table 0-row-5 1-row-5
    프록시 호스트 프록시 포트 외부 호스트 외부 포트
    AEM_PROXY_HOST portForwards.portOrig portForwards.name portForwards.portDest
  2. 각 환경에 대해 Cloud Manager API getEnvironmentAdvancedNetworkingConfiguration 작업을 사용하여 이그레스 규칙이 적용되는지 확인하십시오.

    getEnvironmentAdvancedNetworkingConfiguration HTTP 요청

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: <YOUR_TOKEN>' \
        -H 'Content-Type: application/json'
    
  3. Cloud Manager API enableEnvironmentAdvancedNetworkingConfiguration 작업을 사용하여 전용 이그레스 IP 주소 구성을 업데이트할 수 있습니다. enableEnvironmentAdvancedNetworkingConfiguration은(는) PUT 작업이므로 이 작업을 호출할 때마다 모든 규칙을 제공해야 합니다.

  4. p{programId}.external.adobeaemcloud.com 호스트에서 DNS Resolver(예: DNSChecker.org)를 사용하거나 명령줄에서 dig을(를) 실행하여 전용 이그레스 IP 주소 ​을(를) 가져옵니다.

    code language-shell
    $ dig +short p{programId}.external.adobeaemcloud.com
    

    호스트 이름은 pinged일 수 없습니다. 이그레스이고 not 및 인그레스입니다.

    전용 이그레스 IP 주소는 프로그램의 모든 AEM as a Cloud Service 환경에서 공유됩니다.

  5. 이제 사용자 지정 AEM 코드 및 구성에서 전용 이그레스 IP 주소를 사용할 수 있습니다. 전용 이그레스 IP 주소를 사용할 때 AEM as a Cloud Service이 연결하는 외부 서비스는 이 전용 IP 주소의 트래픽만 허용하도록 구성되는 경우가 많습니다.

전용 이그레스 IP 주소를 통해 외부 서비스에 연결

전용 이그레스 IP 주소를 활성화한 상태에서 AEM 코드 및 구성은 전용 이그레스 IP를 사용하여 외부 서비스를 호출할 수 있습니다. AEM에서 다르게 처리하는 외부 호출에는 두 가지 유형이 있습니다.

  1. 외부 서비스에 대한 HTTP/HTTPS 호출
    • 표준 80 또는 443 포트 이외의 포트에서 실행되는 서비스에 대한 HTTP/HTTPS 호출을 포함합니다.
  2. 외부 서비스에 대한 비 HTTP/HTTPS 호출
    • 메일 서버, SQL 데이터베이스 또는 HTTP/HTTPS가 아닌 다른 프로토콜에서 실행되는 서비스와의 연결과 같은 HTTP가 아닌 호출을 포함합니다.

표준 포트(80/443)의 AEM에서 HTTP/HTTPS 요청은 기본적으로 허용되지만, 아래에 설명된 대로 적절하게 구성되지 않은 경우 전용 이그레스 IP 주소를 사용하지 않습니다.

TIP
전체 라우팅 규칙 집합에 대해서는 AEM as a Cloud Service의 전용 이그레스 IP 주소 설명서를 참조하십시오.

HTTP/HTTPS

AEM에서 HTTP/HTTPS 연결을 만들 때 전용 이그레스 IP 주소를 사용하는 경우 HTTP/HTTPS 연결은 전용 이그레스 IP 주소를 사용하여 AEM에서 자동으로 프록시됩니다. HTTP/HTTPS 연결을 지원하는 데 추가적인 코드나 구성은 필요하지 않습니다.

코드 예

HTTP/HTTPS

HTTP/HTTPS

HTTP/HTTPS 프로토콜을 사용하여 AEM as a Cloud Service에서 외부 서비스로의 HTTP/HTTPS 연결을 만드는 Java™ 코드 예입니다.

외부 서비스에 대한 비 HTTP/HTTPS 연결

비HTTP/HTTPS 연결을 만드는 경우(예: SQL, SMTP 등) AEM에서 AEM이 제공하는 특수 호스트 이름을 통해 연결해야 합니다.

변수 이름
사용
Java™ 코드
OSGi 구성
AEM_PROXY_HOST
비 HTTP/HTTPS 연결용 프록시 호스트
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]

외부 서비스에 대한 연결은 AEM_PROXY_HOST과(와) 매핑된 포트(portForwards.portOrig)를 통해 호출됩니다. 그런 다음 AEM은 매핑된 외부 호스트 이름(portForwards.name)과(와) 포트(portForwards.portDest)로 라우팅합니다.

프록시 호스트
프록시 포트
외부 호스트
외부 포트
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

코드 예

JDBC DataSourcePool을 사용한 SQL 연결

JDBC DataSourcePool을 사용한 SQL 연결

AEM의 JDBC 데이터 소스 풀을 구성하여 외부 SQL 데이터베이스에 연결하는 Java™ 코드 예입니다.

Java API를 사용한 SQL 연결

Java™ API를 사용한 SQL 연결

Java™ 코드 예제 Java™의 SQL API를 사용하여 외부 SQL 데이터베이스에 연결.

VPN (Virtual Private Network)

전자 메일 서비스

AEM을 사용하여 외부 이메일 서비스에 연결하는 OSGi 구성 예입니다.

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69