본문 바로가기
Azure & Windows/Azure

How to create Azure Service Fabric Cluster with security

by 강철 벼룩 2018. 1. 28.

최근에(2018/01/24일자로 기억하지만, 정확하지는 않음) Azure Service Fabric을 만드는 과정에서 설정하는 [보안] 설정에 변화가 있었습니다.

기존에는 개발과 테스트를 위해  [unsecure]라는 옵션을 선택할 수 있었지만, 이젠 무조건 인증서를 사용한 보안 접속만 허용합니다.

따라서 이 글에서는 개발과 테스트용도로 사용할 때 자체 서명 인증서를 이용하는 방법을 설명합니다.


리소스 그룹과 키 자격 증명 모음(Key Vault) 만들기

먼저 Service Fabric과 키 자격 증명 모음(Key Vault)을 관리할 리소스 그룹을 만듭니다.

여기서 사용할 리소스 그룹의 이름은 'mymicroservice-kdk'로 하겠습니다.


1. 허브에서 [리소스 그룹]을 선택하고 오른편 창 상단에서 [추가]를 클릭합니다.


2. 리소스 그룹 이름을 입력하고 리소스 그룹 위치(여기서는 '일본 동부')를 선택하고 [만들기]를 클릭합니다.




이제 키 자격 증명 모음을 만듭니다.


3. 허브에서 [새로 만들기]-[보안 + ID]를 선택하고 오른쪽 [추천]에서 [Key Vault]를 클릭합니다.


4. 다음 항목에 값을 입력합니다. 나머지는 기본 값으로 남깁니다. [만들기]를 클릭합니다.
- 이름: mymicroservicekv
- 리소스 그룹: 조금 전에 만든 그룹 사용
- 위치: 일본 동부




3. [키 자격 증명 모음]이 만들어지면, 허브에서 [리소스 그룹]-[키 자격 증명 모음]을 선택하고 키 자격 증명 모음 블레이드에서 [액세스 정책] 항목을 클릭합니다.


4. 오른편에 확장된 블레이드에서 [클릭하여 고급 액세스 정책 표시] 링크를 클릭한 다음, [배포를 위해 Azure Virtual Machines에 대한 액세스 사용] 확인란을 선택하고 [저장]을 클릭합니다.




Azure Service Fabric 만들기

이 글에서 다루는 주제인 Service Fabric 리소스를 만들어 볼 차례입니다.

Service Fabrice이 무엇인지 궁금하신 분은 다음 링크를 통해 Azure Service Fabric 개요를 살펴보시기 바랍니다.


1. 허브에서 [새로 만들기]-[계산]을 선택하고 오른쪽 [추천]에서 [서비스 패브릭 클러스터]를 클릭합니다.


2. [기본 설정 구성]에서 다음 항목에 값을 입력합니다.
- 클러스터 이름: mymicroservicesf-kdk
- 운영 체제: WindowsServer 2016-Datacenter
- 사용자 이름: steelflea
- 암호 / 암호 확인: Pa$$w0rd
- 리소스 그룹: 조금 전에 만든 그룹 사용
- 위치: 일본 동부


3. [클러스터 구성 설정]에서 노드 유형 개수를 1로 설정하고 [노드 유형 1]을 선택해 다음과 같이 설정합니다.
- 노드 유형 이름: Web
- 내구성 계층:
- 사용자 지정 끝점: 8082
- 초기 VM 확장 집합 용량: 5 (Azure 구독 유형에 따라 가능한 숫자가 다를 수 있습니다. 무료 체험 버전은 3으로 설정하세요.)




4. [클러스터 구성 설정]의 [가상 머신 크기] 항목을 선택하고 [D1_V2 표준]을 선택하고 [확인]을 클릭합니다.




5. [노드 유형 구성] 블레이드에서 [확인]을 클릭한 다음 [클러스터 구성] 블레이드에서 다시 [확인]을 클릭합니다.




6. [보안 설정 구성]에서 [Configuration Type]에 [Basic]을 선택합니다.


7. [보안 설정 구성][Key vault] 필수 설정 구성을 선택하고 조금 전에 만든 'mymicroservicekv'를 선택합니다.




8. [보안 설정 구성][Certificate Name]에 'mymicroservice-selfcert'를 입력하고 [확인]을 클릭합니다.




9. [검토, 템플릿 보기, 만들기]에서 "유효성 검사 통과"로 결정되면 [만들기]를 클릭해 서비스 패브릭 클러스터를 만듭니다.



Azure Service Fabric 연결을 위한 인증서 다운로드

