

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon MQ 브로커 네트워크
<a name="network-of-brokers"></a>

Amazon MQ는 ActiveMQ의 브로커 네트워크 기능을 지원합니다.

 브로커 네트워크는 동시에 여러 활성 단일 인스턴스 브로커 또는 활성/대기 브로커로 구성됩니다. 브로커 네트워크를 생성하면 여러 브로커 인스턴스와의 가용성, 내결함성 및 로드 밸런싱이 향상될 수 있습니다.

## 브로커 네트워크 작동 방식
<a name="how-does-it-work"></a>

 브로커 네트워크는 *네트워크 커넥터*를 사용하여 한 브로커를 다른 브로커에 연결함으로써 설정됩니다. 네트워크 커넥터는 한 브로커에서 다른 브로커로 온디맨드 메시지를 제공합니다. 네트워크 커넥터는 브로커 구성에서 *비이중* 또는 *이중* 연결로 구성됩니다. 비 전이중 연결에서는 메시지가 특정 브로커에서 다른 브로커로만 전달됩니다. 이중 연결의 경우 메시지는 두 브로커 간에 양방향으로 전달됩니다.

 네트워크 커넥터가 이중으로 구성되면 메시지가 *Broker2*에서 *Broker1*로 전달될 수도 있습니다.

 브로커 네트워크에서 비이중 연결과 이중 연결을 모두 사용할 수 있습니다. 트래픽을 개선하거나 한도 증가를 방지하기 위해 다른 브로커에 이중 연결을 도입할 수 있습니다. 또한 이중 연결은 온프레미스에서 Amazon MQ 관리형 브로커로 부분적으로 마이그레이션하는 데 유용합니다.

## 브로커 네트워크가 자격 증명을 처리하는 방식
<a name="how-does-it-handle-credentials"></a>

네트워크에서 브로커 A가 브로커 B에 연결하려면 브로커 A는 다른 생산자 또는 소비자와 마찬가지로 유효한 자격 증명을 사용해야 합니다. 브로커 A의 `<networkConnector>` 구성에 암호를 제공하는 대신, 먼저 브로커 B의 다른 사용자와 동일한 값을 사용하여 브로커 A 사용자를 생성해야 합니다(이들은 사용자 이름 및 암호 값을 공유하는 *별도의 고유한* 사용자임). `<networkConnector>` 구성에서 `userName` 속성을 지정하면 Amazon MQ가 런타임 시 자동으로 암호를 추가합니다.

**중요**  
`password`에 `<networkConnector>` 속성을 지정하지 마세요. 브로커 구성 파일에 일반 텍스트 암호를 저장하면 Amazon MQ 콘솔에서 해당 암호가 표시되므로 권장하지 않습니다. 자세한 내용은 [2단계: 브로커에 대한 네트워크 커넥터 구성](amazon-mq-creating-configuring-network-of-brokers.md#creating-configuring-network-of-brokers-configure-network-connectors) 단원을 참조하십시오.

## 교차 리전
<a name="how-to-configure-cross-region"></a>

 AWS 리전에 걸쳐 있는 브로커 네트워크를 구성하려면 해당 리전에 브로커를 배포하고 해당 브로커의 엔드포인트에 네트워크 커넥터를 구성합니다.

![교차 리전 메시 토폴로지](http://docs.aws.amazon.com/ko_kr/amazon-mq/latest/developer-guide/images/amazon-mq-nob-cross-region.png)


이 예제와 같은 브로커 네트워크를 구성하려면 브로커의 와이어 레벨 끝점을 참조하는 `networkConnectors` 항목을 *Broker1* 및 *Broker4*의 구성에 추가할 수 있습니다.

*Broker1용 네트워크 커넥터:*

```
<networkConnectors>
    <networkConnector name="1_to_2" userName="myCommonUser" duplex="true"
        uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)"/>
    <networkConnector name="1_to_3" userName="myCommonUser" duplex="true"
        uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/>
    <networkConnector name="1_to_4" userName="myCommonUser" duplex="true"
        uri="static:(ssl://b-62a7fb31-d51c-466a-a873-905cd660b553-4.mq.us-east-2.amazonaws.com:61617)"/>
</networkConnectors>
```

*Broker2용 네트워크 커넥터:*

```
<networkConnectors>
    <networkConnector name="2_to_3" userName="myCommonUser" duplex="true"
        uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/>
</networkConnectors>
```

*Broker4용 네트워크 커넥터:*

```
<networkConnectors>
    <networkConnector name="4_to_3" userName="myCommonUser" duplex="true"
        uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/>
    <networkConnector name="4_to_2" userName="myCommonUser" duplex="true"
        uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)"/>      
</networkConnectors>
```

## 전송 커넥터를 사용한 동적 장애 조치
<a name="transport-connectors"></a>

`networkConnector` 요소를 구성하는 것 외에도 브로커 `transportConnector` 옵션을 구성하여 동적 장애 조치를 활성화하고 네트워크에서 브로커를 추가하거나 제거할 때 연결을 리밸런싱할 수 있습니다.

```
<transportConnectors>
  <transportConnector name="openwire" updateClusterClients="true" rebalanceClusterClients="true" updateClusterClientsOnRemove="true"/>
</transportConnectors>
```

이 예제에서는 `updateClusterClients` 및 `rebalanceClusterClients`를 모두 `true`로 설정합니다. 이 경우 클라이언트는 네트워크의 브로커 목록을 제공받으며 새 브로커가 참여하면 브로커에 리밸런싱하도록 요청합니다.

사용 가능한 옵션:
+ `updateClusterClients`: 브로커 토폴로지 네트워크의 변경 사항에 대한 정보를 클라이언트에 전달합니다.
+ `rebalanceClusterClients`: 브로커 네트워크에 새 브로커가 추가될 때 클라이언트가 브로커 간에 리밸런싱하도록 합니다.
+ `updateClusterClientsOnRemove`: 브로커가 브로커 네트워크를 나가면 토폴로지 정보로 클라이언트를 업데이트합니다.

`updateClusterClients`를 true로 설정하면 브로커 네트워크의 단일 브로커에 연결하도록 클라이언트를 구성할 수 있습니다.

```
failover:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)
```

새 브로커가 연결되면 클라이언트는 네트워크에 있는 모든 브로커의 URI 목록을 받습니다. 브로커 연결에 실패하면 클라이언트는 연결될 때 제공되는 브로커 중 하나로 동적으로 전환할 수 있습니다.

장애 조치에 대한 자세한 내용은 Active MQ 설명서에서 [장애 조치를 위한 브로커 측 옵션](http://activemq.apache.org/failover-transport-reference.html#FailoverTransportReference-Broker-sideOptionsforFailover)을 참조하세요.