Slide 1

Slide 1 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS経由でAWS Cost Explorer を 使用して料金を取得してみた 1

Slide 2

Slide 2 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. 目的 2 ● 業務でAWSの利用料金を確認する機会が多い ○ 複数のアカウントがあるため、ログインが手間となる。 ■ AWS アカウントにログインせず料金を取得したい。

Slide 3

Slide 3 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. やってみたこと 3 下記の記事を参考にして、実際に料金の取得ができるかを試した。 ● 内容 ○ AWSの月額コストを取得して、スプレッドシートに書き込む ▼GASでAWS Cost Explorerから料金を取得する https://aws-sec-blog.pages.dev/posts/gas-cost-explorer-month/

Slide 4

Slide 4 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. AWSにおける準備 4 ● AWS CLI を実行するためのIAMユーザを作成する。

Slide 5

Slide 5 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. IAMユーザの権限設定 5 ● 許可ポリシーを追加 ○ Cost explorer への参照権限のみ

Slide 6

Slide 6 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 6 ● スプレッドシートより、「Apps Scirpt」を選択する。

Slide 7

Slide 7 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 7 ● ファイルの横の+を押して、「スクリプト」を選択する。 ● 名前をaws.gsに変更する。

Slide 8

Slide 8 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 8 ● aws.gsファイルをコードを張り付ける。 ○ Google Apps スクリプト内から AWS API リクエストを認証できる

Slide 9

Slide 9 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 9 ● 新しいスクリプトを作成する。 ○ 名前:main.gs ○ テスト関数をコピーして張り付ける。

Slide 10

Slide 10 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 10 ● main.gsにaws AccessKey ,SecretKey を設定する。

Slide 11

Slide 11 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. テスト実行 11 ● 実行する。 ○ 2023/6月分の費用を出力できた。

Slide 12

Slide 12 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. コードを変更してみる 12 ● サービスごとの料金を取得してみる。 ○ Start:2023/10/1、End:2023/12/01 ○ Key:サービスにてグループ化

Slide 13

Slide 13 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. スプレッドシートへ出力してみる。 13 GASのコード修正が必要だったので、 以下を要件としてChatGPTに質問して 修正コードを確認した。 ● アカウント名ごとにシートを分ける。 ● 1行に以下を出力する。 ○ アカウント名、アカウントID、 サービス名、日付、コスト

Slide 14

Slide 14 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. スプレッドシートへ出力してみる。 14 構文エラーなどを繰り返しながらも、アカウントごとのシートに 料金が出力されるようになった。

Slide 15

Slide 15 text

Copyright (C) 2020 Toranoana Inc. All Rights Reserved. まとめ 15 ● ネット上のサンプルコードを使用したが、AWS側の権限を サービス指定で読み取りのみに制限することで比較的安心して使用でき た。 ● AWS Cost Explorerのパラメータを編集することで、アカウント単位やサー ビス単位での料金を出力ができた。 ● スプレッドシートに書き込みができたため、今後はLooker Studio などで見 える化を図りたい。