11
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCIはAWSより安い!!

Last updated at Posted at 2025-01-21

はじめに

私事ですが、OCI Architect Associateに最近受かりました。
https://mylearn.oracle.com/ou/learning-path/japanese-become-an-oci-architect-associate-2024-/140905
ケースバイケースではありますが、OCIを使うメリットにリソースを使うための料金が安いことが挙げられます。
今回は簡単な構成を例に挙げ、どの程度OCIの料金がAWSと比べて安くなるか調べてみます。

AWS例: EC2 2台,ALB

構成

No リソース 役割
1 インターネットゲートウェイ インターネットゲートウェイ
2 Application Load Balancer(ALB) ロードバランサー
3 EC2 踏み台サーバー
4 NATゲートウェイ NATゲートウェイ
5 EC2 アプリサーバー

image.png

個別料金

インターネットゲートウェイ

無料です

ALB

以下、URLより、料金の計算方法を引用します
https://aws.amazon.com/jp/elasticloadbalancing/pricing/

Application Load Balancer が実行される時間に対して 1 時間単位または 1 時間未満で、また時間ごとのロードバランサーキャパシティーユニット (LCU) 使用量で課金されます。

LCU は Application Load Balancer がトラフィックを処理するディメンションを測定します (1 時間あたりの平均)。以下の 4 つのディメンションを測定します。
・新しい接続: 1 秒あたりの新たに確立された接続の数。通常、接続ごとに多くのリクエストが送信されます。
・アクティブ接続: 1 分あたりのアクティブな接続の数。
・処理タイプ: ロードバランサーによって処理された HTTP(S) リクエストと応答のバイト数 (GB 単位)。
・ルール評価: ロードバランサーにより処理されたルールの数とリクエストレートの積。最初に処理される 10 個のルールは無料 (ルール評価 = リクエスト率 * (処理されたルールの数 - 無料分の 10 個のルール))。
使用量が最も高いディメンションにのみ請求されます。1 つの LCU には次のものが含まれます。

今回は処理タイプのLCUが最も高いディメンションであるとします。
リクエストと応答の合計処理バイト数は3MB/sとします。

その場合、

1時間当たりの合計処理バイト数=3MB/s * 3600s=10,800MB/h=10.8GB/h
1時間当たりのLCU=10.8

また、ALB自体の料金を追加して、

1時間当たりの料金=$0.025 + 10.8LCU * $0.008/LCU=$0.1114/h
1か月当たりの料金=$0.1114/h * 24h * 30d = $80.208

踏み台サーバー

他マネージドサービスを使うことで無料とすることもできますが、一応計算しておきます。
インスタンスタイプはt2.microとします。

EC2の料金=$0.0152/h * 24h * 30d = $10.944

また、EC2のブートボリュームとなるEBSが必要となります。
今回はgp3を使用し、IOPSとベースラインパフォーマンスの料金はかからないものとします。
EBSの容量は30GBとします。
https://aws.amazon.com/jp/ebs/pricing/

EBSの料金=$0.096/GB * 30GB = $2.88

踏み台サーバーには、アクセスしやすいようパブリックIPを使用します。

パブリックIPの料金=$0.005/h * 24h * 30d = $3.6

踏み台サーバーにかかる合計料金は$17.424です。

NATゲートウェイ

NATゲートウェイ自体の料金と、データ処理料金がかかります。
https://aws.amazon.com/jp/vpc/pricing/
1か月のデータ処理量は10GBとします。

NATゲートウェイ自体の料金=$0.062/h * 24h * 30d = $44.64
データ処理にかかる料金=$0.062/GB * 10GB=$0.62
NATゲートウェイの合計料金=$44.64 + $0.62=$45.26

アプリサーバー

インスタンスタイプはt2.largeとします。

EC2の料金=$0.1216/h * 24h * 30d = $875.52

EBSの容量は30GBとします。

EBSの料金=$0.096/GB * 30GB = $2.88

踏み台サーバーにかかる合計料金は$878.4です。

データ転送量

インバウンドは無料です。
アウトバウンドはバイト数で課金されます。アウトバウンドの料金はインターネットへの送信(Outbound)と同一リージョン内での異なるAZへの送信(Intra-Region)で料金が分かれています。
今回は、アプリサーバー→ALBなので、Intra-Regionの料金がかかります。
送信バイト数は今回はALBで処理しているリクエストと応答のバイト数の半分とします。

1か月当たりのバイト数=(10.8GB/h * 24h * 30d) / 2=3,888GB
1か月当たりの料金=3,888GB * $0.01/GB * 2=$77.76

1か月当たりの料金は、AZにおけるインバウンドとアウトバウンドを合計しています。

合計料金

No 項目 料金 USD 割合
1 ALB 80.208 7.3%
2 踏み台サーバー 17.424 1.6%
3 NATゲートウェイ 45.26 4.1%
4 アプリサーバー 878.4 79.9%
5 データ転送量 77.76 7.1%
6 合計 1099.052 100%

OCI例: インスタンス 2台,ロードバランサー

構成

No リソース 役割
1 インターネットゲートウェイ インターネットゲートウェイ
2 ロードバランサー ロードバランサー
3 インスタンス 踏み台サーバー
4 NATゲートウェイ NATゲートウェイ
5 インスタンス アプリサーバー

image.png

そもそもAWSとNATゲートウェイの構成が違いますね。主なリソースの数は変えていませんが、OCIではNATゲートウェイの扱いが異なります。
OCIでは、NATゲートウェイをパブリックサブネットに配置する必要はなく、VCN(AWSで言うVPC)とルート表に紐づいているだけで使うことができます。(NATゲートウェイにパブリックサブネットは必須ではありません)

