Oracle Cloud(오라클 클라우드) - 같은 리전내 다른 계정과의 연결 - Local VCN Peering

Last Updated on 11월 28, 2020 by 태랑(정현호)

Oracle Cloud 의 Key Concepts and Terminology


먼저 Oracle Cloud의 Key Concepts and Terminology 를 살펴보면 여러가지 용어와 내용이 있습니다 

이중에 Hierarchy 구조의 개념으로  몇가지 설명 드리면 간략하게
Tenancy(테넌시) - Region -  Compartment(컴파트먼트) - OCI Resource
의 순으로 대략적으로 설명할 수 있을 것 같습니다.




Tenancy 는 클라우드 계정을 생성하면 tenancy가 생성이 되게 되고 쉽게 계정 과 같은 의미로 생각 하시면 됩니다.

Region 은 데이터 센터가 운영되는 지리적인 영역을 의미합니다.

Compartment는 자원들을 구성/관리 그리고 보안적 격리, 엑세스 제어 등의 목적으로 하는 논리적인 개념의 구조 라고 생각하면 됩니다.
Tenancy가 생성되면 최초로 Root Compartment 하나가 생성 되며 바로 VCN과 Compute instance 그리고 다른 OCI Resource를 생성하게 되면 이 Root Compartment(한글로 구획)에 속해지게 됩니다
또는 처음에 구획(Compartment) 을 생성후 특정 구획에 VNC,Compute 리소스 등을 생성하여 사용할 수 있습니다.

OCI Resource  는 VCN ,Subnet 과 같은 네트워크 리소스,  Compute Instance 등이 있습니다


대략적인 그림으로 보면 이렇게 표현 될 수 있을 것 같습니다
이미지는 쉽게 이해할 수 있는 간단한 이미지로 선택 하였습니다.




* 상세한 내용보다 간략하게 설명에 중점을 두었습니다.



피어링은 두 VCN 간의 단일 피어링 관계


Oracle Cloud(오라클 클라우드) 에서 Peering 은 두 VCN(Virtual Cloud Network) 간의 연결을 의미 합니다.

리전 내에 Compartment(root)/구획이 있고 별도로 생성 하였다면 하위의 구획이 있을 것입니다.

위에서 설명한 구획 별로 리소스의 생성이나 관리를 하는 구조 이며 구획별 생성된 VCN 을 연결하거나 같은 리전내 다른 Tenancy와 연결, 혹은 다른 리전의 VNC 과의 연결 하여 private ip 간의 통신을 연결하는 것을 peering 이라고 할 수 있습니다.




peerig은 2가지로 분류 할 수 있습니다.
- Local VCN Peering  : 같은 리전내에 VNC을 연결 할 경우 / tenancy는 같거나 달라도 됩니다
* 아래 이미지는 같은 Tenancy 내에 다른 구획 간의 VCN의 연결을 의미 합니다.



* 같은 리전내에 다른 Tenancy 간의 연결






- Remote VNC Peering : 다른 리전과의 VCN 을 연결



* 중요한 점은 2개의 peering 모두 내부 IP대역 CIDR 이 달라야 합니다(겹치면 안됨)



이번 포스팅은 같은 리전 내에 다른 Tenancy 을 연결 상황인 Local VCN Peering 을 설명 드리려고 합니다.




Local VCN Peering 구성 환경


먼저 가장 중요한 전제조건은 연결하려는 VCN의 내부 IP대역대가 달라야 합니다
VNC 그리고 VCN과 관련된 서브넷 등이 Root Compartment에 있어서는 안됩니다
별도의 서브 Compartment이어야 합니다(Compartment는 변경할 수 있음)


설정하는 환경은 아래와 같은 환경에서 진행 하려고 합니다.
Region : Seoul
Tenancy 1 : A1
Compartment : A1-compart
CIDR Block : 10.0.0.0/16

Region : Seoul
Tenancy 2 : A2
Compartment: A2-compart
CIDR Block : 10.2.0.0/16

* Tenancy 와 Compartment 명은 예시입니다
* Root Compartment 가 아닌 별도로 생성한 구획에 리소스가 있는 상황 입니다.
* 구성이 완료된 상태에서 글 작성이라 스크린샷에는 내용이 있을수도 있습니다.





Local Peer Gateway 생성


* 연결할 Tenancy  혹은 department 양쪽 모두에 생성 합니다.



