-
Notifications
You must be signed in to change notification settings - Fork 47
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
Can't delete unused KeyPair in AWS #480
Comments
@powerkimhub 저 문제는 연관된 작업들이 많아서 고려해야할 부분들이 많으리라 봅니다. 현재 API 기반에서 자체 키 관리 기반으로 변경되면서 AWS에서 제공하지 않는 PublicKey 정보가 필수가 되었는데.. 키 파일을 삭제할 경우에도 키 파일의 정보를 먼저 조회하기 때문에 파일에서 Public 키의 정보를 가져오는 작업이 선행되고 있습니다. 만약, 키 정보 조회 시 .ssh-aws 폴더에 파일이 존재하지 않는 경우 에러로 예외 처리하지 않고 빈 데이터를 리턴해도 상관 없다면 전체 목록에 관리하지 않는 aws의 키를 포함할 수 있을 듯싶습니다. 위 가정대로 동작이 가능하다면 키 파일을 삭제할 때에도 동일하게... 그럭저럭 매끄럽게 수정된다면 대략 아래처럼 바뀌어야 할 듯 싶습니다.
그 외 다른 이슈가 있을지 모르겠지만 대충 소스 등을 살펴 봤을 때 저 부분들 위주로 수정하면 가능은 할 것같습니다. |
|
@powerkimhub 음... 의도 파악이 안되는데 AWS 키를 아예 안 쓴다는게 어떤 의미인가요? ^^;;;; 혹시 VM 생성 시 사용되는 키를 의미하는 것이라면 VM에는 AWS에서 생성된 키만 사용 가능합니다. |
|
@dev4unet VM 생성시PrivateKey 정보가 넘어가는게 아니라 단순히 AWS에 존재하는 키페어 이름만 전달하는 방식이라서요. 그리고 키 목록이 지금은 API의 리스트를 먼저 가져온 후 .ssh_aws 폴더에 파일이 없는 키들은 버리고 있습니다만.. 두 방식 모두 비슷비슷하겠지만 급하게 반영해야 한다면 소스 수정은 위에 제안드렸던 방식이 조금 더 빠를 수는 있습니다. 그렇지 않고 AWS의 KEY API에 의존하지 않고 완전히 자체 관리형태로 간다면 AWS의 키를 사용할 수 없는 이슈는 있지만... |
|
@powerkimhub 네, 로컬에 키 페어를 유지하는 이유는 cb-user 생성을 위한 PublicKey때문에 그렇습니다. cb-user를 생성할 때 PublicKey가 필요하기 때문에 외부에서 전달 받아서 사용하거나 VM에 존재하는 키 파일을 리눅스 쉘 커맨드를 이용해서 복사하는 방법이 있습니다. VM 생성 시 PublicKey를 외부에서 전달 받을 수 있으면 별도로 관리할 필요는 없지만.. Local에서 관리하지 않으려면 VM 생성시에 파라메터로 PublicKey를 전달 받거나... 아니면 cb-user 이슈에서 설명 드렸던대로 "ec2-user / root / ubuntu / ..." 처럼 OS 이미지마다 사용하는 계정 정보를 바탕으로 해당 계정이 존재하면 해당 위치의 키 파일을 복사하는 형태의 스크립트를 만들어도 가능은 합니다만 cloud-init의 길이 제한이 있어서 작성 가능한 스크립트 파일의 크기가 제한되니 어느 정도 예외 처리에 제한은 있으리라 봅니다. |
|
@powerkimhub [AWS] [Alibaba] [Tencent] 다른 CSP들이 실패라서 일단 AWS의 소스코드는 적용하지 않았습니다. |
[Alibaba]
[AWS] user(ubuntu) 변경 대비 필요
|
@powerkimhub 위의 runcmd 방식이 초기에 했었던 방식인데 AWS와 Tencent처럼 OS마다 기본 계정이 다른 CSP들이 있어서 사용해야할 계정 정보를 전달 받을 수 있어야 합니다. 알리는 현재 전부 강제로 root로 되는것 같아서 cloud-init을 공통으로 사용하지 않는다면 root로 고정하면 현재로서는 문제 없을 듯싶습니다만... 알리바바는 기본 유저로는 cb-user 자체가 생성이 안되지만 tencent는 cb-user과 그룹은 정상적으로 생성되는데.. AWS의 경우에는 default_user가 깔끔해 보이는데 바리스타를 이용해서 생성된 VM은 ec2-user 처럼 AWS에서 기본으로 가이드되는 기본 계정없이 ec2를 생성해도 무관할지에 대한 결정은 필요하리라 봅니다. 현재 AWS와 알리바바는 어느 정도 반영해도 상관 없을 듯싶은데 AWS는 default-user로 Alibaba는 root 계정에서 복사하는 형태로 키페어관리 로직들을 전부 제거하고 VM 생성에 관련 로직을 구현할까요? |
상세 현황 설명 캄사합니다.
[고려사항]
[계정현황]
[제안방법]
[공통 스크립트]
[고려이슈]
|
@powerkimhub 알리 클라우드는 웹 콘솔에서 테스트해 보면 정상적으로 동작하는데... 텐센트는 우분투 18.04에서 해당 스크립트를 이용하면 cb-user나 ubuntu 모두 로그인이 안되네요. |
|
@powerkimhub 보니까 텐센트는 /root/.ssh 폴더의 키가 0바이트네요. |
|
@powerkimhub 지금은 지원 VM 이미지을 기본 Ubuntu로 테스트하고 계시긴 할텐데.. |
|
[다음 내용 확인 부탁드립니다.]
------------ COMMON: AWS/Alibaba Ubuntu 18.04 => 성공
------------ Tencent : Ubuntu 18.04 => 성공
|
|
@powerkimhub 네, 텐센트를 제외하고 공통 스크립트 위쥐로 적용하고 키 페어 관리 로직을 CSP의 API 기반으로 수정하겠습니다. |
|
@hyokyungk OpenStack, IBM을 포함하여,
[취지] [최종] [기타] |
|
@dev4unet @hyokyungk @innodreamer
|
키관리가 없는 cloudit을 제외하고, Ibm(vpc), openstack, ms-azure를 이슈사항 관련해서 확인하였습니다. Ibm, openstack에서 cloud-init를 이용하는데 공통 스크립트 적용 시 문제 없이 작동합니다. azure의 경우 현재 로컬에서 sshkey를 만들어 사용하고 있는데, CSP의 sshkey 리소스를 이용하는 방법으로 변경한다면 로컬에 key를 저장하지 않고 이용 가능하다고 생각합니다. Ibm, openstack, azure 3가지 key이중관리 제거하도록 진행하겠습니다. |
[IBM 적용]
[AWS/Alibaba/Tencent 적용]
|
@dev4unet @hyokyungk @inno-cloudbarista @innodreamer [Patch 대상 및 적용 현황]
|
Local 키페어 관리 로직 제거 (이슈 cloud-barista#480) - Azure SSH-key 리소스 적용 로직 추가 및 local 키페어 로직 삭제
Local 키페어 관리 로직 제거 (이슈 cloud-barista#480) - Azure SSH-key 리소스 적용 로직 추가 및 local 키페어 로직 삭제
Local 키페어 관리 로직 제거 (이슈 cloud-barista#480) - Azure SSH-key 리소스 적용 로직 추가 및 local 키페어 로직 삭제
Local 키페어 관리 로직 제거 (이슈 cloud-barista#480) - Azure SSH-key 리소스 적용 로직 추가 및 local 키페어 로직 삭제 - cloud-init 스크립트 미적용 CSP
Local 키페어 관리 로직 제거 (이슈 cloud-barista#480) - Azure SSH-key 리소스 적용 로직 추가 및 local 키페어 로직 삭제 - cloud-init 스크립트 미적용 CSP
Local 키페어 관리 로직 제거 (이슈 cloud-barista#480) - Azure SSH-key 리소스 적용 로직 추가 및 local 키페어 로직 삭제 - cloud-init 스크립트 미적용 CSP
[Azure] - Local 키페어 관리 로직 제거 (이슈 #480)
- Openstack keypair 관리 로직 개선 > 생성 및 삭제 시 리소스 존재 유무 체크 및 에러 메세지 구체화 - cloud-init 스크립트 > 공통 cloud-init 사용 불가 : subflatform 기능 미제공
[openstack] - 키페어 관리 로직 개선 (이슈 #480)
@powerkimhub #538 NCP는 VM을 생성하면 root password를 제공하여 기본적으로 password 로그인만 가능해서 VM 내에서 root 계정 위치에 public key가 존재하지 않고, ubuntu 등의 기타 계정이 생성되어 있지않아 public key가 없어서 우선은 기존 방식(public key를 생성해서 VM에 적용하는 방식)을 cloud-init UserData script로 반영하는 방식으로 보완했습니다. 위의 내용은 아래의 표에 반영했습니다. |
[KT/NCP 적용] |
@dev4unet
What happened
[재현절차]
cb-spider/cloud-driver-libs/.ssh-aws
위치에 다음과 같이 키 파일이 생성되고,꼬인 정보를 해결하고자 관리모드로 KeyPair를 확인해보면,
아래 그림에서와 같이
cb-spider/cloud-driver-libs/.ssh-aws
에 관련 파일이 존재하는 목록만 보입니다.cb-spider/cloud-driver-libs/.ssh-aws
에 관련 파일도 삭제하면,[질문]
cb-spider/cloud-driver-libs/.ssh-aws
The text was updated successfully, but these errors were encountered: