Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[KT Cloud VPC] To use NLB, needs to support the subnet management features with a fixed name. #1105

Closed
innodreamer opened this issue Mar 4, 2024 · 8 comments
Assignees
Labels
enhancement New feature or request server

Comments

@innodreamer
Copy link
Member

innodreamer commented Mar 4, 2024

What would you like to be enhanced
: KT Cloud VPC (D platform)을 연동하여 NLB를 사용할 경우, 고정된 이름으로 미리 생성한 이름의 subnet을 드라이버 내부적으로 활용하여 NLB를 생성하도록 보완되어야함.

Why is this needed
: 아래의 사항들로 인해 위와 같은 보완이 필요함.

Proposed solution
(아래는 @powerkimhub 님과 논의하여 결정한 사항임)
: 위의 특징적 상황에서 아래와 같은 방법으로 NLB를 사용할 수 있도록 지원함.
(아래의 방법은 임시 해결책이며 향후 KT Cloud VPC 서비스 VPC/Subnet, NLB 서비스 변경 사항에 따라 변경될 수 있음.)

  • 먼저, 위와 같은 특징이 존재하지만, 타 CSP LB와 맞춰진 기존 공통 인터페이스를 subnet 정보를 추가하는 방향으로 변경할 수는 없음.
  • 사용자가 'NLB-SUBNET' 이라는 subnet을 CB-TB, CB-SP, 연동 드라이버 'API를 이용해' (콘솔에서 생성하는거 아님) 미리 생성하고
    (사용자가 'NLB-SUBNET' 이라는 고정된 이름의 subnet을 생성/조회/삭제가 가능해야함.)
  • KT Cloud VPC 서비스 기준으로 NLB 생성시에도 VPC 정보만 입력하고 subnet 정보는 입력하지 않음.
  • 위와 같이 NLB 생성 요청시 드라이버 내부적으로 'NLB-SUBNET' 이라는 이름의 subnet을 적용하여 그 subnet 범위 내에 NLB를 생성함.
    만약, 사용자가 'NLB-SUBNET' 이라는 subnet을 생성해 놓지 않아 존재하지 않으면 드라이버에서 error 메시지로 'NLB-SUBNET' 이라는 subnet을 생성하도록 안내함.
@powerkimhub
Copy link
Member

@innodreamer (@seokho-son )


[제안]

  • 상기 (안)으로 진행하기 전에 다음 사항 확인 부탁 드립니다.
  • 기본 Tier인 Private or DMZ를 활용한 NLB 생성 및 운영 가능 여부 확인
  • 참고: LB 생성시 기본 Subnet 목록


[시험 현황]

  • D-Cloud Console에서 Private Tier를 활용한 LB 생성 시험
  • Private/22 Port로 생성 후 제공 정보가 다음과 같습니다.


  • VM 연결 현황
    • 시험을 위해서 PrivateNLB-SUBNET에 각각 생성한 VM Attach, 22번 Port 연결
    • 다음처럼 동일 Private Tier VM만 UP


  • 이후, LB를 외부로 열어주면 될 것 같은데,
  • 이후 절차는 확인이 필요한 사항입니다.

@innodreamer
Copy link
Member Author

@powerkimhub (@seokho-son)
먼저 상식적으로 알고 있는 내용으로 DMZ 영역은 내부 네트워크 영역과 외부 영역의 사이에 위치해 있어서 내부 네트워크와 비교했을때 보안이 상대적으로 약합니다.
Ref) https://m.boannews.com/html/detail.html?idx=81495

그리고, 아래 내용을 봤을때 Private Tier 영역이 외부로는 완전히 차단된 거 같은데, Public IP를 하나 만들고 Static NAT 설정을 해서 외부에서 연결 가능한지 테스트해보겠습니다.
Ref) https://manual.cloud.kt.com/kt/compute-server-tier-d1

@powerkimhub
Copy link
Member

@innodreamer (@seokho-son )

  • 아, 확인 시험 전에 다음 사항에 대해 의견 부탁 드립니다.
  • LB에서 Private Tier를 활용한다 해도,
  • VM 생성시 Private Tier를 활용/설정하기 위해서는
  • 여전히, Tumblebug, Spider Server에서 Private을 Subnet List로 보여줘야 하는 예외 반영 사항은 남아 있네요.
    • 사용자가 정해진 NLB-SUBNET 이름의 Subnet을 생성하고 활용하느냐
    • 사용자가 생성 없이 고정된 Private Subnet을 TB, SP가 올려 주고 활용하느냐의 차이가 있겠네요.
  • 음... 일단, Spider 현재 버전에서는 default 자원을 올려 주는 개념이 없으니,
  • 원안 대로가 좋을 것 같습니다. 두가지 방법 모두 조건문을 포함하는 KT-VPC만의 코드 수정은 해야 하고..
  • 어떠신지?

@innodreamer
Copy link
Member Author

innodreamer commented Mar 5, 2024

@powerkimhub (@seokho-son)
저도 원안이 더 좋을거 같습니다.
타 CSP처럼 사용자가 원하는 subnet 영역으로 VM을 생성하고 그 영역에 LB를 생성하여 적용할 수는 없는 상황이지만, 어느정도의 제약이 있더라도 원안처럼 일반적인 내부 네트워크 환경에 VM을 생성하고 그 영역에 LB를 적용하도록 지원하는게 좋을거 같습니다.

@powerkimhub
Copy link
Member

@innodreamer (@seokho-son )

  • 일단, 원안으로 진행하도록 하겠습니다.
  • 감사합니다.

@innodreamer
Copy link
Member Author

innodreamer commented Mar 5, 2024

@powerkimhub (@seokho-son)
네. 검토 감사합니다.

위의 안 관련하여 추가적으로 생각나는 건, KT cloud D platform에서는 custom tier라고해서 VPC의 기본 CIDR와 무관하게 CIDR 영역 A class 숫자를 사용자가 지정하는 영역으로 사용할 수 있습니다. (Ex) 10.X.X.X)
(참고로, KT cloud D platform의 tier는 subnet 단위의 개념이지만, 하나의 VPC와 유사하게 하나의 tier 내에 영역이 다시 세분화됩니다. 예를 들어, VM을 사용하는 영역과 LB를 사용하는 영역 등)

따라서, CB-TB에서 추구하는 사항에 맞춰서 타 major CSP와 유사하게 NLB-SUBNET을 생성할때 10.X.X.X 영역대로 생성하는게 좋을거 같습니다. (CB-SP나 CB-TB에서 NLB-SUBNET 생성할때 권장)

@powerkimhub
Copy link
Member

@innodreamer

  • Spider 서버 반영하였습니다.

    • CreateVPC(), AddSubnet() 처리 시에 KTCLOUDVPC이면서,
    • 입력 Subnet Name이 NLB-SUBNET일 경우에는 Driver로 동일한 NameId로 내려 보냄
  • cf) 0f5af4c, 5cda83f

@innodreamer
Copy link
Member Author

@powerkimhub
네. 수고하셨습니다.
감사합니다!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request server
Projects
None yet
Development

No branches or pull requests

2 participants