네트워킹 -> 가상 클라우드 네트워크  로 이동 합니다.





먼저 아래 Compartment(구획) 에서 별도로 생성한 구획을 선택합니다






그런 다음 생성한 VCN 을 선택 합니다(VCN 이름은 다를수 있습니다)






로컬 피어링 게이트웨이를 선택 합니다.





로컬 피어링게이트웨이 생성 합니다.





로컬 피어링 게이트웨이 에서 사용할 이름을 입력 후 하단의 생성을 클릭 합니다.
이름은 여기서는 예시로 LGPn(1,2,3,4~n) 으로 사용하였습니다.





생성 후 상태는 "신규 - Not connected to a peer " 상태 입니다.




* 이 작업은 연결할 Tenancy  혹은 department 양쪽 모두에서 동일하게 생성 진행해야 합니다.



정책 설정


Tenany-Compartment 간의 연결에 있어서 Requestor와 Acceptor 정책을 설정 해야 합니다.

Acceptor 는 Tenancy 1 : A1 으로 할 것 입니다.
Tenancy 1 : A1
Compartment : A1-compart


Requestor 는 Tenancy 2 : A2 으로 할 것 입니다.
Tenancy 2 : A2
Compartment : A2-compart





# Requestor Policy
먼저 Requestor 정책구문을 생성 하겠습니다.



Tenancy 1 에서 계정 아이콘 - > 테넌시 -> OCID 복사 를 합니다.
예를 들어 OCID 가 "ocid.Tenancy-1-OCID-1234"  일 경우
구문작성 ==>    Define tenancy Requestor as  ocid.Tenancy-1-OCID-1234








Tenancy 1 에서 ID -> 그룹 으로 이동 합니다.






Administrators -> 점 3개 클릭






Administrators 의 OCID를 복사 합니다
예를 들어 OCID "ocid.Tenancy-1-group.1234"
구문작성 ==> Define group Administrators as ocid.Tenancy-1-group.1234





추가로 Requestor 의 Department 로 구문을 작성 합니다.

Tenancy 2 : A2
Compartment : A2-compart

Admit group Administrators of tenancy Requestor to manage local-peering-to in compartment A2-compart

Admit group Administrators of tenancy Requestor to associate local-peering-gateways in tenancy Requestor with local-peering-gateways in compartment A2-compart




정리하면 Requestor 에서의 구문은 아래와 같이 됩니다.

Define tenancy Requestor as ocid.Tenancy-1-OCID-1234
Define group Administrators as ocid.Tenancy-1-group.1234

Admit group Administrators of tenancy Requestor to manage local-peering-to in compartment A2-compart
Admit group Administrators of tenancy Requestor to associate local-peering-gateways in tenancy Requestor with local-peering-gateways in compartment A2-compart




Requestor 인 Tenancy 2 의   ID  ->  정책  으로 이동 합니다.






정책 -> 구획에서 Root Compartment 를 선택 -> 정책 생성 을 진행 합니다






정책이름 입력 후 -> 사용자정의(고급) 을 클릭 합니다.





정책 작성기에 위에서 작성한 정책을 입력 후 , 아래 생성을 클릭 합니다.







# Acceptor Policy
그 다음 Acceptor 정책구문을 생성 하겠습니다


Tenancy 2  에서 계정 아이콘 - > 테넌시 -> OCID 복사 를 합니다.
예를 들어 OCID 가 "ocid.Tenancy-2-OCID-1234"  일 경우
구문작성 ==>   Define tenancy Acceptor as  ocid.Tenancy-2-OCID-1234





추가 정책은 아래와 같이 작성 됩니다.
A1-compart 는 첫번째 Tenancy의 Compartment 입니다.


Allow group Administrators to manage local-peering-from in compartment A1-compart

Endorse group Administrators to manage local-peering-to in tenancy Acceptor

Endorse group Administrators to associate local-peering-gateways in compartment A1-compart with local-peering-gateways in tenancy Acceptor
-> 한줄로 입력


정리하면 아래와 같습니다.

Define tenancy Acceptor as  ocid.Tenancy-2-OCID-1234

Allow group Administrators to manage local-peering-from in compartment A1-compart
Endorse group Administrators to manage local-peering-to in tenancy Acceptor
Endorse group Administrators to associate local-peering-gateways in compartment A1-compart with local-peering-gateways in tenancy Acceptor
-> 한줄로 입력






