Apigee 서버 이동

구성요소를 한 머신에서 다른 머신으로 이동하면 구성요소 구성 파일의 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. 필요한 경우 ZooKeeper도 복구합니다 (ZooKeeper 노드의 IP 주소 변경 참고). 그 외의 경우에는 관리 서버부터 시작하여 모든 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. 다른 모든 노드의 경우, 3단계와 4단계에서 변경한 내용을 반복하여 Cassandra 링에서 이 노드의 위치를 알립니다. 또한 1단계에 설명된 대로 시드 노드 IP를 변경합니다.
  7. 남아 있는 각 Cassandra 노드를 하나씩 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. 수정된 노드에서 nodetool ring 명령어를 실행하여 링이 완료되었는지 확인합니다. 이 유틸리티는 /opt/apigee/apigee-cassandra/bin에서 찾을 수 있습니다.
    nodetool [-u username -pw password] -h localhost ring
  9. 수정된 노드에서 nodetool repair를 실행합니다. 이 프로세스는 다소 시간이 걸릴 수 있으므로 API 트래픽이 가장 많은 시간에는 실행하지 않는 것이 좋습니다.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. 필요한 경우 ZooKeeper를 복구한 다음 (ZooKeeper 노드의 IP 주소 변경 참고) 관리 서버부터 시작하여 모든 Apigee 플랫폼 구성요소를 다시 시작합니다.

데이터 스토어 등록 업데이트

  1. 아래 명령어를 사용하여 이전 IP 주소를 지정하는 데이터 저장소 등록의 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

주키퍼 노드의 IP 주소 변경

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

IP 주소 변경 및 동물원 Keeper 앙상블 다시 시작 (다중 노드 앙상블 구성만 해당)

  1. 편집기에서 /opt/apigee/apigee-zookeeper/conf/zoo.cfg을 엽니다. 모든 ZooKeeper 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. 각 ZaKeeper 노드에서 /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를 주키퍼 머신의 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 명령어를 사용하여 각 주키퍼 노드를 확인합니다.

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. 각 노드에서
    /opt/apigee/apigee-service/bin/apigee-all restart
    명령어를 실행하여 모든 Apigee 플랫폼 구성요소를 다시 시작합니다.

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 주소 변경

이러한 노드 유형 (라우터, 메시지 프로세서, Postgres 서버 (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 가져오기를 참고하세요.