インスタンスの料金については、ひとまずAWSの例と比較してCPUとメモリを同等に計算します

個別料金

インターネットゲートウェイ

無料です

ロードバランサー

以下URLより、ロードバランサーの料金を引用します
https://www.oracle.com/jp/cloud/networking/pricing/

ロードバランサー自体の料金=$0.0113/h
1時間当たりの帯域幅の料金=$0.0001/Mbps

※処理されたデータ量では課金されず、プロビジョニングされた内容によって課金されます。

今回は10Mbpsとしてプロビジョニングするとして、1か月の料金を計算します。

ロードバランサー自体の料金=$0.0113/h * 24h * 30d = $8.136
帯域幅の料金=$0.0001/Mbps * 10Mbps * 24h * 30d = $0.72
1か月当たりの合計料金 = $8.136 + $0.72 = $8.856

※ネットワークロードバランサーを使えば上記の料金は無料になります
OCIのロードバランサーがレイヤー4,7で動作するのに対して、ネットワークロードバランサーはL3,4で動作します(名前がややこしいですね。。)。今回はALB相当のサービスとして、OCIのロードバランサーを使用します。
https://docs.oracle.com/ja-jp/iaas/Content/NetworkLoadBalancer/overview.htm

踏み台サーバー

VM.Standard.A1.Flexを使用します。
Standardのシェイプは標準的なものになります。A1はArmベースであり、AMDベースよりも料金が安くなります。
また、Flexはフレキシブルシェイプであり、以下の特徴を持ちます。

フレキシブル・シェイプは、VMの起動時またはサイズ変更時にOCPU数およびメモリー容量をカスタマイズできるシェイプです。フレキシブル・シェイプを使用してVMインスタンスを作成する場合、インスタンスで実行するワークロードに必要なOCPU数およびメモリー容量を選択します。ネットワーク帯域幅およびVNICの数は、OCPUの数に比例してスケーリングされます。この柔軟性により、ワークロードに一致するVMを構築できるため、パフォーマンスを最適化し、コストを最小限に抑えることができます。

今回は1 OCPU(=1 vCPU), メモリ1GBとします。
OCPUの課金とメモリの課金は別々に行われます。そのため、OCPU単価とメモリ単価が別々に設定されています。

https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/computeshapes.htm
https://www.oracle.com/jp/cloud/compute/pricing/

1か月当たりのA1のOCPUの料金=$0.01/OCPU * 1OCPU * 24h * 30d=$7.2
1か月当たりのA1のメモリの料金=$0.0015/GB * 1GB * 24h * 30d=$1.08
インスタンスの料金=$7.2 + $1.08 = $8.28

インスタンスにはブートボリュームが必要となります。
今回はVPU=10とします。ストレージ容量は50GB(最小値)とします。
https://www.oracle.com/jp/cloud/storage/block-volumes/pricing/
コスト試算ツールからコストを算出します。
https://www.oracle.com/jp/cloud/costestimator.html

1か月当たりのブロックボリュームの料金=$2.13

踏み台サーバーには、アクセスしやすいよう予約済パブリックIPを使用しますが、無料です。
踏み台サーバーにかかる合計料金は$10.41です。

※A1インスタンスとブロックボリュームはAlways Freeリソースに該当します。
https://docs.oracle.com/ja-jp/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm

すべてのOracle Cloud Infrastructureアカウント(無料か有料かに関係なく)には、アカウントの有効期間中、テナンシのホーム・リージョンに無料で使用できるリソースのセットがあります。

つまり、指定の範囲内の利用であれば無料で使えます。ただ、すでにリソースを大量に使っている場合、Always Freeを使い切っていることも多いです

NATゲートウェイ

無料です。

アプリサーバー

VM.Standard.E4.Flexを使用します。
今回は1 OCPU(=2 vCPU), メモリ8GBとします。

1か月当たりのE4のOCPUの料金=$0.025/OCPU * 1OCPU * 24h * 30d=$18
1か月当たりのE4のメモリの料金=$0.0015/GB * 8GB * 24h * 30d=$8.64
インスタンスの料金=$18 + $8.64 = $26.64

ストレージ容量は50GB(最小値)とします。

1か月当たりのブロックボリュームの料金=$2.13

踏み台サーバーにかかる合計料金は$28.77です。

データ転送量

インバウンドは無料です。
アウトバウンドは最初の10TBは無料です。10TB以上になると、送信元の地域により料金が異なります。
https://www.oracle.com/jp/cloud/networking/pricing/

合計料金

No 項目 料金 USD 割合
1 ロードバランサー 8.856 18.4%
2 踏み台サーバー 10.41 21.7%
3 NATゲートウェイ 0 0%
4 アプリサーバー 28.77 59.9%
5 データ転送量 0 0%
6 合計 48.036 100%

料金の比較

No 項目 OCIの料金 USD AWSの料金 USD OCI - AWS USD
1 ロードバランサー 8.856 80.208 -71.352
2 踏み台サーバー 10.41 17.424 -7.014
3 NATゲートウェイ 0 45.26 -45.26
4 アプリサーバー 28.77 878.4 -849.63
5 データ転送量 0 77.76 -77.76
6 合計 48.036 1099.052 -1051.016

OCIの方が安いですね!

おわりに

両者の課金方法を調べてみて、AWSはデータの使用量に応じて課金されるのに対し、OCIはプロビジョニングされたリソースに応じて課金されているように感じました。
プロビジョニングされた量とすると、使われていないリソースの課金が発生するので高くなるかと思っていましたが、OCIは無料で使えるものが多く単価も安いなと感じました。
これからも勉強します。

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?