OCI RPG 설정하기
이 글을 쓰게 된 계기는 별거 없습니다.
공식 문서대로 하면 안되기 때문에 작성하게 되었습니다.
Remote Peering Group 연결 공식 문서
먼저 공식문서를 보고 올까요?
https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/scenario_e.htm
지금은 upgraded Dynamic Routing gateway만 만들수 있습니다.
Upgraded DRG 문서를 따르면 됩니다.
이 문서까지는 틀린점이 없습니다.
이 문서를 간단히 요약해보겠습니다.
- 수락자에 요청자 region 추가
- 양쪽
region에Remote Peering Connections를 생성합니다. - 쌍방이 연결하는데 필요한 정보들을 주고 받고
요청자와수락자에 맞게IAM Policies를 생성합니다. - 요청자에서 연결을 요청하여 연결합니다.
- 라우팅 테이블을 설정합니다.
- security rule을 구성합니다.
여기서 문제는 2번에서 생성하는 IAM Policies가 문제입니다.
IAM Policies 공식 문서
RPG 연결 방법 페이지에서 2번째 절차의 상세 내용을 보면 이 링크를 따라서 IAM Policies를 생성하라고 안내 됩니다.
https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/drg-iam.htm#scenario_m__IAM_cross-tenancy
요청자
Define group requestorGroup as <requestorGroupOcid>
Define compartment requestorCompartment as id <requestorCompartmentOcid>
Define tenancy Acceptor as <AcceptorTenancyOcid>
Allow group requestorGroup to manage remote-peering-from in compartment requestorCompartment
Endorse group requestorGroup to manage remote-peering-to in tenancy Acceptor수락자
Define group requestorGroup as <requestor-group-ocid>
Define tenancy Requestor as <requestorTenancyOcid>
Define compartment acceptorCompartment as id <acceptorCompartmentOcid>
Admit group requestorGroup of tenancy Requestor to manage remote-peering-to in compartment <acceptorCompartment>여기에 각자의 변수를 적용해보겠습니다.
예제 변수는 다음과 같습니다.
저는 root compartment여서 tenancy ocid를 사용했습니다.
requestorGroupOcid: ocid1.group.oc1..requestorgroupocid
requestorCompartmentOcid: ocid1.tenancy.oc1..requestorcompartmentocid
AcceptorTenancyOcid: ocid1.tenancy.oc1..acceptorcompartmentocid
acceptorCompartmentOcid: ocid1.tenancy.oc1..acceptorcompartmentocid공식 문서대로 만든 IAM Policies: 틀린 정보
요청자
Define group requestorGroup as ocid1.group.oc1..requestorgroupocid
Define compartment requestorCompartment as id ocid1.tenancy.oc1..requestorcompartmentocid
Define tenancy Acceptor as ocid1.tenancy.oc1..acceptorcompartmentocid
Allow group requestorGroup to manage remote-peering-from in compartment requestorCompartment
Endorse group requestorGroup to manage remote-peering-to in tenancy Acceptor수락자
Define group requestorGroup as ocid1.group.oc1..requestorgroupocid
Define tenancy Requestor as ocid1.tenancy.oc1..requestorcompartmentocid
Define compartment acceptorCompartment as id ocid1.tenancy.oc1..acceptorcompartmentocid
Admit group requestorGroup of tenancy Requestor to manage remote-peering-to in compartment <acceptorCompartment>처음에 말씀드렸죠. 이 방법대로 하면 적용이 안됩니다
그러면 어떻게 해야 할까요?
올바른 Remote Peering Group 연결 안내 문서
저는 이 글을 보고 따라 했습니다.
결론으로 말씀 드리면, 그룹은 그룹 id를 적는 것이 아니라 그룹 이름을 적습니다.
https://velog.io/@codelab/Multi-Cloud-in-OCI-1-Remote-Peering
요청자
Define compartment requestorCompartment as id ocid1.tenancy.oc1..requestorcompartmentocid
Define tenancy Acceptor as ocid1.tenancy.oc1..acceptorcompartmentocid
Allow group 요청자그룹이름 to manage remote-peering-from in compartment requestorCompartment
Endorse group 요청자그룹이름 to manage remote-peering-to in tenancy Acceptor수락자
Define tenancy Requestor as ocid1.tenancy.oc1..requestorcompartmentocid
Define compartment acceptorCompartment as id ocid1.tenancy.oc1..acceptorcompartmentocid
Admit group 요청자그룹이름 of tenancy Requestor to manage remote-peering-to in compartment acceptorCompartment마무리
남은 작업은 동일합니다.
dynamic routing gateway라고 해서 저는 당연히 자동으로 routing table이 생성 되는 줄 알았습니다.
애초에 rpg 연결할 때 서로 다른 subnet 끼리만 연결이 가능하기 때문에, 서로 routing table을 알고 있기 때문이죠.
경로 규칙에서 routing rule 생성 해주고, 이 때 대상을 drg로 하여 생성해줍니다.

답글 남기기