【AWS】使用していないKinesis Data Streamsに課金されていた話

# 1.はじめに
どうも、ARIの名古屋支社に勤務している愛知県民こと、
新藏（にいくら）と申します♪
(/・ω・)/

先日Kinesis Data Streamsを使用していないはずなのに課金されている・・・
という現象が発生していました。

:::note info
Kinesis Data Streamsと毎回書くのが大変なので、以下では「Kinesis」と略します。
:::

**今回は使用していなくてもKinesisが課金される仕組みと、課金額を抑える方法について**
色々調べたことを記事にしたいと思います！

AWS、Kinesisについて勉強中の方の参考になれば幸いです。
(*^^)v

ちなみに、12月は**ARIのアドベントカレンダ**もやっていますので、
もしよろしければ、こちらも応援お願いします♪

https://qiita.com/advent-calendar/2022/ari-group

https://qiita.com/advent-calendar/2022/aichi_lover_yomoyama

# 2.発生した問題について
まず初めに環境がどのようになっていたかを説明し、
何が問題なのかを説明します。

私が使用していた環境では、以下の図の様に
オンデマンドモード、プロビジョンドモードのKinesisストリームが1つずつ作成されており、
使用していない（ストリームにデータが流れない）期間が数日ありました。

|![000_Kinesisの設定_before.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/80ffc333-1626-3be9-76d5-50f26a9f5df0.png)|
|:--|

私は「使わなければ課金されない」と思っていたのですが、
数日後にKinesisの利用料金を確認すると、**12日間で19.77ドル課金**されていました・・・
(´;ω;｀)

|![010_コストと使用状況.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/5d23aa14-c334-f2b2-09dc-0855746084e9.png)
|:--|

# 3.Kinesisが課金されていた原因
次に、なぜ課金されていたかですがAWSの公式サイトを調べると以下の記載がありました。

■オンデマンドモードについて
> ご利用のアカウントでオンデマンド容量モードで動作する各ストリームについて時間単位の料金が課金されます。

■プロビジョンドモードについて
> 各シャードについて、1 時間あたりの料金に基づいて請求されます。

https://aws.amazon.com/jp/kinesis/data-streams/pricing/

つまり、**オンデマンドモードはストリーム1つにつき、プロビジョンドモードはシャード1つにつき、
課金されるという仕様**（Kinesisを実際に使用しているかは関係ない）のようです。

ちなみに、先ほどのリンクと同じページに料金の詳細があり、以下の金額で課金されるようです。

■オンデマンドモード
|![065_オンデマンド料金.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/d24df3bf-3794-94f7-9f50-496be707d53c.png)|
|:--|

■プロビジョンドモード
|![066_プロビジョンド料金.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/531322cb-eb5d-2b0a-5fce-3a1e974aaebe.png)|
|:--|

# 4.対処法
料金の一覧を見るとKinesisを使わないときはプロビジョンドモードにしておいた方が安いため、
オンデマンドモードのKinesisストリームをプロビジョンドモード（シャード数は1）に変更しました。

:::note info
長期間に渡って使わない場合、ストリーム自体を削除する方が良い気がします。
:::

すると**1日1.72ドル課金されていたのが1日0.94ドルになり、**
約半額にすることができました！

|![090_Kinesis料金の内訳_after_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/6ed30aef-8826-9c6e-a09e-7429d3fd9972.png)|
|:--|



# 5.課金された金額の詳細を確認する方法
最後に、課金された金額の詳細を確認する方法について記載します。
例としてKinesisの料金を確認しますが、他のAWSサービスでも同様の手順で確認できます。

5.1.マネジメントコンソールにて、「AWSコスト管理に移動」を選択します。

|![020_AWSコスト管理に移動.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/82d046a5-b0e8-e459-674b-14505b5eef0e.png)|
|:--|

5.2.「Cost Explorerで表示」を選択します。

|![030_CostExplorerで表示を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/b9f8cfab-632f-c2b2-99fa-d1fad8ffea52.png)|
|:--|

5.3.「使用タイプ」を選択します。

|![040_使用タイプを選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/38ccdc71-e017-32ac-737d-738ce0391e81.png)|
|:--|

5.4.金額の内訳が表示されます。

|![050_Kinesis料金の内訳_before_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/18ddceeb-cb83-2e45-32bf-a5d141e6b873.png)|
|:--|

5.5.画面をスクロールすると、より詳細な金額が確認できます。

|![090_Kinesis料金の内訳_after_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/1763b66c-231c-73fb-9f53-5dc46b6c8fea.png)|
|:--|

# 6.おわりに
ここまで読んで下さり、ありがとうございます！！！
(^^)

今回はKinesisの料金についてのお話しでした。
「オンデマンドモード」だったとしても課金される仕様なので、
他のサービスでも言葉に惑わされないように気を付けようと思います・・・

引き続き、気づいたことや思いついたことは記事にしたいと思います♪
(:3_ヽ)_