Acceptor 인 Tenancy 1 의   ID  ->  정책  으로 이동 합니다.







Acceptor 인 Tenancy 1 의 정책 -> 구획에서 Root Compartment 를 선택 -> 정책 생성 을 진행 합니다





정책이름 입력 후 -> 사용자정의(고급) 을 클릭 합니다.






정책 작성기에 위에서 작성한 정책을 입력 후 , 아래 생성을 클릭 합니다.






경로 추가 및 Local-Peer Gateway 추가 설정


환경을 다시 한번 더 살펴 보면 아래와 같습니다.

Region : Seoul
Tenancy 1 : A1
Compartment : A1-compart
CIDR Block : 10.0.0.0/16

Region : Seoul
Tenancy 2 : A2
Compartment: A2-compart
CIDR Block : 10.2.0.0/16



네트워킹  ->  가상 클라우드 네트워크 로 이동 합니다






별도로 생성한 구획을 선택 합니다.






VCN을 선택합니다.






경로 테이블 로 이동합니다





Default Route Table 로 이동 합니다. 






경로 규칙 추가  ->  로컬 피어링 게이트웨이  를 선택 합니다






Requestor - 2번 Tenancy 에서 설정은 아래와 같이 1번의 CIDR Block 을 입력 해줍니다.






Acceptor - 1번 Tenancy 에서는 2번 서버의 CIDR Block 을 입력 합니다.






Requestor - 2번 Tenancy 에서 로컬 피어링 게이트웨이 로 이동합니다






Requestor - 2번 Tenancy  의 정보 에서 점 3개를 클릭 합니다






Requestor - 2번 Tenancy  에서 Local-Peer Gateway의 OCID 값을 복사 합니다.






이번에는 Acceptor - 1번 Tenancy 에서 동일하게 로컬 피어링 게이트웨이 에서 "피어링 접속 설정" 을 클릭 합니다.






"로컬 피어링 게이트웨이 OCID 입력" 을 선택 후 복사한 2번-Requestor OCID 를 입력 하여 줍니다.







위에서 접속 설정을 완료 하면 처음에는 보류 중 으로 상태가 확인 됩니다






시간이 조금 지나면(수분 이내) 양쪽의 local-peering gateway 정보에 피어링 됨 으로 확인 됩니다.
위에서 수행한 Local-Peering Gateway OCID 값 입력은 Acceptor 쪽에서만 하면 Requestor는 자동적으로 연결 됩니다.
즉 한곳에서 한번만 수행 하면 됩니다.













이번에는 서브넷 -> 공용 서브넷으로 이동 합니다.






Security list 에서 사용중인 보안 목록을 선택 합니다.






수신 규칙 추가 를 선택 합니다.







수신 규칙은 양쪽에서 서로의 CIDR Block 을 입력 해주면 됩니다.
2번 Tenancy  에서 1번 Tenancy 정보를 입력 합니다.




1번 Tenancy  에서 2번 Tenancy 정보를 입력 합니다



여기 까지 완료 되었다면 설정이 모두 완료 되었습니다.




마지막으로 ping  등으로 통신이 되는지를 체크를 해봅니다.

Tenancy 1 - ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.297 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.310 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=0.327 ms

Tenancy 2 - ping 10.2.0.2
PING 10.2.0.2 (10.2.0.2) 56(84) bytes of data.
64 bytes from 10.2.0.2: icmp_seq=1 ttl=64 time=38.3 ms
64 bytes from 10.2.0.2: icmp_seq=2 ttl=64 time=0.248 ms
64 bytes from 10.2.0.2: icmp_seq=3 ttl=64 time=0.291 ms
64 bytes from 10.2.0.2: icmp_seq=4 ttl=64 time=0.331 ms




[참고] 이 글은 한국오라클 김범준 엔지니어의 도움으로 이전에 구성 하였을 때의 이력과 기록을 기반으로 작성되었습니다.

Ref
https://docs.cloud.oracle.com/en-us/iaas/Content/Network/Tasks/localVCNpeering.htm
https://docs.cloud.oracle.com/en-us/iaas/Content/Resources/Assets/whitepapers/ko-KR/oci_security_KR.pdf




연관된 글

오라클 클라우드 - 프리티어 무료 사용 - 계정 생성 및 초기 생성

답글 남기기