【GCP】クラウド破産を予防する4つのこと

2021年1月6日水曜日

GCP サーバ

t f B! P L

 

その4.クラウド破産を予防する






無料じゃないの?


GCPを初めて利用すると $300分のクレジットがもらえます。

また、条件内の利用に限り期限がなく無料で使用できる枠があります。

無料トライアル期間中(90日)は課金されることはありません


つまり、無料トライアル期間中はお金が引き落とされることはないのです。


課金をしたくない場合、90日を過ぎると選択しなければいけません


無料アカウントのまま作成したリソースを全て破棄する


もしくは、


有償アカウントにアップグレードして無料枠を引き続き利用する



90日を過ぎると期限付きクレジットは無くなりますが、有償アカウントにアップグレードすれば条件内で利用する分の無料枠は引き続き使えるのです。


なので一応、無料で使い続けられることになります。





破産するの?


有償アカウントにアップグレードした後は、無料枠の条件を超えた分が課金されます


しかも、


サービスの使用や課金が自動的に停止されることはありません。


請求額は青天井なのです



しかし、自分で管理している範囲内の利用であれば大丈夫だと思います。

想定外の課金が発生する例としては、



■ 大容量のファイルをアップロード/ダウンロードしてしまう


利用しているサーバをストレージ代わりにして大量のデータをやりとりしているとデータ転送量が無料枠を超えて課金されてしまいます。


また、公開しているディレクトリに大きなファイルを配置してある場合は、不特定多数からのダウンロードが発生した場合に一気に転送量がはね上がります。


スマホのアプリゲームでゲーム開始時に大容量のダウンロードが必要な場合は、ユーザーにリセマラで何度もアプリをインストールされると人気のあるゲームはそれだけで数百万円以上の課金が発生することになります。


その分がガチャなどで回収できればよいのですが、回収が見込めない場合は早々にサービス停止の判断をしないと傷口が広がり続けることになります。




■アクセスが殺到する


自分で作ったサービスを公開している場合、SNSで拡散されたりテレビで紹介されたりするなどがきっかけでサーバにアクセスが殺到することがあるかもしれません。


せっかく良いサービスを作ってみんなに知ってもらえたのに、広まれば広まるほど赤字になる事態になりかねません。


そういうときのために、利益がでる仕組みを用意しておく必要があります。

(広告や課金システムでしょうか、、)



■勝手に好き放題使われる


万が一、Googleアカウント情報やAPIキー(アクセスキーとか)などのアクセス情報が流出してしまいフルアクセスできる権限が悪意のある第三者に渡ってしまったら、


勝手に高スペックなサーバを大量に立ち上げられて仮想通貨のマイニングといった高負荷な処理を延々と行われてしまい、想像を絶する課金が発生してしまいます。


うっかりミスで重要な情報を公開しないように気を付けましょう。

(攻撃者は常にボットで監視していると思っておいた方がよいでしょう)




クラウド破産しないためにできること


現時点で自分にやれることを行っておこうと思います。



その1.予算アラートを設定する


GCPコンソールのナビゲーションメニューから お支払い を選択します。






左側にある 予算とアラート の項目を選択します。




予算を作成 を押します。




予算の 名前 を入力して次へ。

※ 名前は好きなものでOK





目標金額 を\1 にして次へ




目標金額を\1にしているので予算の割合と金額はそのままでOK





メールアラートにチェックが入っていれば終了します。





予算機能が追加されました。






その2.SSHのポート番号変更 と ファイアウォール ルールの設定


自分のサーバのSSHで接続して下記コマンドを実行してみてください。


cat /var/log/auth.log | grep sshd





IPアドレスの情報を調べてみると、中国からアクセスしようとしているようです。
こわいこわい、、


SSHのデフォルトポート番号を22以外のポートに変更します。


■SSHポート番号の変更


変更するポート番号は使われていないものを指定します。
(10022とか222とか、、)


そのまま、下記コマンドを実行して設定を保存します。

sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.org




次のコマンドでポート番号を変更を実行します。

sudo sed -i -e "s/#Port 22/Port 変更したいポート番号/g" /etc/ssh/sshd_config




SSHサービスを再起動するコマンドを実行します。

sudo systemctl restart sshd.service




■ファイアウォール ルールの設定

GCPコンソールのVMインスタンスから対象のインスタンスを選択します。

ネットワークインターフェース 詳細を表示 をクリックします。




ファイアウォールとルート詳細 から ファイアウォール ルール を選んで、default-allow-ssh をクリックします。





プロトコルとポートtcp の値を変更するポート番号にかえます。





保存 を押して終了です。


あとは、SSH接続ソフト(私はRLogin)や WinSCP などのアプリケーションの接続設定を変更後のポート番号にかえれば今まで通りつながります。



RLogin



WinSCP






その3.Googleアカウントの2段階認証と認証システムアプリの設定


GCPを利用しているGoogleアカウントにログインします。





セキュリティ の項目を選択します。





2段階認証プロセス へ移動します。





2段階認証プロセス が 無効なら有効にします




今回は家の iPad にGoogle認証システムアプリ をインストールして確認コードを取得できるようにします。


2段階認証プロセス に 認証システムアプリ を選択します。

QRコードが表示されるのでそのまま表示しておきます。





次に デバイス(iPad)に Google 認証システムアプリ をインストールします。

アプリ名は、Google Authenticator です。





アプリを立ち上げて QRコードを読み込む を選択します。

カメラが立ち上がるので先ほどの QRコードを映します。

すると、確認コードがアプリに表示されるので QRコード側を次へで進めて確認コードを入力すれば認証が成立します。






その4.Google Cloud Console アプリを利用する


GCPの利用状況を簡単に把握することができる Google Cloud Console アプリをインストールします。








アプリを立ち上げてダッシュボードを見ると今月の課金額がわかります。






他にも、リソースからVMインスタンスを操作したりCPU使用率を見れたりして大変便利です。


こまめに課金額をチェックすることで想定外の課金が行われた場合にすぐ対処できるようにします。


使わないサーバは止めておくようにしましょう。




おわりに


クラウド破産でGoogle検索をするとGCPでも想定外の高額請求が個人宛てに送られてきたりする事例が数多くあります。


有償アカウントへアップデートした後は、本当に気を付けないといけないと思いました。


個人でいろいろ試してみるのはすごく勉強になるので続けたいと思いますが、クラウドの利用には細心の注意を払いたいと思います。

このブログを検索

ブログをよくする

自己紹介

自分の写真
はじめまして。あまるちゃんです。 子供のプログラミング学習に協力できるように教え方を勉強中です。 このブログでは自分が学んだことを投稿していきます。

連絡フォーム

名前

メール *

メッセージ *

ブログ アーカイブ

QooQ