관리 클라이언트에서 서비스 패브릭 클러스터에 보안 연결을 하려면 조금 전에 만든 mymicroservice-selfcert 인증서가 필요합니다.

이 인증서는 [키 자격 증명 모음]에서 다운로드 할 수 있습니다.


1. [리소스 그룹]에서 앞서 만든 'mymicroservice-kdk' 리소스 그룹을 선택하고 [mymicroservicekv] 항목을 클릭합니다.


2. [mymicroservicekv] 블레이드에서 [비밀]을 클릭하고, 앞서 만든 'mymicroservice-selfcert'를 선택합니다.




3. [mymicroservice-selfcert] 블레이드에서 [상태]가 '사용'인 현재 버전을 선택하면 확장되는 비밀 블레이드 맨 아래의 [인증서 다운로드] 버튼을 클릭해 적절한 위치에 저장합니다.




관리 클라이언트에 인증서 설치

이제 거의 마지막 작업에 가까이 왔습니다.

클라이언트 노드에 앞 단계에서 다운로드한 인증서를 설치하기 위해 MMC 스냅인을 사용합니다.


1. [Windows]+[R]을 눌러 [실행]창을 띄우고 'mmc'라고 입력한 다음 [확인]을 클릭해 [Microsoft Management Console]을 실행합니다.


2. [파일]-[스냅인 추가/제거] 메뉴를 클릭하면 실행되는 [스냅인 추가/제거] 창에서, [사용 가능한 스냅인] 항목 아래의 [인증서]를 선택하고 [추가]를 클릭합니다.




3. [인증서 스냅인] 창에서 [내 사용자 계정]을 선택하고 [마침] 버튼을 클릭합니다.




4. [스냅인 추가/제거] 창에서 [확인]을 클릭합니다.




5. 콘솔 화면의 왼편 창 [콘솔 루트]-[인증서-현재 사용자]-[신뢰할 수 있는 사용자] 항목을 마우스 오른쪽 클릭하면 표시되는 컨텍스트 메뉴에서 [모든 작업]-[가져오기]를 클릭합니다.




6. [인증서 가져오기 마법사]의 [인증서 가져오기 마법사 시작] 화면에서 [다음]을 클릭합니다.


7. [가져올 파일] 화면에서 [파일 이름] 텍스트 상자 옆 [찾아보기] 버튼을 클릭해 앞서 다운로드한 파일을 선택합니다 ([열기] 창에서 하단의 'x.509 인증서'가 선택된 드롭다운 버튼을 클릭해 '모든 파일'로 선택해야 인증서가 보인다). [다음] 버튼을 클릭합니다.




8. [개인 키 보호] 화면에서 [다음] 버튼을 클릭합니다.


9. [인증서 저장소] 화면에서 [인증서 저장소] 항목에 '신뢰할수 있는 사용자'가 선택된 것을 확인하고 [다음] 버튼을 클릭합니다.




10. [인증서 가져오기 마법사 완료] 화면에서 지정한 설정을 확인하고 [마침]을 클릭합니다.




11. 다시 콘솔 화면으로 돌아와서, 가져온 인증서가 보이는지 확인합니다.



12. 콘솔 화면의 왼편 창 [콘솔 루트]-[인증서-현재 사용자]-[개인용]에서 동일한 방식으로 인증서 가져오기를 한 번더 합니다.


Azure Service Fabric 클러스터 탐색기 보안 접속

이제 서비스 패브릭 클러스터를 만들고 인증서 준비까지 마쳤으므로 관리 클라이언트에서 서비스 패브릭 탐색기로 보안 연결이 되는지 확인해봅니다.


1. [리소스 그룹]-[mymicroservice-kdk]를 클릭하고 [mymicroservicesf-kdk]라는 이름의 서비스 패브릭 클러스터를 선택합니다.


2. [개요] 노드의 상단 [기본 정보] 섹션 아래 부분의 [Service Fabric Explorer] 링크를 클릭합니다.


3. 브라우저의 새 탭에서 보안경고(자체 서명 인증서를 사용하기 때문)를 뛰우지만, 아래의 [세부 정보]라는 링크를 클릭하면 추가 내용이 표시됩니다. 맨 아래 [웹 페이지로 이동]이라는 링크를 클릭합니다.




4. [인증서 확인] 창이 뜨면 [확인]을 클릭합니다.




5. [자격 증명 필요] 창이 뜨면 [허용]을 클릭합니다.




6. 잠깐 기다리면, 다음 화면과 같은 [Service Fabric Explorer] 화면을 만날 수 있습니다.

여기까지 왔다면, 이제 Azure Service Fabric을 사용할 준비가 끝났습니다.