Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GAS経由でAWS Cost Explorerを使用して料金を取得してみた
Search
K.Takeuchi
March 06, 2024
Business
0
270
GAS経由でAWS Cost Explorerを使用して料金を取得してみた
第2回インフラLT会で発表した資料になります。
K.Takeuchi
March 06, 2024
Tweet
Share
Other Decks in Business
See All in Business
2024年12月期_通期決算説明資料
mobcast20040326
PRO
0
290
Atlassian Community Event Tokyo #69/ Confluence/JSM 全社導入展開 ナレッジマネジメント成功の秘訣
yo_freee
0
460
株式会社CINC 会社案内/Company introduction
cinchr
6
51k
MOSH_companydeck_202502
mosh_inc
0
7.5k
株式会社スピークバディ 会社紹介資料
speakbuddy
1
220k
運営という選択〜参加者から運営への変容と運営を経験して得られた学び〜 / The Choice of Being an Organizer
aki_moon
0
310
エンジニア職/新卒向け会社紹介資料(テックファーム株式会社)
techfirm
1
3.8k
株式会社AbemaTV 会社説明資料
abematv
0
170
Mercari-Fact-book_jp
mercari_inc
3
150k
Mercari-Fact-book_en
mercari_inc
1
24k
ITエンジニアのためのコーポレートファイナンス入門シリーズ!#全体像理解
tkhresk
2
230
#TRG24 / Daniel Sanchez-Crespo / Cómo cargarte una industria...
tarugoconf
0
910
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Making Projects Easy
brettharned
116
6k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Navigating Team Friction
lara
183
15k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
8
270
KATA
mclloyd
29
14k
The Invisible Side of Design
smashingmag
299
50k
Producing Creativity
orderedlist
PRO
343
39k
Transcript
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS経由でAWS Cost
Explorer を 使用して料金を取得してみた 1
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. 目的 2
• 業務でAWSの利用料金を確認する機会が多い ◦ 複数のアカウントがあるため、ログインが手間となる。 ▪ AWS アカウントにログインせず料金を取得したい。
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/
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. AWSにおける準備 4
• AWS CLI を実行するためのIAMユーザを作成する。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. IAMユーザの権限設定 5
• 許可ポリシーを追加 ◦ Cost explorer への参照権限のみ
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 6
• スプレッドシートより、「Apps Scirpt」を選択する。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 7
• ファイルの横の+を押して、「スクリプト」を選択する。 • 名前をaws.gsに変更する。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 8
• aws.gsファイルをコードを張り付ける。 ◦ Google Apps スクリプト内から AWS API リクエストを認証できる
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 9
• 新しいスクリプトを作成する。 ◦ 名前:main.gs ◦ テスト関数をコピーして張り付ける。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 10
• main.gsにaws AccessKey ,SecretKey を設定する。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. テスト実行 11
• 実行する。 ◦ 2023/6月分の費用を出力できた。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. コードを変更してみる 12
• サービスごとの料金を取得してみる。 ◦ Start:2023/10/1、End:2023/12/01 ◦ Key:サービスにてグループ化
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. スプレッドシートへ出力してみる。 13
GASのコード修正が必要だったので、 以下を要件としてChatGPTに質問して 修正コードを確認した。 • アカウント名ごとにシートを分ける。 • 1行に以下を出力する。 ◦ アカウント名、アカウントID、 サービス名、日付、コスト
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. スプレッドシートへ出力してみる。 14
構文エラーなどを繰り返しながらも、アカウントごとのシートに 料金が出力されるようになった。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. まとめ 15
• ネット上のサンプルコードを使用したが、AWS側の権限を サービス指定で読み取りのみに制限することで比較的安心して使用でき た。 • AWS Cost Explorerのパラメータを編集することで、アカウント単位やサー ビス単位での料金を出力ができた。 • スプレッドシートに書き込みができたため、今後はLooker Studio などで見 える化を図りたい。