Home k8s in AWS

社内のLT会で、ある新卒の方が、「私の部署では多くの先輩エンジニアがおうちKubernetes(k8s)を構築しているので、お話をお聞きしたいです.」といった発言をしていたのを聞き、私もおうちk8sを試してみたいと思いました. しかしながら、私はk8sは何かを理解していないので、おうちk8sを構築しようにも何から手を付けてよいのか分からないのです. また、色々なサイトの記事などを閲覧していると、多くの方が実機(多くはラズパイ)を購入して、自宅サーバを構築していますが、自宅にサーバを構築するのは個人的な理由で色々とハードルが高そうなので、今回はAWSでk8sをおうちk8sを構築することが出来ないかを検討したいと思いました.

目次

おうちk8sを構築するのに掛かる料金 in AWS

やはり最初に気になるのは、料金だと思います. 私の給料は薄給なので、お金が掛かるようでしたら本記事もここまでにしたいと思います. そもそもおうちk8sを購入する場合、VMは何台必要なのでしょうか. CyberAgent Developer Blog: おうちで「おうち Kubernetes インターン」を実施しましたを参考にすると、3台あると良さそうです. 他の記事も見てみましたが、取り敢えず3台以上は必要なのかな?と思いました. k8sが何か分かってはいませんが、Control Node + Worker Node ✖️ 2台の構成が最低限であり、Worker Nodeが2台ある理由は、冗長化構成や自動フェールオーバなどが魅力的なk8sを体感するのには2台必要なのかなと現在の私の結論です. 後ほど、k8sについて学ぶときに調べてみましょう.

VMが最低でも3台必要なことが分かったので、AWSでVMを3台構築する場合の料金を調べてみましょう. AWSでVMといったらEC2インスタンスです. EC2インスタンスはタイプによって料金が異なるので、できる限り料金を抑えることが出来ないかも考えながら調べることにします. AWS: Amazon EC2 オンデマンド料金で東京リージョンで最安値を調べてみましょう. インスタンス名(インスタンス名は、同時にEC2インスタンスのスペックを表しています)t4g.nanoで、USD 0.0054/1hでした. 日本円に変換すると、$1=¥149.54でした(2023年11月19日). 計算を簡単にするため、1ドル150円で計算すると、1日0.81円、月(31日)602.64円でした. また、データ転送量も掛かりますが、何かアプリを構築する予定は今のところないので考えないようにします. 参考までに、インターネット -> EC2インスタンスへは0円. EC2インスタンス -> インターネットへは、毎月100GB以下の場合は無料です(それ以上の転送量は、最大0.05USD/GB掛かる場合があります). 他にも、EC2インスタンスから他リージョンへのデータ転送量も掛かりますが、リージョンを跨いだ冗長化構成(BCP対応的なこと)は現在考えていないので、無視することにします. 次にですが、EC2インスタンスを作成すると、EBSがデフォルトでアタッチされます. 指定できるか不明ですが、EC2インスタンスを作成する際に、EBSのスペックも指定することが出来そうなので、最安値のEBSを作成することにしましょう. 汎用SSD(gp3)を選択する場合、東京リージョンで月額0.096USD/GB掛かります. AWS: Amazon EBS の料金の例1の値段を参考にすると、月額3.625USD(543.75円)掛かります. AWSの無料利用枠で用いられるt3.miroの値段も一応算出しておきましょう. USD 0.0136/1hなので、月(31日)1517.76円です. 合計してみましょう、t4g.nano+gp3(3台)の場合は、(602.64+543.75) * 3 = 3439.17円/月です. t3.micro+gp3(3台)の場合は、(1517.75+543.75)* 3 = 6184.5円/月

上記から、月額で4000円から6500円近く掛かることが分かるかと思います. 正直、そんなお金はありません. Netflixより安いなんてキレそうです. もう少し安くできないかを考えてみます. 上記で考えているEC2インスタンスのタイプは、オンデマンドインスタンスです. リザーブドインスタンス、Saving Plansやスポットインスタンスを使用することで、できるだけコストを抑えることができるのではないでしょうか. 特にWorker Nodeは、スポットインスタンス(最大90%引き)でも良い気がしました. ただ、スポットインスタンスの場合は、Elastic IP(IP Addressを固定)することなどは難しそうなので、リザーブドインスタンスから検討してみることにします. 1年契約+t4g.nanoで、月額2.48ドル(372円)、1年契約+t3.microで月額6.28ドル(942円)と抑えることが可能です. 3年の場合は、t4g.nanoが1.68ドル(252円)、t3.microが4.31ドル(646.5円)です.合計を2387.25円から3570.75円まで抑えることができそうです. ここで、少し思ったのですが、EBSの料金も安くならなのかということです. 結論からいうと、安くならなのであまり旨味がないようにも思えますが、月4000円に抑えることはできそうでした. (Saving Plans - USD 0.0023 / USD 0.0059)、スポットインスタンス(USD 0.002、USD 0.0025)

おうちk8s in AWS の構成

参考資料


© 2024 nakadats. Created by Satoru Nakadate.