Apigee 서버 이동

Private Cloud용 Edge v4.19.01

한 머신에서 다른 머신으로 구성요소를 이동하면 구성요소 구성 파일의 IP 주소를 동기화 상태로 유지하지 않으면 구성 불일치가 발생할 수 있습니다.

이 섹션에서는 구성 불일치를 진단하고 해결하는 방법을 설명합니다.

IP 주소와 호스트 이름 비교

구성요소 구성 파일에서 호스트 이름이 아닌 IP 주소를 사용해야 합니다.

일부 구성요소 구성 파일에서는 IP 주소가 아닌 호스트 이름을 사용할 수 있지만, 호스트 이름을 사용하면 문제 해결이 복잡해질 수 있습니다. 예를 들어 호스트 이름은 DNS 서버 연결, 조회 실패, 동기화와 관련된 문제의 원인이 될 수 있습니다.

따라서 Apigee에서는 모든 구성요소 구성에 IP 주소를 사용하는 것이 좋습니다. Cassandra와 같은 일부 경우에는 IP 주소를 사용해야 하며 호스트 이름은 사용할 수 없습니다. 문서의 대부분의 예에서는 구성요소 구성에 IP 주소를 사용합니다.

호스트 이름과 IP 주소의 경우 Apigee 서버를 이동할 때 다음 시나리오가 미치는 영향을 고려하세요.

시나리오 서버 이동에 영향
IP 주소 변경 원래 IP 주소를 참조하는 모든 관련 파일 업데이트
IP 주소 변경 없이 호스트 이름 변경 영향 없음
IP 주소 변경으로 호스트 이름 변경 IP 주소 변경과 동일

Cassandra 노드의 IP 주소 변경

Cassandra 노드의 IP 주소를 변경하려면 다음 단계를 수행합니다.

단일 Cassandra 노드가 포함된 구성

  1. 수정 중인 시스템에서 /opt/apigee/customer/application/cassandra.properties를 수정합니다. 파일이 없으면 새로 만듭니다.
  2. 다음 매개변수를 변경합니다.
    • conf_cassandra_seedsconf_cassandra_listen_address 매개변수를 설정하여 시스템의 새 IP 주소를 지정합니다.
    • 새 IP 주소 또는 0.0.0.0 (Cassandra Thrift가 모든 인터페이스에서 리슨할 수 있음)을 사용하도록 conf_cassandra_rpc_address를 변경합니다.
  3. 편집기에서 /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties을 엽니다. 이전 IP 주소와 기본 설정이
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1
    형식으로 표시됩니다.

    해당 정보를 저장합니다.

  4. /opt/apigee/customer/application/cassandra.properties를 수정하여 지정된 이전 IP 주소를 새 IP 주소로 변경합니다.
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    IP 주소 뒤에 "\n"을 삽입하고 위의 3단계에서 확인한 것과 동일한 기본 설정을 지정해야 합니다.

  5. Cassandra를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. 필요한 경우 JoKeeper (아래 참조)도 복구합니다. 그렇지 않은 경우 관리 서버로 시작하여 모든 Apigee 플랫폼 구성요소를 다시 시작합니다.

여러 Cassandra 노드 (링)가 있는 구성

  1. 변경 중인 노드가 시드 노드인 경우 링의 각 시스템에서 /opt/apigee/customer/application/cassandra.properties 파일을 수정하고 수정된 시스템의 새 IP를 포함하도록 conf_cassandra_seeds 매개변수를 변경합니다. cassandra.properties 파일이 없으면 파일을 만듭니다.
  2. 수정 중인 시스템에서 /opt/apigee/customer/application/cassandra.properties를 수정하고 다음 매개변수를 변경합니다.
    • 새 IP 주소를 사용하도록 conf_cassandra_listen_address를 설정합니다.
    • 새 IP 주소 또는 '0.0.0.0'(Cassandra Thrift가 모든 인터페이스에서 리슨할 수 있음)을 사용하도록 conf_cassandra_rpc_address를 설정합니다.
  3. 편집기에서 /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties을 엽니다. 모든 Cassandra IP 주소와 기본 설정이
    192.168.56.101=dc-1:ra-1
    192.168.56.102=dc-1:ra-1
    192.168.56.103=dc-1:ra-1
    default=dc-1:ra-1
    형식으로 표시됩니다.

    해당 정보를 저장합니다.

  4. /opt/apigee/customer/application/cassandra.properties를 수정하여 지정된 이전 IP 주소를 새 IP 주소로 변경합니다.
    conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n

    각 IP 주소 뒤에 "\n"을 삽입하고 위의 3단계에서 기록한 것과 동일한 기본 설정을 사용해야 합니다.

  5. 수정된 시스템에서 Cassandra를 다시 시작합니다. 수정된 시스템이 시드 노드인 경우, 수정된 시드 노드를 사용한 각 시스템도 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. 수정된 노드에서 nodetool ring 명령어를 실행하여 링이 완료되었는지 확인합니다. 이 유틸리티는 /opt/apigee/apigee-cassandra/bin에서 찾을 수 있습니다.
    nodetool [-u username -pw password] -h localhost ring

    Cassandra에 JMX 인증을 사용 설정한 경우에만 사용자 이름과 비밀번호를 전달하면 됩니다.

  7. 수정된 노드에서 nodetool repair를 실행합니다. 이 과정은 다소 시간이 걸릴 수 있으므로 API 트래픽이 가장 많은 시간대에는 수행하지 않는 것이 좋습니다.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. 필요한 경우 JoKeeper를 복구 (아래 참조)한 후 관리 서버부터 모든 Apigee 플랫폼 구성요소를 다시 시작합니다.

