ddps-lab / cloud-usage

MIT License
1 stars 1 forks source link

add the user name in usage report #44

Closed Kim-Yul closed 5 months ago

Kim-Yul commented 5 months ago

43 이슈의 내용을 코드로 구현합니다.

우선 daily usage report 부터 수정하였습니다.

image image

수정된 내용은 다음과 같습니다.

  1. 어떤 user의 인스턴스인지 명확히 표시합니다.
    • 단, aws 내에서 생성된 경우 기존 InstanceLaunch에서 aws로 보이게 수정하였습니다.
  2. spot fleet으로 생성된 경우 인스턴스 키의 네임을 가져옵니다.
    • 랩실의 User Name은 보통 10자 이내라는 점을 이용하여, user name이 10자 이상일 경우에만 key mame으로 받아오게 설정하였습니다.
    • 또한, spot fleet의 이름은 sfr-로 시작하는 접두사가 특징적이며, 인스턴스의 이름이 상당히 길어 모니터링 길이가 길어지는 것 같아 임의로 spot fleet이라는 이름을 부여하였습니다.
    • 위 spot fleet의 이름이 붙는 것보다 그냥 이름이 붙는 것이 나으실 거라고 판단하면 코드 수정하도록 하겠습니다.

이어서 run & stop report 수정하겠습니다.

Kim-Yul commented 5 months ago

run & stop instance report 진행 사항입니다.

이슈에는 IAM의 이름을 가져오는 것을 원하셨지만, ec2 목록 중에는 인스턴스를 생성한 User의 name을 가져올 수 없습니다. 가져오려면 run instance의 정보를 가져오는 방법이 있을 수 있겠지만, 이 리포트는 daily usage instance와 같이 할 필요 없는 시스템이라 생각하여 key name을 받아오게 하였습니다.

key name으로도 충분히 어떤 user가 생성한 인스턴스인지 확인할 수 있다고 생각하여 key name으로 하였는데, Iam user 명을 가져와야 하는 부분일까요?

image

우선 말씀하셨던 이슈에 부합하도록 코드 수정 완료하였습니다. 부과적으로 실행 중이거나 중단된 인스턴스가 없는 경우 날짜만 덜렁 오게 되어 있었는데, 이 부분에서 확실히 실행 중이거나 중단된 인스턴스가 없다고 명시할 필요가 있을 것 같아 추가해두었습니다.

변경된 사항 확인부탁드립니다!

Kim-Yul commented 5 months ago

spot fleet의 경우 user name이 독특하게 잡힙니다.

image

위 케이스의 경우 470751e1-7686-456b-b70e-6d41a350로 이름이 잡혔고, 이 부분에 대해서 user name을 더 알아보는 것보다 인스턴스에 부여한 key name을 받아오는 것이 더 좋을 것이라 생각하여 key name을 받아오게 하였습니다.

image

ys-oregon2 키가 있는 것이 키 뒤에 2를 붙일 일이 없을 것이라 생각하여 코드 점검을 해보았지만, log 와 마찬가지로 실제 있는 키가 ys-oregon2 인 것을 확인했습니다. 즉, 인스턴스에 실제 부여한 이름이 ys-oregon2 입니다. 그리고 ys-oregon2ys-oregon으로 부여된 것은 코드 상 에러가 아닌 실제 존재하는 키 내역입니다.

image

코드 상 에러가 없는 것을 확인하였습니다.

Kim-Yul commented 5 months ago

코드 수정하였습니다. 슬랙에도 정상적으로 전송된 것을 확인하였습니다.

image

확인해주시면 며칠 확인해보고 머지 진행하겠습니다.

Kim-Yul commented 5 months ago

약 3일 간 모니터링 진행하였으며 눈에 띠는 큰 에러 사항이 발견되지 않아 코드 머지 진행하겠습니다.