AWS 예산을 사용해보겠습니다
빌링 콘솔의 왼쪽을 보시면
Budget(예산) 메뉴가 있는데
여기에서 예산을 만들어 보겠습니다
Budget setup에는 단순화된 버전의
템플릿을 사용할 수 있고
그 중에는 Zero spend budget의 경우
AWS Free Tier 한도를 초과하면 알림을 보내고
Monthly cost budget의 경우
특정 예산에 접근하거나 초과했을 때 알림을 보내는
예산을 생성할 수 있습니다
Daily Savings Plans coverage budget의 경우에는
세이빙 플랜에 정의된 타겟값 아래로
떨어질 경우에 알림을 보내는
커버리지 예산을 생성할 수 있습니다
이렇게 템플릿을 사용하게 되면
비교적 단순한 정의를 몇가지 해준 뒤
템플릿을 이용한 생성을 할 수 있지만
모든 예산 관련 옵션을 가질 수는 없게 됩니다
Customized(advanced) 섹션을 살펴보면
Cost(비용), Usage(사용), Savings Plans(세이빙 플랜),
Reservation(예약) 예산 등
여러 종류의 예산이 있습니다
비용 예산을 선택해서 살펴보면
한 달 단위의 월간 비용을 볼 수 있는데
이것은 제 실제 계정 중 하나이므로
실제 발생한 비용을 볼 수 있습니다
예산 이름을 입력하겠습니다
DemoBudget으로 하죠
그런 다음 예산의 기간을 보겠습니다
일간, 월간, 분기별, 연간 중 고르시면 되는데
Monthly(월간)으로 유지하겠습니다
다음은 이것이 반복되는 예산인지
월말에 만료되는 예산인지인데
반복되는 예산으로 설정하겠습니다
Budgeting method(예산 방식)은 Fixed(고정)으로 하고
매달 주어지는 예산으로 30달러를 입력하겠습니다
확인해보면 어떤 달에는
30달러 예산을 초과해서 사용했고
어떤 달에는 그보다 적게 사용했습니다
이처럼 예산의 임계치와 실제 비용이
시각화되도록
해주는 것이 좋습니다
Budget scope(예산 범위)에 대한 필터링도 가능한데요
지금은 모든 AWS 서비스로 설정되어 있습니다만
특정 AWS 비용 차원으로 설정해 필터링을 해줄 수도 있습니다
예를 들어 필터링할 서비스 목록에서
EC2 인스턴스에 대한 것만 보여지도록
필터를 적용해주면
몇 달 동안은 EC2 인스턴스 비용이 있었고
나머지 달에는 없었다는 것을 볼 수 있게 됩니다
이렇게 말 그대로 서비스별 필터링이 가능한데
EC2 인스턴스가 되었건 다른 서비스가 되었건 상관 없습니다
원한다면 KMS로 설정하는 것도 괜찮습니다
Key Management Service를 선택하면
오른쪽으로 해당 필터가 반영된
코스트 익스플로러가 보여지게 됩니다
이보다 더 세분화를 원하신다면
리전, 인스턴스 유형, 사용 유형,
Tag(태그), Availability zone(가용성 영역) 등
더 많은 디멘션을 선택하실 수도 있습니다
필터와 관련해서는 다양한 옵션들이 있습니다
리전 중 EU를 선택해서
이 필터를 적용해 보겠습니다
다음은 다른 옵션들인데
Unblended(비혼합), Amortized(분할납부),
Blended(혼합) 비용과 관련된 부분과
비용의 종류에 관련된 것도 있습니다
선택된 것들만 볼지, 아니면 Credit과 Refund 내용도 포함할지 등이죠
다음으로 넘어가겠습니다
이렇게 예산 금액이 생겼고
이제 예산 경보를 만들 수 있습니다
주어진 예산을 기반으로 언제 경보를 받을지를
정의하는 겁니다
예를 들어 실제 비용이 예산 금액의 80%에 다다르면
알림을 보내도록 설정한다면
이것에 근거해 이번 달에는
해당 알림을 받게 될 것입니다
이에 대한 이메일 수신자도 설정할 수 있는데
stephane@example.com을 수신자로 해두겠습니다
SNS 주제로 알림을 보내고 싶다면
Amazon SNS alerts를 이용하면 되고
챗봇을 통해 Amazon 차임 또는
지정한 슬랙 챗룸으로 알림을 보내고 싶다면
Amazon Chatbots를 이용하면 됩니다
실제 비용에 대한 경보뿐 아니라
예산 금액의 80%를 기준으로
예상 비용에 대한 경보를 설정할 수도 있는데
예정된 예산의 80%에
다다를 흐름이라고 판단될 경우
알림을 받는 것인데, 관련 알림을 미리
받아볼 수 있다는 점에서 좋은 기능이라 볼 수 있겠습니다
이건 여러분이 설정할 수 있는 다양한 경보입니다
다시 수신자 설정을 해주고나면, 완벽합니다
이제 Next 버튼을 두번 클릭해서 넘어가면
여기에서 모든 것을 검토할 수 있는데
사실 예산에 Action을 추가할 수도 있습니다
여기 4단계에서
Edit을 눌러 편집을 통해 Action을 추가할 수 있습니다
경보가 울리게 되면 어떤 일이 일어날지
실제 비용의 80%에 도달했을 때에 대한
Action을 추가해줄수 있는데
해당 Action의 실행은 IAM permission을 필요로 합니다
이럴 때는 수동으로 IAM role을 생성해
예산으로 하여금 특정 Action을 실행하도록 허용해줍니다
Role을 만들어 보겠습니다
AWS 서비스를 위한 것이고
해당 서비스는 예산입니다
이렇게 하면 예산이 우리를 대신해
AWS 리소스를 생성하고 관리할 수 있게 됩니다
Next를 클릭합니다
Permission policies(허가 정책)은 여기 있고
보시면 AWS Resource Access 관련 Budget Actions가 있습니다
만약을 위해 둘 다 추가해준 뒤
Next를 클릭해 넘어갑니다
Role의 이름은 AWSBudgetActionsRole이라고 설정하고
생성을 진행합니다
이제 해당 role이 생성되었으니
다시 돌아와 여길 새로고침 해주고 Select IAM role에서
AWSBudgetActionsRole을 찾아줍니다
롤 선택을 마쳤으니
적용할 Action을 선택해 주어야 합니다
예산이 임계값에 도달하면 사용자나 그룹,
또는 롤에 IAM 정책을 도입시켜
더는 EC2 인스턴스를 실행하지 못한다던가 하는 식으로
할 수 있는 것을 제한할 수도 있고
조직의 루트 또는 특정 Organization Unit(OU, 조직 유닛)에
서비스 통제 정책을 도입해 전체 조직 또는 OU를 통제할
가드레일을 정의할 수도 있습니다
많은 비용의 원천일지도 모를
EC2 인스턴스나 RDS 인스턴스를
자동으로 멈추는 것 또한 가능하며
특정 리전에서 EC2 또는 RDS를 멈출 수도 있습니다
AWS 예산 콘솔에서
실행할 수 있는 동작들입니다
지금은 아무 Action도 설정하지 않을 겁니다
Next를 클릭해 예산을 생성하겠습니다
적어도 모든 옵션을 살펴보기는 했네요
이 콘솔에서는 예산 자체와 더불어
실제 비용, 예상 비용과 함께
예산에 대비해 실제 그리고 예상 비용이 어느 정도에 이르렀는지를
그래프를 통해서도 확인할 수 있습니다
이번엔 다른 예산을 살펴보겠습니다
Customized(advanced)를 선택하고
특정 사용량을 살펴볼수 있는
Usage(사용) 예산을 선택해 보겠습니다
스크롤을 내리면
Usage Type Group과 Usage Type이 있는데
예를 들어 Data Transfer - Inter AZ를 선택하고
예산을 배정해줄 수 있습니다
이 부분은 같은 옵션이고요
또다시 예산 생성 단계로 가서
이번에는 세이빙 플랜 예산을 선택해
지정된 세이빙 플랜을 기준으로 비용 추적을 할 수 있도록 합니다
SavingsPlanDemo를 입력해줍니다
여기에서는 Utilization 옵션을 통해
가용량을 모두 사용하는지를 확인하거나
Coverage 옵션을 통해 인스턴스 사용량이
원하는 세이빙 플랜 내에서
커버되는지를 확인할 수 있습니다
특정 서비스로 범위를 정하거나
디멘션에 따른 필터링 설정도 가능합니다
마지막으로는 Reservation(예약) 예산이 있는데
예약이 있을 경우를 위한 것이라 보면 됩니다
저의 경우 현재 아무런 예약이 없기 때문에
서비스의 드롭다운 메뉴에 아무것도 나타나지 않습니다
여기에서도 마찬가지로
예약의 사용량 또는 커버리지를 기준으로
비용을 추적할 수 있습니다만
그렇게 하기 위해서는 예약 인스턴스가 있어야만 합니다
이것으로 예산 관련 옵션을 모두 살펴보았습니다
유익하셨길 바라며, 다음 강의에서 뵙겠습니다