Datastore 등록 업데이트

  1. 아래 명령어를 사용하여 이전 IP 주소를 지정하는 Datastore 등록의 UUID를 찾습니다. 'type' 및 'UUID' 매개변수를 확인합니다.
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      여기서 DC은 데이터 센터 이름입니다. 단일 데이터 센터 설치에서 값은 일반적으로 'dc-1'입니다.

  2. 아래 명령어 중 하나를 사용하여 새 IP 주소를 등록합니다. 필요한 명령어는 변경된 노드의 유형에 따라 다릅니다.
    • type="application-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=REGION&pod=central" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST
    • type="kms-datastore"의 경우:
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \
        &InternalIP=NEWIP&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
        application/x-www-form-urlencoded' -X POST
    • type="reportcrud-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \
        "Type=reportcrud-datastore&InternalIP=NEW_IP&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. IP 주소가 변경된 시스템의 UUID에서 이전 등록을 삭제합니다. 이러한 각 UUID 문제:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

JoKeeper 노드의 IP 주소 변경

주Keeper 노드의 IP 주소를 변경하려면 다음 단계를 따르세요.

IP 주소를 변경하고 동물원 앙상블을 다시 시작합니다 (다중 노드 앙상블 구성만 해당).

  1. 편집기에서 /opt/apigee/apigee-zookeeper/conf/zoo.cfg을 엽니다. 모든 JoKeeper IP 주소와 기본 설정이
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888
    형식으로 표시됩니다.

    해당 정보를 저장합니다.

  2. 각 JoKeeper 노드에서 /opt/apigee/customer/application/zookeeper.properties 파일을 수정하여 conf_zoo_quorum 속성을 올바른 IP 주소로 설정합니다. 파일이 없으면 새로 만듭니다.
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    각 IP 주소 뒤에 "\n"을 삽입하고 모든 노드에서 항목의 순서가 동일해야 합니다.

  3. 다음 명령어를 사용하여 주키퍼 앙상블의 리더를 찾습니다 (node을 Jokeeper 머신의 IP 주소로 바꿈).
    echo srvr | nc node 2181

    출력의 Mode 줄은 'leader'로 표시됩니다.

  4. 리더로 시작하고 IP 주소가 변경된 노드로 끝나고 동물원을 다시 시작합니다. 2개 이상의 zookeeper 노드가 IP 주소를 변경한 경우 모든 노드를 다시 시작해야 할 수 있습니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. 위에서 설명한 echo 명령어를 사용하여 각 주Keeper 노드를 확인합니다.

Apigee 노드에 변경된 구성 알림

  1. 각 라우터 노드에서 다음과 같이 /opt/apigee/customer/application/router.properties 파일을 수정합니다. 파일이 없으면 새로 만듭니다.
    • 새 IP 주소를 포함하도록 conf_zookeeper_connection.string 매개변수를 변경합니다.
    • 새 IP 주소를 포함하도록 conf_zookeeper_zk1.host 매개변수를 변경합니다.
  2. 모든 메시지 프로세서 노드에서 다음과 같이 /opt/apigee/customer/application/message-processor.properties 파일을 수정합니다. 파일이 없으면 새로 만듭니다.
    • 새 IP 주소를 포함하도록 conf_zookeeper_connection.string 매개변수를 변경합니다.
    • 새 IP 주소를 포함하도록 conf_zookeeper_zk1.host 매개변수를 변경합니다.
  3. 관리 서버 노드에서 다음과 같이 /opt/apigee/customer/application/management-server.properties 파일을 수정합니다. 파일이 없으면 새로 만듭니다.
    • 새 IP 주소를 포함하도록 conf_zookeeper_connection.string 매개변수를 변경합니다.
    • 새 IP 주소를 포함하도록 conf_zookeeper_zk1.host 매개변수를 변경합니다.
  4. 각 노드에서 다음 명령어를 실행하여 모든 Apigee 플랫폼 구성요소를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-all restart

LDAP 서버의 IP 주소 변경(OpenLDAP)

OpenLDAP 노드의 IP 주소를 변경하려면 다음을 수행합니다.

  1. 관리 서버 노드에서 /opt/apigee/customer/application/management-server.properties 파일을 수정합니다. 파일이 없으면 새로 만듭니다.
  2. management-server.properties 파일에서 conf_security_ldap.server.host 매개변수를 새 IP 주소로 설정합니다.
  3. 관리 서버를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

다른 Apigee 노드 유형의 IP 주소 변경

이러한 노드 유형 (라우터, 메시지 프로세서, Postgre Server (postgresql 아님) 및 Qpid 서버 (qpidd 아님))의 IP 주소를 변경하려면 다음 안내를 따르세요.

  1. 다음 curl 명령어를 사용하여 새로운 내부 및 외부 IP 주소를 등록합니다.
    curl -u ADMINEMAIL:PW -X PUT \
      http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
    curl -u ADMINEMAIL:PW -X PUT \
      http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip

    여기서 uuid는 노드의 UUID입니다.

구성요소의 UUID를 가져오는 방법에 관한 자세한 내용은 UUID 가져오기를 참고하세요.