NGINX One: 구성 동기화 그룹 관리
이 가이드에서는 F5 NGINX One Console에서 구성 동기화 그룹을 만들고 관리하는 방법을 설명합니다. 구성 동기화 그룹은 여러 NGINX 인스턴스에서 NGINX 구성을 동기화하여 일관성과 관리 용이성을 보장합니다.
NGINX Instance Manager 에서 인스턴스 그룹을 사용한 적이 있다면 NGINX One의 구성 동기화 그룹이 비슷하지만 단계와 용어가 약간 다르다는 것을 알 수 있습니다.
목차
1. 시작하기 전에
2. 중요한 고려 사항
3. 구성 동기화 그룹 생성
4. 구성 동기화 그룹 멤버십 관리
4-1. 기존 인스턴스를 구성 동기화 그룹에 추가
4-2. 구성 동기화 그룹에 새 인스턴스 추가
4-3. 인스턴스의 구성 동기화 그룹 변경
4-4. 구성 동기화 그룹에서 인스턴스 제거
5. 구성 동기화 그룹 구성 추가
5-1. 그룹 구성을 수동으로 정의
5-2. 인스턴스 구성 사용
6. 구성 동기화 그룹 구성 게시
7. 구성 동기화 상태 이해
1. 시작하기 전에
구성 동기화 그룹을 만들고 관리하기 전에 다음을 확인하세요.
- NGINX One Console에 액세스할 수 있는지.
- 구성 동기화 그룹을 만들고 관리하는 데 필요한 권한이 있는지.
- 기존 인스턴스를 동기화 그룹에 추가하려는 경우 NGINX 인스턴스가 NGINX One에 제대로 등록되었는지 확인하세요.
2. 중요한 고려 사항
- NGINX Agent 구성 파일 위치: NGINX One에 인스턴스를 등록하기 위해 NGINX Agent 설치 스크립트를 실행하면 스크립트가 agent-dynamic.conf 파일을 생성합니다. 여기에는 지정된 구성 동기화 그룹을 포함하여 NGINX Agent에 대한 설정이 포함됩니다. 이 파일은 일반적으로 대부분 시스템에서 /var/lib/nginx-agent/에 있지만 FreeBSD에서는 /var/db/nginx-agent/에 있습니다.
- NGINX Open Source와 NGINX Plus 인스턴스 혼합: NGINX Open Source와 NGINX Plus 인스턴스를 모두 동일한 구성 동기화 그룹에 추가할 수 있지만 제한 사항이 있습니다. 구성에 NGINX Plus에만 있는 기능이 포함된 경우 이러한 기능을 NGINX Open Source 인스턴스에서 동기화가 실패합니다. NGINX One에서는 유연성을 위해 NGINX 인스턴스 유형을 혼합할 수 있지만 적용하는 구성이 그룹의 모든 인스턴스와 호환되는지 확인하는 것이 중요합니다.
- 단일 구성 동기화 그룹 멤버십: 인스턴스는 한 번에 하나의 구성 동기화 그룹에만 가입할 수 있습니다.
- 구성 상속: 구성 동기화 그룹에 이미 구성이 정의된 경우 해당 구성은 인스턴스가 조인될 때 푸시됩니다.
- 그룹 구성에 인스턴스 구성 사용: 인스턴스가 구성 동기화 그룹에 처음으로 조인하고 그룹의 구성이 정의되지 않은 경우 인스턴스의 구성이 그룹의 구성이 됩니다. 나중에 추가된 모든 인스턴스는 자동으로 이 구성을 상속합니다.
Note:
여러 인스턴스를 단일 구성 동기화 그룹에 동시에(자동화로) 추가하는 경우 인스턴스가 임의의 구성을 선택할 위험이 있습니다. 이 문제를 방지하려면 다음을 수행해야 합니다.
1. 구성 동기화 그룹을 만듭니다.
2. 모든 인스턴스가 상속하도록 구성 동기화 그룹에 구성을 추가합니다.
3. 별도의 작업으로 인스턴스를 추가합니다.
인스턴스는 30초 이내에 원하는 구성과 동기화되어야 합니다.
- 구성 동기화 그룹 구성의 지속성: 구성 동기화 그룹의 구성은 그룹을 삭제할 때까지 지속됩니다. 모든 인스턴스를 제거하더라도 그룹의 구성은 그대로 유지됩니다. 나중에 조인하는 모든 새 인스턴스는 이 구성을 자동으로 상속합니다.
- 구성 동기화 그룹 대 클러스터 동기화: 구성 동기화 그룹은 클러스터 동기화랑 다릅니다. 구성 동기화 그룹을 사용하면 여러 NGINX 인스턴스에서 구성을 단일 엔터티로 관리하고 동기화할 수 있습니다. 이는 NGINX 인스턴스가 외부 로드 밸런서에 의해 로드 밸런싱되는 경우 모든 인스턴스에서 일관성을 보장하므로 특히 유용합니다. 반면 클러스터 동기화는 영역 동기화와 마찬가지로 클러스터의 NGINX 인스턴스에서 데이터 일관성과 고가용성을 보장합니다. 구성 동기화 그룹은 구성 관리에 중점을 두는 반면 클러스터 동기화는 장애 조치 및 데이터 일관성을 지원합니다.
3. 구성 동기화 그룹 생성
구성 동기화 그룹을 만들면 여러 NGINX 인스턴스의 구성을 단일 엔터티로 관리할 수 있습니다.
- 왼쪽 메뉴에서 Config Sync Groups를 선택합니다.
- Add Config Sync Group을 선택합니다.
- Name 필드에 구성 동기화 그룹의 이름을 입력합니다.
- 구성 동기화 그룹을 추가하려면 Create를 선택합니다.
4. 구성 동기화 그룹 멤버십 관리
4-1. 기존 인스턴스를 구성 동기화 그룹에 추가
NGINX One에 이미 등록된 기존 NGINX 인스턴스를 구성 동기화 그룹에 추가할 수 있습니다.
1. NGINX 인스턴스에서 command-line terminal을 엽니다.
2. 텍스트 편집기를 사용하여 /var/lib/nginx-agent/agent-dynamic.conf 파일을 엽니다.
3. 파일 끝에 instance_group:로 시작하는 새 줄을 추가하고 그 뒤에 구성 동기화 그룹 이름을 추가합니다.
instance_group: <config_sync_group>
4. NGINX Agent를 다시 시작:
sudo systemctl restart nginx-agent
4-2. 구성 동기화 그룹에 새 인스턴스 추가
NGINX One에 아직 등록되지 않은 새 NGINX 인스턴스를 추가할 때는 인스턴스를 안전하게 연결하기 위한 data plane key가 필요합니다. 프로세스 중에 새 데이터 플레인 키를 생성하거나 이미 있는 경우 기존 키를 사용할 수 있습니다.
1. 왼쪽 메뉴에서 Config Sync Groups를 선택합니다.
2. 목록에서 구성 동기화 그룹을 선택합니다.
3. Instance 창에서 Add Instance to Config Sync Group을 선택합니다.
4. Add Instance to Config Sync Group 대화 상자에서 Register a new instance with NGINX One then add to config sync group을 선택합니다.
5. Next를 선택합니다.
6. Generate a new data plane key(기존 키가 없는 경우 이 옵션 선택):
- 인스턴스에 대한 새 데이터 플레인 키를 생성하려면 Generate new key 선택합니다.
- Data Plane Key를 선택합니다.
- 생성되는 키는 한 번만 표시되므로 복사하여 안전하게 저장합니다.
7. 기존 데이터 플레인 키 사용(이미 키가 있는 경우 이 옵션 선택):
- Use existing key 선택
- Data Plane Key 필드에 기존 데이터 플레인 키를 입력합니다.
8. 제공된 명령을 실행하여 데이터 플레인 키를 포함하여 NGINX 인스턴스 터미널에서 NGINX One에 인스턴스를 등록합니다.
9. Done을 선택하여 프로세스를 완료합니다.
데이터 플레인 키에 대하여
데이터 플레인 키는 NGINX One 콘솔에 NGINX 인스턴스를 등록하는 데 필요합니다. 이러한 키는 보안 토큰 역할을 하여 권한이 있는 인스턴스만 NGINX One에 연결하고 통신할 수 있도록 합니다.
4-3. 인스턴스의 구성 동기화 그룹 변경
NGINX 인스턴스를 다른 구성 동기화 그룹으로 이동해야 하는 경우 다음 단계를 따르세요.
- NGINX 인스턴스에서 command-line terminal을 엽니다.
- 텍스트 편집기에서
/var/lib/nginx-agent/agent-dynamic.conf파일을 엽니다. instance_group:으로 시작하는 줄을 찾아 새 구성 동기화 그룹의 이름으로 변경합니다.
instance_group: <new_config_sync_group>
4. 다음 명령을 실행하여 NGINX Agent를 다시 시작합니다.
sudo systemctl restart nginx-agent
중요: 인스턴스가 새 구성 동기화 그룹에 처음으로 가입하고 그룹 구성이 사전에 수동으로 추가되지 않은 경우 인스턴스의 구성이 자동으로 그룹의 구성이 됩니다. 나중에 이 그룹에 추가된 모든 인스턴스는 이 구성을 상속합니다.
4-4. 구성 동기화 그룹에서 인스턴스 제거
다른 그룹에 추가하지 않고 구성 동기화 그룹에서 NGINX 인스턴스를 제거해야 하는 경우 다음 단계를 따르세요.
1. NGINX 인스턴스에서 command-line terminal을 엽니다.
2. 텍스트 편집기에서 /var/lib/nginx-agent/agent-dynamic.conf 파일을 엽니다.
3. instance_group: 으로 시작하는 줄을 찾아 제거하거나 줄의 시작 부분에 #을 추가하여 주석 처리합니다.
# instance_group: <config_sync_group>
4. NGINX Agent 다시 시작
sudo systemctl restart nginx-agent
이 줄을 제거하거나 주석 처리하면 인스턴스가 더 이상 구성 동기화 그룹과 연관되지 않습니다.
5. 구성 동기화 그룹 구성 추가
구성 동기화 그룹에 대한 구성을 두 가지 방법으로 설정할 수 있습니다.
5-1. 그룹 구성을 수동으로 정의
인스턴스를 추가하기 전에 그룹의 구성을 수동으로 정의할 수 있습니다. 나중에 그룹에 인스턴스를 추가하면 자동으로 이 구성을 상속합니다.
1. 구성 동기화 그룹 생성 섹션의 1~4 단계를 따라 구성동기화 그룹을 만듭니다.
2. 그룹을 만든 후 Configuration 탭을 선택합니다.
3. 인스턴스가 추가되지 않았으므로 구성 탭에 아직 구성 파일이 없다는 메시지와 함께 빈 구성이 표시됩니다.
4. 구성을 추가하려면 구성 편집을 선택합니다.
5. 편집기에서 필요에 따라 NGINX 구성을 정의합니다. 여기에는 nginx.conf 또는 기타 관련 파일을 추가하거나 수정하는 것이 필요할 수 있습니다.
6. 변경한 후 Next를 선택하여 변경 사항을 보여주는 분할 화면을 봅니다.
7. 구성에 만족하면 Save and Publish를 선택합니다.
5-2. 인스턴스 구성 사용
그룹 구성을 수동으로 정의하지 않으면 구성 동기화 그룹에 추가된 첫 번째 인스턴스의 NGINX 구성이 그룹의 구성이 됩니다. 이후에 추가된 모든 인스턴스는 이 그룹 구성을 상속합니다.
인스턴스를 추가하여 그룹 구성을 설정하려면:
1. 구성 동기화 그룹에 기존 인스턴스 추가 또는 구성 동기화 그룹에 새 인스턴스 추가 섹션의 단계에 따라 첫 번째 인스턴스를 그룹에 추가합니다.
2. 이 인스턴스의 NGINX 구성은 자동으로 그룹의 구성이 됩니다.
3. 구성 동기화 그룹 구성 게시 섹션의 단계에 따라 이 구성을 추가로 편집하고 게시할 수 있습니다.
6. 구성 동기화 그룹 구성 게시
구성 동기화 그룹이 생성되면 필요에 따라 그룹의 구성을 수정하고 게시할 수 있습니다. 그룹 구성에 대한 모든 변경 사항은 그룹 내의 모든 인스턴스에 적용됩니다.
1. 왼쪽 메뉴에서 Config Sync Groups를 선택합니다.
2. 목록에서 config sync group을 선택합니다.
3. Configuration 탭을 선택하여 그룹의 NGINX 구성을 확인합니다.
4. 그룹의 구성을 수정하려면 Edit Configuration을 선택합니다.
5. 구성에 필요한 변경을 합니다.
6. 완료되면 Next를 선택합니다. 분할 보기에 변경 사항이 표시됩니다.
7. 변경 사항에 만족하면 Save and Publish를 선택합니다.
그룹 구성을 게시하면 구성 동기화 그룹 내의 모든 인스턴스가 최신 그룹 구성과 동기화됩니다. 이렇게 하면 그룹의 모든 인스턴스에서 일관성을 유지하여 configuration drift를 방지할 수 있습니다.
7. 구성 동기화 상태 이해
Config Sync Groups 페이지의 Config Sync Status 열은 각 그룹 내 NGINX 인스턴스의 동기화 상태에 대한 통찰력을 제공합니다.
| Status | Description |
|---|---|
| In Sync | 구성 동기화 그룹 내의 모든 인스턴스는 그룹 구성과 일치하는 구성을 갖습니다. 아무런 조치도 필요하지 않습니다. |
| Out of Sync | 그룹의 인스턴스 중 하나 이상이 그룹 구성과 다른 구성을 갖습니다. 일관성을 보장하기 위해 불일치 사항을 검토하고 해결해야 할 수도 있습니다. |
| Sync in Progress | 인스턴스가 현재 그룹의 구성과 동기화되고 있습니다. 이 상태는 인스턴스가 새 그룹으로 이동하거나 구성이 적용될 때 나타납니다. |
| Unknown | 이 그룹의 인스턴스 동기화 상태를 확인할 수 없습니다. 이는 연결 문제, 인스턴스가 오프라인 상태 또는 기타 요인 때문일 수 있습니다. 이 상태의 원인을 조사하는 것이 좋습니다. |
Config Sync Status를 모니터링하면 구성이 그룹 내 모든 인스턴스에 일관되게 적용되어 configuration drift 위험이 줄어듭니다.
NGINX One 또는 NGINX Plus를 직접 사용해 보시려면 NGINX STORE에 연락하여 논의하십시오.