IT 지식/aws

aws 도전기 1 - aws ec2 발생 비용 후기

Creative Curiosity 2025. 1. 7. 15:08
728x90
반응형

요즘 isaac sim 을 클라우드에서 돌리기 위해 한창 노력 중이다. 

aws 가 가장 유명한 클라우드 서비스라고 알고 있어서 이것을 선택했다. 

 

isaac sim 에서도 다행히 aws 를 통해 어떻게 isaac sim 을 시작하는지에 대한 문서를 제공한다. 

https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_advanced_cloud_setup_aws.html

 

AWS Deployment — Omniverse IsaacSim

Note If you see “You have requested more vCPU capacity than your current vCPU limit”, stop your running instances to free up vCPU usage and try again.

docs.omniverse.nvidia.com

이 링크가 바로 그것이다. 

 

또한 외국 유튜버에 한해서 같이 따라할 수 있게 직접 소개해주는 유튜버도 있다. 

https://www.youtube.com/watch?v=RVMAyyVGAC4

 

 

참고로 한국 유튜버 중에서도 아래와 같이 훌륭한 영상을 찍어주시는 분들도 있어서 너무 감격이다. 

https://www.youtube.com/watch?v=rMlwqXs3h84

 

 

 

 

그래서 어제 aws 를 통해 insatance 를 하나 열고 연결까지 성공했다. 

instance 는 아래와 같이 설정했다. 

 

 

 

g5.2xlarge, seoul region 에 대한 스펙과 그에 대한 요금은 아래 사이트에 자세히 나온다 

https://instances.vantage.sh/aws/ec2/g5.2xlarge?region=ap-northeast-2&selected=g5.2xlarge&os=linux&cost_duration=hourly&reserved_term=Standard.noUpfront

 

g5.2xlarge pricing and specs - Vantage

