見出し
はじめに
このブログのもっとも流入数が多いキーワードが「AWS 個人利用」、「AWS 高い」あたりなんですよね。
会社の新入社員の人たちも「AWS勉強したいからアカウントが欲しいけど個人で契約するのは嫌だ。」という人が多いです。
理由としては、意図しない金額の発生を嫌うケースでしょうか。
このブログに流入が来る人たちも、そのあたりを気にしているのではないかと思います。
私も以前に[AWS]AWS個人利用は高すぎるって話。(クリックで開く)なんて記事を書いていた訳です。
確かに個人利用では冗長構成やマネージドサービスを活用したりすると割高になりがちです。
でも私としては、AWSに興味がある人や学びたい人、契約する用途が決まっている人ほど個人利用のためにアカウントを契約すべきだと思っています。
なのでAWS個人利用を考えている人たちの敷居が下がるような記事を書ければなと思います。
AWSを扱うための心構え
AWSを個人で利用する上で、一つだけ覚悟しておきたいことがあります。
それは、無料枠のみでAWSをフル活用することは非常に難しいということです。
そのため、「数百円くらいなら料金が発生しても良いかな。」くらいの心構えをしておいてください。
AWSでは数ヶ月おきに「$25の使用料金が無料になるクーポン」を配布しているので、そのタイミングを逃さずに契約できると良いでしょう。
AWSの料金について
AWSでは特定のサービスが1年間無料で使用できることは既に知られています。
可能であれば無料期間のうちはコストが発生しないように運用したいですね。
ただし、先ほども書いたように必ず0円に抑えよう!なんて目指すと正直なところ難しいです。
できる限り無料枠を活用しつつ月額500円程度を目安に触ってみるのが良いかと思います。
せっかくなので初学者が主に活用するであろうサービスと、それらの無料期間が過ぎたらどうなるかをまとめてみました。
◆初学者が使うであろう基本的なサービス
サービス名 | 無料期間 | 無料期間終了後(東京) |
EC2 | コンピューティングサービス。 [t2.micro]が750時間/月無料。 |
月額約1,200円 +ストレージ料金1GB約12円。 |
ELB | ロードバランサー。 [ALB]か[CLB]が750時間/月無料。 |
月額約2,600円。 (1LCU常に消費で計算)。 |
RDS | データベース。 [db.t2.micro]が750時間/月無料。 |
月額約2,000円。 |
S3 | クラウドストレージ。 5GBまで無料。 |
1GB月額約2.5円。 |
LightSail | VPSサービス。 $3.5プランのみ初回1ヶ月のみ無料。 |
各プランに応じて定額。 (通信料によって追加課金あり。) |
CloudWatch | 監視、アラートなどのサービス。 カスタムメトリクス10個、ログ5GBまで無料。 |
複雑なので割愛。 |
初学者向けのドキュメントではECSやCloud9のサービスが紹介されることも多いと思いますが、これらの実態はEC2インスタンスが主体なので割愛しています。
その他にも無料枠対象のサービスはありますが、あまりにも多すぎるので公式ページから確認(クリックで開く)をおすすめします。
基本サービスごとの解説
◆EC2◆
AWSの初学者が陥りやすいポイントとしては、[t2.micro]のEC2インスタンスしか使っていないのになぜか課金が発生してしまう現象です。
t2.microが無料なのは、1ヶ月あたり750時間までの稼働です。
そのため[t2.micro]を2台立ち上げて1ヶ月放置した場合には1440時間の起動という扱いになってしまいます。
また、EC2インスタンスとセットでElasticIPを使用するケースも多いと思いますが、このElasticIPは起動中のインスタンスにアタッチされていないと料金が発生してしまいます。
「EC2インスタンスを停止させていたにも関わらず請求が来てしまった」などはこのケースでしょう。
その他にもサーバーのバックアップを保存するためのスナップショットによって料金が発生してしまったり、有料ソフトウェアの導入されているAMIからEC2インスタンスを立ち上げるなど、様々な請求ケースがあります。
—————————
◆ELB◆
ロードバランサーのサービスが2,000円台で使えると考えるとめちゃくちゃ安いです。
ただ、そのロードバランサーはあなたの個人利用に必要でしょうか?
検証や学習用であればよくお世話になると思いますが、個人利用の用途によっては本当に使う必要があるかをよく考えてみるべきです。
もしもhttps化するためだけにロードバランサーを採用するのであれば、CloudFrontを使った方が圧倒的に安くて高速化もできますよ!
—————————
◆RDS◆
無料期間が切れてしまうと月額で2,000円ほど費用がかかってしまいます。
個人利用の用途にもよりますが、基本的にはEC2やLightSailのインスタンスの中にMySQLやPostgresをインストールして使った方がコストを抑えられます。
ただし東京リージョンでの[db.t2.micro]の1日あたりの起動時間では60円程度しかかからないので、学習や検証のために短期間だけ起動するのは良いかもしれません。
RDSのインスタンスを停止させることで料金の発生を抑えることができますが、RDSの停止は最長7日間までしかできません。
期間が経過すると自動的に起動して料金が発生してしまいます。
—————————
◆S3◆
無料期間過ぎても安いのでバンバン使いましょう。
以上!!
ファイルサーバーの用途だけではなく、S3だけで静的なWebページを公開できます。
CloudFrontも合わせて活用することでhttps通信に対応した独自ドメインのホームページを作ることも可能です。
—————————
◆LightSail◆
定額なので特に言うことはありません。
個人使用の用途がブログやマイクラサーバーを立てたいとかそのレベルだったらLightSailで十分です。
ブログやWebサイトであればLightSailにCloudFrontを挟んでhttps化+高速化しておくのが良いですね。
—————————
◆CloudWatch◆
ログのコストがS3よりも若干高いですが、大きな金額は発生しないので大丈夫。
ログには寿命の設定ができるので、1週間過ぎたら削除とか入れておけば安心できます。
そもそもLambdaやCodeシリーズ、ECSなど特定のサービスを使わないとCloudWatchにログが吐かれることはないです。
ただしDataDogなどの監視ツールを仕込んでいる場合は要注意で、CloudWatchの持つ有料APIがガシガシ叩かれてしい意図せぬ高額請求が発生した!なんてことも起こり得ます。
とはいえ、普通にAWSだけで使ってたらほとんど料金は発生しないです。
あなたが個人利用する理由は?
あなたがもしも個人でAWSを契約するのであれば、なるべくコストの発生しないような工夫をしたいところです。
そのためにもまずはあなたがAWSを使って何をしたいかを知る必要があります。
例えば、
・SSL証明書を無料で取得したい。(ACM)
・自分の持っているWebサイトをhttps化したい。(CloudFront)
・CDNを使ってWebサイトの配信を強化したい。(CloudFront)
・ドメインを管理したい。(Route 53)
この辺りの理由であれば、該当するサービスの料金はほとんど発生しないので余計なものに手をつけなければ数百円程度に収まるでしょう。
すなわち迷わず契約しましょう。
また、
・Webサイトを立ち上げたい
・WordPressを立てたい
・ゲームのマルチプレイのためにサーバーが必要
この辺りであればLightSailで定額料金のみの支払いで解決してしまいます。
LightSailは他社のVPSサービスと比較しても非常に安いです。
→ 使い方の記事はこちら
すなわち迷わず契約しましょう。
・技術検証や学習のためにAWSを触りたい
このケースでは契約しないと何も始まらないので、迷わず契約しましょう。
コストを抑える工夫をしよう
◆1, バージニア・オハイオを選ぼう◆
AWSのサービス価格はリージョンによって変わります。
基本的に東京リージョンを選ぶともっとも料金が高く、バージニアリージョンを選ぶともっとも安くサービスを利用することができます。
例えば[t2.micro]のEC2インスタンスでは、東京の1ヶ月あたりの使用値段は1,200円程度なのに対してバージニアでは920円程度の支払いで済ますことができます。
また、バージニア・オハイオリージョンはAWSの最新機能が一番最初に体験できるなどメリットが多いです。
ただしデータセンターが海外にあることになるため、東京リージョンにある時よりもほんの僅かに通信遅延が発生する可能性があります。
—————————
◆2, 最新のインスタンスを選ぼう◆
例えばEC2では[t2.micro]の次世代モデルとして[t3.micro]と言うインスタンスがあります。
インスタンスファミリーの数字が大きくなるほど最新の世代であることを表します。
t2.micro | vCPU1コア / メモリ1GB | 1ヶ月あたり1,200円 |
t3.micro | vCPU2コア / メモリ1GB | 1ヶ月あたり1,080円 |
このように最新世代のインスタンスほどスペックが向上し、コストも抑えられる傾向にあります。
—————————
◆3, スポットインスタンスを使おう◆
スポットインスタンスはAWSのサーバーリソースが余っている場合に、安くEC2インスタンスを利用することができます。
最近ではFargateでも同様の機能が追加されましたね。
タイプ | オンデマンド価格 | スポット価格 |
t2.micro | 1ヶ月あたり1,200円 | 1ヶ月あたり360円 |
スポットインスタンスはオンデマンドインスタンスの時の7~9割引の値段でEC2インスタンスを立てることができます。
ただしスポットインスタンスを立てることができるのはAWSの余らせているリソースがある場合に限ります。
もしもAWSの余剰リソースが少なくなると強制的にスポットインスタンスは削除されてしまいます。
この特性から、一時的な検証を行う場合やスケールアウトによる一時的なサーバーリソース強化のために使うのが良いでしょう。
もしも長時間スポットインスタンスを使用したい場合には人気なインスタンスタイプを避けて、旧世代のインスタンスを選択すると良いでしょう。
例えば汎用タイプのインスタンスは[m5.large]などのm5シリーズが最新ですが、あえて[m1.large]などの旧世代を選ぶことで低価格かつ長期間インスタンスを立てることができます。
なお、スポットインスタンスの値段は常に変動するため、AWSのコンソール内かこちら(クリックで開く)から確認をしてください。
掛かっている金額を確認しよう
AWSの「Billing」という機能から、どのサービスを使用していくらの金額が発生しているかを知ることができます。
ここをきちんと見ていれば「EC2のインスタンス全部消したのになぜか料金が発生してる」なんてことにはならないはずです。
AWSのコンソールから「請求」または「Billing」を検索すると料金請求のページを開くことができます。
明細を開くとサービス名と掛かっている値段が表示されます。
ここで表示されるサービス名は、今月に使用しているサービスのみが表示されます。
1つのサービスでも料金の発生する条件が複雑ですので、詳しく知るためには折りたたまれている詳細を開く必要があります。
詳細の内容はリージョンごとの価格と、さらにどの要素で料金が発生しているかが記載されます。
この例ではオハイオリージョンで0.5GBのLightSailインスタンスを起動して、さらにバックアップ用のスナップショットを保存しているために料金が発生していることが分かります。
請求コンソールを活用する以外には「AWS Budgets」を使って料金監視を行うことも可能です。
公式の記事があるのでこちら(クリックで開く)を参考ください。
このサービスを活用すれば無料枠の範囲を超えたらアラートメールを送信する設定も可能です。
セキュリティリスクを考えよう
AWSを個人で契約したくない理由として「アクセスキーが漏れて不正利用されてしまい数百万円の請求がきた」などの事例を挙げてくる人がいます。
でもそれってクレジットカード情報を登録する通販サイトやサービスも同じはずです。
つまり使い手の管理次第の話なのです。
・IAMユーザーを使う。(rootは使わない)
・アクセスキーやシークレットキーは外部に公開しない。
・権限は最小限にする。
・2段階認証を導入する。
当たり前のことをきちんとやっていればこのリスクはほぼありません。
「俺は2段階認証とかめんどくさいから入れない派だから!!!」とか「いつもうっかり機密情報をSNSとかにあげちゃうんだよね〜www」みたいなリスク管理が甘い人ならまだしも、今AWSの契約を躊躇しているあなたはそんな無能ではないはずです。
終わりに
AWSの個人利用を迷ってる人、結構いるようなので背中を後押ししたいと思い記事を書き殴りました。
伝えたいことが多すぎて文章量も多く、拙い文脈になってしまいました。
・・・が「AWS 個人利用」で検索している人たちの欲しい情報を掻い摘んで見てもらえると幸いです。
そしてみんなでAWSを盛り上げていきましょう!!
素晴らしい!