

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

# 브로커의 Amazon MQ 네트워크 생성 및 구성
<a name="amazon-mq-creating-configuring-network-of-brokers"></a>

*브로커 네트워크*는 동시에 여러 활성 [단일 인스턴스 브로커](amazon-mq-broker-architecture.md#single-broker-deployment) 또는 [활성/대기 브로커](amazon-mq-broker-architecture.md#active-standby-broker-deployment)로 구성됩니다. 이 자습서에서는 *소스 및 싱크* 토폴로지를 사용하여 2개 브로커로 구성된 브로커 네트워크를 생성하는 방법을 알아봅니다.

개념 개요 및 세부 구성 정보는 다음 단원을 참조하세요.
+ [Amazon MQ 브로커 네트워크](network-of-brokers.md)
+ [브로커 네트워크를 올바로 구성](best-practices-activemq.md#network-of-brokers-configure-correctly)
+ `networkConnector`
+ `networkConnectionStartAsync`
+ ActiveMQ 설명서의 [브로커 네트워크](http://activemq.apache.org/networks-of-brokers.html)

Amazon MQ 콘솔을 사용하여 브로커의 Amazon MQ 네트워크를 생성할 수 있습니다. 2개 브로커를 동시에 생성하기 시작할 수 있으므로 이 프로세스는 약 15분이 소요됩니다.

**Topics**
+ [사전 조건](#creating-configuring-network-of-brokers-create-brokers)
+ [Configure the Brokers in a Network](#creating-configuring-network-of-brokers-allow-traffic)
+ [Configure Network Connectors for Your Broker](#creating-configuring-network-of-brokers-configure-network-connectors)
+ [Next Steps: Test the Network of Brokers](#creating-configuring-network-of-brokers-test)

## 사전 조건
<a name="creating-configuring-network-of-brokers-create-brokers"></a>

브로커 네트워크를 생성하려면 다음이 구비되어 있어야 합니다.
+ 2개 이상의 동시 활성 브로커(이 자습서에서는 각각 `MyBroker1` 및 `MyBroker2`로 명명). 브로커 생성에 대한 자세한 내용은 [시작하기: ActiveMQ 브로커 생성 및 연결](getting-started-activemq.md) 단원을 참조하세요.
+ 두 브로커가 동일한 VPC 또는 피어링된 VPC에 있어야 합니다. VPC에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [Amazon VPC란 무엇이가요?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 및 *Amazon VPC 피어링 가이드*의 [VPC 피어링이란 무엇인가요?](https://docs.aws.amazon.com/vpc/latest/peering/Welcome.html)를 참조하세요.
**중요**  
기본 VPC, 서브넷 또는 보안 그룹이 없는 경우 이들 항목부터 생성해야 합니다. 자세한 내용은 *Amazon VPC 사용 설명서*에서 다음 항목을 참조하세요.  
[기본 VPC 만들기](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-vpc)
[기본 서브넷 생성](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet)
[보안 그룹 생성](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups)
+ 두 브로커에 대해 동일한 로그인 보안 인증 정보를 가진 두 명의 사용자입니다. 사용자 생성에 대한 자세한 내용은 [ActiveMQ 브로커 사용자 생성](amazon-mq-listing-managing-users.md) 단원을 참조하세요.
**참고**  
LDAP 인증을 브로커 네트워크와 통합할 때는 사용자가 LDAP 사용자뿐 아니라 ActiveMQ 브로커로도 존재하는지 확인합니다.

다음 예제에서는 2개의 [단일 인스턴스 브로커](amazon-mq-broker-architecture.md#single-broker-deployment)를 사용합니다. 하지만 [활성/대기 브로커](amazon-mq-broker-architecture.md#active-standby-broker-deployment)를 사용하거나 브로커 배포 모드를 조합하여 브로커 네트워크를 생성할 수 있습니다.

## 1단계: 브로커 간 트래픽 허용
<a name="creating-configuring-network-of-brokers-allow-traffic"></a>

브로커를 생성한 후 브로커 사이에 트래픽을 허용해야 합니다.

1. [Amazon MQ 콘솔](https://console.aws.amazon.com/amazon-mq/)에서 **MyBroker2** 페이지의 **Details(세부 정보)** 섹션에 있는 **Security and network(보안 및 네트워크)** 아래에서 보안 그룹 또는 ![\[Pencil icon indicating an edit or modification action.\]](http://docs.aws.amazon.com/ko_kr/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-broker-details-link.png)을 선택합니다.

   EC2 Dashboard의 **보안 그룹** 페이지가 표시됩니다.

1. 보안 그룹 목록에서 보안 그룹을 선택합니다.

1. 페이지 하단에서 **인바운드**를 선택한 후 **편집**을 선택합니다.

1. **인바운드 규칙 편집** 대화 상자에서 OpenWire 엔드포인트에 대한 규칙을 추가합니다.

   1. **규칙 추가(Add Rule)**를 선택합니다.

   1. **유형**에서 **Custom TCP(사용자 지정 TCP)**를 선택합니다.

   1. **포트 범위**에 OpenWire 포트(`61617`)를 입력합니다.

   1. 다음 중 하나를 수행하세요.
      + 특정 IP 주소에 대한 액세스를 제한하려면 **소스**에서 **사용자 지정**은 선택한 채로 두고 `MyBroker1`의 IP 주소와 `/32`를 차례로 입력합니다. (그러면 IP 주소가 유효한 CIDR 레코드로 변환됩니다.) 자세한 내용은 [탄력적 네트워크 인터페이스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)를 참조하세요.
**작은 정보**  
`MyBroker1`의 IP 주소를 검색하려면, [Amazon MQ 콘솔](https://console.aws.amazon.com/amazon-mq/)에서 브로커 이름을 선택하고 **Details(세부 정보)** 섹션으로 이동합니다.
      + 모든 브로커가 프라이빗이고 동일한 VPC에 속한 경우 **소스**에서 **사용자 지정**은 선택한 채로 두고 현재 편집 중인 보안 그룹의 ID를 입력합니다.
**참고**  
퍼블릭 브로커의 경우 IP 주소를 사용하여 액세스를 제한해야 합니다.

   1. **저장**을 선택합니다.

      이제 브로커가 인바운드 연결을 허용할 수 있습니다.

## 2단계: 브로커에 대한 네트워크 커넥터 구성
<a name="creating-configuring-network-of-brokers-configure-network-connectors"></a>

브로커 사이의 트래픽을 허용한 후 둘 중 하나에 대해 네트워크 커넥터를 구성해야 합니다.

1. 브로커 `MyBroker1`의 구성 개정을 편집합니다.

   1. **MyBroker1** 페이지에서 **편집**을 선택합니다.

   1. **Edit MyBroker1** 페이지의 **구성** 섹션에서 **보기**를 선택합니다.

      구성이 사용하는 브로커 엔진 유형 및 버전(예: **Apache ActiveMQ 5.15.0**)이 표시됩니다.

   1. [**Configuration details**] 탭에 구성 개정 번호, 설명 및 XML 형식의 브로커 구성이 표시됩니다.

   1. **구성 편집**을 선택합니다.

   1. 구성 파일의 하단에서 `<networkConnectors>` 섹션에 입력된 주석을 제거하고 다음 정보를 포함시킵니다.
      + 네트워크 커넥터의 `name`.
      + [두 브로커에 공통된 ActiveMQ 웹 콘솔 `username`](#creating-configuring-network-of-brokers-create-brokers).
      + `duplex` 연결을 활성화합니다.
      + 다음 중 하나를 수행하세요.
        + 브로커를 단일 인스턴스 브로커에 연결하는 경우 `MyBroker2`에 `static:` 접두사 및 OpenWire 엔드포인트 `uri`를 사용합니다. 예를 들면 다음과 같습니다.

          ```
          <networkConnectors>
            <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true"
              uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/>
          </networkConnectors>
          ```
        + 브로커를 활성/대기 브로커에 연결하는 경우 쿼리 파라미터 `?randomize=false&maxReconnectAttempts=0`과 함께 두 브로커 모두에 `static+failover` 전송 및 OpenWire 엔드포인트 `uri`를 사용합니다. 예제:

          ```
          <networkConnectors>
            <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true"
              uri="static:(failover:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617,
              ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)?randomize=false&amp;maxReconnectAttempts=0)"/>
          </networkConnectors>
          ```
**참고**  
ActiveMQ 사용자의 로그인 보안 인증 정보는 포함하지 마세요.

   1. **저장**을 선택합니다.

   1. **Save revision(개정 저장)** 대화 상자에서 `Add network of brokers connector for MyBroker2`를 입력합니다.

   1. **저장**을 선택하여 구성의 새 개정을 저장합니다.

1. `MyBroker1`를 편집하여 최신 구성이 즉시 적용되도록 설정합니다.

   1. **MyBroker1** 페이지에서 **편집**을 선택합니다.

   1. **Edit MyBroker1(MyBroker1 편집)** 페이지의 **구성** 섹션에서 **Schedule Modifications(수정 예약)**를 선택합니다.

   1. **Schedule broker modifications(브로커 수정 예약)** 섹션에서 **즉시** 수정 사항 적용을 선택합니다.

   1. **적용**을 선택합니다.

      `MyBroker1`이 다시 부팅되고 구성 개정이 적용됩니다.

   브로커 네트워크가 생성됩니다.

## 다음 단계
<a name="creating-configuring-network-of-brokers-test"></a>

브로커 네트워크를 구성한 후 메시지를 생산하고 소비하여 테스트할 수 있습니다.

**중요**  
포트 8162(ActiveMQ 웹 콘솔용) 및 포트 61617(OpenWire 엔드포인트용)에서 브로커 `MyBroker1`에 대해 *로컬 시스템에서*의 [인바운드 연결을 활성화](amazon-mq-working-java-example.md#quick-start-allow-inbound-connections)해야 합니다.  
생산자와 소비자가 브로커 네트워크에 연결하도록 허용하기 위해 보안 그룹 설정을 조정해야 할 수 있습니다.

1. [Amazon MQ 콘솔](https://console.aws.amazon.com/amazon-mq/)에서 **Connections(연결)** 섹션으로 이동하여 브로커 `MyBroker1`의 ActiveMQ 웹 콘솔 엔드포인트를 기록합니다.

1. 브로커 `MyBroker1`의 ActiveMQ 웹 콘솔로 이동합니다.

1. 네트워크 브리지가 연결되었는지 확인하기 위해 **네트워크**를 선택합니다.

   **네트워크 브리지(Network Bridges)** 섹션에서 `MyBroker2`의 이름 및 주소가 **원격 브로커(Remote Broker)** 및 **원격 주소(Remote Address)** 열에 나열됩니다.

1. 브로커 `MyBroker2`에 액세스할 수 있는 아무 시스템에서 소비자를 생성합니다. 예:

   ```
   activemq consumer --brokerUrl "ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617" \
   	--user commonUser \
   	--password myPassword456 \
   	--destination queue://MyQueue
   ```

   소비자가 `MyBroker2`의 OpenWire 엔드포인트에 연결하고 대기열 `MyQueue`에서 메시지를 소비합니다.

1. 브로커 `MyBroker1`에 액세스할 수 있는 아무 시스템에서 생산자를 생성하고 몇몇 메시지를 전송합니다. 예:

   ```
   activemq producer --brokerUrl "ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-1.mq.us-east-2.amazonaws.com:61617" \
   	--user commonUser \
   	--password myPassword456 \
   	--destination queue://MyQueue \
   	--persistent true \
   	--messageSize 1000 \
   	--messageCount 10000
   ```

   생산자가 `MyBroker1`의 OpenWire 엔드포인트에 연결하고 대기열 `MyQueue`로 지속적 메시지를 생산합니다.