g5.2xlarge The g5.2xlarge instance is in the gpu instance family with 8 vCPUs, 32.0 GiB of memory and up to 10 Gibps of bandwidth starting at $1.212 per hour. paid Pricing US East (N. Virginia) Asia Pacific (Tokyo) Asia Pacific (Singapore) Asia Pacific (Sy

instances.vantage.sh

 

그런데 별로 한 것도 없이 그저 ubuntu 20.04 로 기본 세팅되어 있는 환경을 ubuntu 22.04 로 업그레이드 했을 뿐인데 다음과 같이 요금이 나왔다. 느낌상 한 시간 반정도 쓴 것 같다. 

 

환율이 현재 시점으로 1452원 이니 한시간만에 2000원 정도가 나온 것이다. Isaac sim 도 설치 못했고, 그저 업그레이드만 했을 뿐인데 ㅠㅠ pc 방 과 비슷하다. 여기서 isaac sim 을 돌려서 gpu를 더 썼으면 어떻게 됐을지 모르겠다.

 

 

아 참고로 콘솔 홈에서도 비용을 볼 수 있는데 오른쪽 상단에 나의 인스턴스를 만든 리젼(지역)으로 바꿔야 보인다. 안그러면 비용이 계속 0원으로 뜰 것이다. 나 같은 경우 기본 default 가 미국 버지니아 북부 리젼으로 계속 설정되어 있어서 비용이 계속 0원이어서 당황했다. 

 

 

또한 프리티어 사용량을 훨씬 초과했다는 이메일을 받아서 확인해봤더니 AWS data transfer regional bytes 가 4GB 나 사용했다고 한다. 

참고로 여기서 AWS data trasfer 가 맨 위에와 3번째에 이렇게 두개 있는데 , 그 차이는 다음과 같다.

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------

AWS에서 제공하는 무료 데이터 전송 할당량은 크게 두 가지 종류가 있습니다.

  • AWS 내 데이터 전송: 같은 AWS 지역 내에서 데이터를 이동하는 경우입니다. 예를 들어, S3 버킷에서 EC2 인스턴스로 데이터를 복사하는 경우가 여기에 해당됩니다. 이 경우, 매달 1GB까지는 무료로 사용할 수 있습니다.
  • AWS 외부 데이터 전송: AWS에서 인터넷으로 데이터를 보내는 경우입니다. 예를 들어, S3 버킷에 저장된 파일을 웹사이트에 제공하기 위해 인터넷으로 전송하는 경우가 여기에 해당됩니다. 이 경우, 매달 100GB까지는 무료로 사용할 수 있습니다.

두 가지의 차이점을 요약하면 다음과 같습니다.

  • 데이터 이동 방향: 하나는 AWS 내부, 다른 하나는 AWS 외부로 데이터를 이동하는 경우입니다.
  • 무료 할당량: AWS 내부 이동은 1GB, AWS 외부 이동은 100GB로, 외부 이동에 대한 무료 할당량이 훨씬 더 큽니다.

왜 이런 차이가 있을까요?

AWS는 고객들이 데이터를 클라우드에 저장하고, 필요에 따라 자유롭게 사용하도록 장려하고 있습니다. 따라서 AWS 내부에서 데이터를 자유롭게 이동하는 것은 클라우드를 효율적으로 활용하는 데 필수적이라고 판단하여 1GB의 무료 할당량을 제공합니다. 반면, AWS 외부로 데이터를 많이 보낼수록 비용이 많이 발생할 수 있기 때문에, 고객들이 무료 할당량을 초과하지 않도록 100GB라는 더 큰 할당량을 제공하는 것입니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

그러면 aws data transfer regional-bytes가 왜 이렇게 나왔나 찾아보니 다음과 같은 원인이 있었다. 

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------

AWS 내 데이터 전송 발생 시나리오에 대한 심층 분석

질문: EC2 인스턴스에 SSH로 연결하여 Ubuntu 버전을 업그레이드하는 과정에서 AWS 내 데이터 전송 비용이 발생했다는 점에 대해 의문을 제기하셨습니다.

답변:

일반적으로 SSH를 통해 EC2 인스턴스에 연결하여 Ubuntu 버전을 업그레이드하는 과정에서 발생하는 데이터 전송량은 매우 적어 AWS 내 데이터 전송 무료 할당량 1GB를 초과하기는 어렵습니다. 따라서 질문자님께서 경험하신 비용 발생은 다른 요인에 의한 것일 가능성이 높습니다.

비용 발생의 주요 원인:

  1. 패키지 설치 및 업데이트:
    • Ubuntu 버전 업그레이드 시 다양한 패키지들이 설치되거나 업데이트됩니다. 이 과정에서 패키지 파일들이 다운로드되고 설치되는데, 이때 데이터 전송이 발생할 수 있습니다.
    • 특히, 커널 업데이트나 대규모 애플리케이션 설치 시 상대적으로 많은 데이터 전송이 발생할 수 있습니다.
  2. 로그 파일 생성 및 전송:
    • 버전 업그레이드 과정에서 다양한 로그 파일들이 생성되고, 이 로그 파일들이 S3 버킷과 같은 다른 저장소로 전송될 경우 데이터 전송 비용이 발생할 수 있습니다.
  3. 백업 및 복원:
    • 버전 업그레이드 전에 데이터를 백업하고, 업그레이드 후 복원하는 과정에서 데이터 전송이 발생할 수 있습니다.
  4. 기타 서비스 이용:
    • CloudWatch Logs, CloudTrail 등의 서비스를 이용하여 로그 데이터를 수집하거나, 데이터베이스를 사용하는 경우에도 데이터 전송이 발생할 수 있습니다.

비용 확인 및 절감 방안:

  1. AWS Cost Explorer:
    • AWS Cost Explorer를 통해 상세한 비용 내역을 확인하고, 어떤 서비스에서 비용이 발생하는지 분석할 수 있습니다.
    • 특히, 데이터 전송 비용 항목을 중심으로 분석하면 문제를 파악하는 데 도움이 됩니다.
  2. CloudWatch Logs Insights:
    • CloudWatch Logs Insights를 이용하여 로그 데이터를 분석하여 문제의 원인을 파악할 수 있습니다.
    • 예를 들어, 패키지 설치 로그, 시스템 로그 등을 분석하여 비정상적인 데이터 전송이 발생한 시점과 원인을 찾을 수 있습니다.
  3. EC2 인스턴스 스냅샷:
    • EC2 인스턴스 스냅샷을 생성하여 인스턴스 상태를 백업하고, 필요한 경우 스냅샷에서 인스턴스를 복원할 수 있습니다.
    • 스냅샷 생성 시 발생하는 데이터 전송 비용을 줄이기 위해 EBS 볼륨을 압축하여 스냅샷을 생성하는 방법을 고려할 수 있습니다.
  4. EBS 최적화:
    • EBS 볼륨의 I/O 크기와 IOPS를 인스턴스의 작업 부하에 맞게 조정하여 불필요한 데이터 전송을 줄일 수 있습니다.
  5. S3 저장 클래스 선택:
    • S3에 저장하는 데이터의 접근 빈도에 따라 적절한 저장 클래스를 선택하여 비용을 절감할 수 있습니다. 자주 접근하는 데이터는 Standard 클래스, 드물게 접근하는 데이터는 Infrequent Access 또는 Glacier 클래스를 사용하는 것이 좋습니다.

추가 조언:

  • 정기적인 비용 검토:
    • AWS Cost Explorer를 통해 정기적으로 비용을 검토하고, 불필요한 비용 발생을 방지해야 합니다.
  • 자동화:
    • CloudFormation, AWS Config 등을 이용하여 리소스를 자동으로 관리하고, 비용을 절감할 수 있습니다.
  • AWS 프리 티어 활용:
    • AWS 프리 티어를 활용하여 무료로 다양한 서비스를 사용해 볼 수 있습니다.

결론:

EC2 인스턴스에서 Ubuntu 버전을 업그레이드하는 과정에서 발생한 비용은 다양한 요인에 의해 발생할 수 있습니다. AWS Cost Explorer를 통해 상세한 비용 내역을 분석하고, 위에서 제시된 해결 방안들을 적용하여 비용을 절감할 수 있습니다.

더 자세한 분석을 위해서는 다음 정보를 제공해 주시면 도움이 됩니다.

  • AWS Cost Explorer 화면 캡처: 비용이 발생한 항목을 자세히 확인할 수 있습니다.
  • EC2 인스턴스 유형: 인스턴스 유형에 따라 데이터 전송 비용이 달라질 수 있습니다.
  • 업그레이드 과정: 어떤 패키지를 설치했으며, 어떤 작업을 수행했는지 자세히 설명해주세요.
  • S3 버킷 사용 여부: S3 버킷을 사용하여 데이터를 저장하거나 전송했는지 여부를 알려주세요.

주의: 위 내용은 일반적인 정보이며, 질문자님의 환경에 따라 적용 방식이 다를 수 있습니다.

 

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

함부로 aws 우분투 업데이트를 하면 안되겠다 ㅠㅠ 

더군다나 aws 우분투를 22.04로 업그레이드 하고 나니 isaac sim 홈페이지에서 언급하고 있는 코드가 에러가 나며 먹히지 않았다 kernel 문제라고 하는데 에러는 다음과 같았다. 

 

 ERROR: The nvidia kernel module was not created.

  ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.

         You may find suggestions on fixing installation problems in the README available on the

         Linux driver download page at www.nvidia.com. 

 

그래서 해결하려고 찾아봤는데 그 사이 계속 비용이 나갈 것 같아서 일단 insatance 작업에서 중지를 선택하고 로그아웃하였다. 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------

이후 유튜브로 aws ec2에 대해 강의를 몇 개 찾아 듣다보니 ec2 인스턴스를 중지하면 계속 그 저장비용이 발생하게 되고, ec2 인스턴스를 죵료(삭제)해야 그 볼륨에 대한 비용까지 아예 안나온다고 한다... 그렇지만 나의 경우는 그런 비용은 아니었고 그저 g5.2xlarge 를 온전히 사용한 결과라고 한다. 이러한 자세한 비용은 청구서 - 확장 버튼을 누르면 알 수 있다.

 

 

어쩄든 인스턴스를 바로 종료를 눌러 삭제했고 강의를 몇개 더 들어본 뒤에 해야겠다. 

찾아보니 인스턴스라는 것이 필요하면 만들고 필요없으면 삭제하면 되니, 부담없이 편하게 테스트용으로 많이 만들고 삭제해봐도 될 것 같다. 

아래는 ec2 종료 및 비용에 대한 훌륭한 영상입니다. 

 

https://www.youtube.com/watch?v=7NO2mgSVyQc&t=1s

 

https://www.youtube.com/watch?v=CuvZTFJyufI

 

728x90
반응형