Oracle Cloud Infrastructure（OCI）の容量予約（Capacity Reservations）を試してみた


2021年3月下旬、Oracle Cloud Infrastructure（OCI）に容量予約機能がリリースされました。
言葉のとおり、Computeインスタンスの容量をあらかじめ予約しておいて、必要なリソースを確保しておく機能です。
DR用途や、不慮のリソース不足、緊急のリソース増強などの際に利用できる地味ながらよい機能だと思います。

この記事では、マニュアルに沿って実際の作業＆動作を確認していくと同時に、使用量がどう計算されるかについても確認してみたいと思います。

参照マニュアル
https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/reserve-capacity.htm


### 1.容量予約の作成

左上三本線メニューから、コンピュート＞容量予約 を選択し、［容量予約の作成］ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/14d44203-db9b-9571-a2b5-c7e8d2d3e9f2.png)

名前、コンパートメント、可用性ドメインを設定し、［次］ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/f1abd6cd-266e-05e4-5e4b-5087a06ce2f9.png)

容量構成の追加画面で、フォルト・ドメインと、リザーブしたいシェイプ、数量を入力し［次］ボタンを押します。（E3シェイプの場合はコア、メモリーも入力します）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/d13df957-0152-024d-c580-5c23cbd60ace.png)

内容を確認して、［作成］ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/5d901d30-0727-3169-61c8-1e1389951fa8.png)

10秒くらいでアクティブになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/6e39c12f-68b8-1d48-b103-86453e1ba049.png)

容量予約の作成時刻は9:27分頃（UTC0:27頃）でした。
あとあとの使用量確認のため、容量予約のOCIDも控えておきます。


### 2.インスタンスの編集（または作成）

容量予約したリソースを使うように、既存インスタンスを編集します。

インスタンスの詳細画面より［編集］ボタンを押し、インスタンスの編集画面で一番下の「拡張オプションの表示」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/9b1817ef-ec02-d4c1-c7d9-4ae77b8eff32.png)

配置タブを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/70fc0c5c-869a-3a26-22c2-b7880275300d.png)

「容量予約の適用」をチェックし、先ほど作成した容量予約を選択し、［変更の保存］ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/81743049-3fd1-c1a9-92d5-d9409b89390a.png)

インスタンスが容量予約の対象になったことがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/4a2e7dcb-13e3-6322-c877-b512ee88394b.png)

先ほど作成した容量予約を確認すると、使用済容量が1になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/9d64bbde-e893-e3d2-f2cd-8fb00f54e4a7.png)

作成済インスタンスを確認すると、設定したインスタンスが表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/92c069fc-36a4-8bda-07ae-1da8c2f848ff.png)

※インスタンス作成時も同様に、配置セクションの拡張オプションより容量予約の設定を行うことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/ed8cee11-2298-56c6-0a4a-68ee14832cef.png)

あとあとの使用量確認のため、インスタンスのOCIDを控えておきます。

### 3.インスタンスの起動

インスタンスを起動します。（新規作成の場合は自動的に起動されます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/579eb653-aee9-f4a4-34d7-48040a12f01b.png)

インスタンス起動時刻は11:35ごろ（UTC2:35頃）でした。


### 4.インスタンス停止

インスタンスを停止します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/17cfbbe4-f9cf-6250-d955-a0ad2fc7a32a.png)

インスタンス停止時刻は13:16頃（UTC4:16頃）でした。


### 5.容量予約の削除

容量予約の詳細画面より［削除］ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/da57495b-abda-3885-44cd-6de9c91c9c7a.png)

確認画面が表示されるので［予約の削除］を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/999ab3ce-6014-9913-5b98-6e8f9a09eb27.png)

ただこれでは、この予約に設定されたインスタンスが存在するため削除できないようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/acf94efc-ebd5-7520-da96-4da60a47bc63.png)

インスタンスの編集画面より、「容量予約の適用」のチェックを外します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/056d15b3-2f7a-5e75-0be8-46801205a714.png)

容量予約に戻ると、使用済容量が0になっていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/04692145-9c5e-575a-7683-41430936fd33.png)

もう一度、削除します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/e09b2c1d-21ba-2904-4e8e-6a45d7896b5f.png)

今度は正常に削除できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/7fbacc95-84d0-dbe1-0008-b5c7aac87821.png)

容量予約の削除時刻は15:48頃（UTC6:48）でした。


### 6.使用量の確認

翌日以降に「コストおよび使用状況レポート」を確認してみました。
今回はコスト分析シートを見てみます。（不要な列は非表示にしています）

#### 6-1.Computeインスタンスの使用量の確認

まずは、ComputeインスタンスのOCIDでproduct/resourceId列を検索してみます。
Computeインスタンスは、2:35頃に起動し、4:16頃に停止しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/b8491763-7c69-ff57-4302-40ba7ee036db.png)

コストレポートのusage/billedQuantity列を見ると各時間帯で以下の使用量となっていることがわかります。

　2時台　0.398611（x60=約23.9分）
　3時台　1（x60=60分）
　4時台　0.273611（x60=約16.4分）

Computeインスタンスに関しては、起動から停止の期間に課金されることがわかります。

#### 6-2.容量予約の使用量の確認

続いて、容量予約のOCIDでproduct/resourceId列を検索してみます。
容量予約は、0:27頃に作成し、6:48頃に削除しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/e0cb7f69-c073-a74b-ffca-bceee78606b4.png)

コストレポートのusage/billedQuantity列を見ると各時間帯で以下の使用量となっていることがわかります。（容量予約はComputeインスタンスの85％が課金されるため、usage/billedQuantity列の値は実際の時間（OCPU*時間）に0.85を掛けた値となっています）

　0時台　0.463722（/0.85x60=32.7分）
　1時台　0.85（/0.85x60=60分）
　2時台　0.510944（/0.85x60=36.1分）
　3時台　0
　4時台　0.617194（/0.85x60=43.6分）
　5時台　0.85（/0.85x60=60分）
　6時台　0.684250.85（/0.85x60=48.3分）

0-2時台を見ると、容量予約を作成してからインスタンスを起動するまでの間に Computeインスタンスの85％が課金されることがわかります。

2-4時台を見ると、Computeインスタンスの稼働中は課金されないことがわかります。

4-5時台を見ると、Computeインスタンスを停止すると、Computeインスタンスの85％の課金が再開されるのがわかります。

6時台を見ると、容量予約を削除すると課金がそこで終わるのがわかります。

これらを図にすると以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694576/e88249a1-54e5-6dbb-e409-c6186bdeb090.png)

容量課金は作成から削除までの期間で、設定されているインスタンスが稼働していない間だけ 85％課金されることがわかります。