Free

【3選比較】Pythonを無料サーバーで定期実行する方法

Free

どうも、月見(@Suzuka14144156)です。

今回の記事では、Pythonを無料サーバーで定期実行する方法を解説したいと思います。

よって、この記事では、このような悩みをお持ちの方におすすめです。

悩んでいる人
悩んでいる人
  • Pythonを無料で定期実行する方法が分からない
  • Herokuの代わりになるサーバを探している
結論
  • Google Cloud Functions で、Pythonを定期実行する方法がオススメ!
  • 簡易的なDashbord系のサイトを立ち上げるには、Streamlit Shareを活用するのがオススメ(Link

Pythonを定期実行できる無料サーバー一覧

  • Google Cloud Functionsが無料枠の観点からオススメです
プラットフォームGoogle Cloud FunctionsAWS LambdaHeroku
無料枠200万回/月の呼び出し
400,000 GB 秒、200,000 GHz 秒のコンピューティング時間と、1 か月あたり 5 GB のインターネット下りトラフィック
100万回/月の呼び出し
40万GB秒のコンピューティング時間
無料枠終了(22年11月)
対応言語Node.js、Python、Ruby
Go、PHP、Java
Java、Go、PowerShell
Node.js、C#、Python、Ruby
Ruby、Java、PHP、Python、Node、Go、Scala、Clojure
リンク参考:Cloud Functions の料金参考:AWS Lambda 料金参考:「Heroku」の無償プランが廃止へ
月見調べ

Google Cloud Functionsとは?

スケーラブルな従量課金制 Functions as a Service(FaaS)プロダクトにより、サーバーやコンテナによる管理なしでクラウド上でコードを実行します。

参考:Cloud Functions

なので、Pythonなどのコードをクラウド上で、実行できるということですね。

Google Cloud Functionsの登録方法

Google Cloud Functionsの登録は、以下から可能です。

  • ニーズを入力
  • 利用規約に✓
  • 続行をクリック
  • クレジットカードの情報を登録
  • 検討理由の入力
  • チュートリアルは、スキップ

Google Cloud Functionsの使用方法

  • 今回は、Pythonスクリプトを定期実行する方法を解説します。

大まかなな流れは、以下です。

全体の流れ
  • 1
    Pythonスクリプトを登録
  • Cloud Schedulerで定期実行を登録

Pythonスクリプトを登録して、それを指定した時間間隔で定期実行するというものです。

Pythonスクリプトを登録

以下にアクセス。

プロジェクトの作成

  • 画面上の、「My First・・・」をクリック
  • 画面上の、「新しいプロジェクト」をクリック
  • 適当なプロジェクト名にして作成
  • 作成したプロジェクトを選択
  • 以下のアイコンをクリック
  • 下にスクロールして、「その他プロダクト」をクリック
  • 下にスクロールして、「Cloud Funcrtion」をクリック
  • 画面上の「関数を作成」をクリック
  • APIの有効化ですべて有効化します
  • トリガーのタイプはhttpではなく「Cloud Pub/Cub」を指定
  • トピックを新規作成(適当名前でOK)
  • 「トピックを作成する」をクリック
  • 今回は、以下のような感じで作成します
  • 画面したの「次へ」をクリック
  • ランタイムから「Python3.8」を選択
import base64

def hello_pubsub(event, context):
    """Triggered from a message on a Cloud Pub/Sub topic.
    Args:
         event (dict): Event payload.
         context (google.cloud.functions.Context): Metadata for the event.
    """
    pubsub_message = base64.b64decode(event['data']).decode('utf-8')
    print(pubsub_message)

このコードがデフォルトで記述されます。

  • 画面左下から「デプロイ」を選択

Cloud Schedulerで定期実行を登録

  • プロジェクトのホーム画面
  • 画面左上のメニューから「Cloud Scheduler」をクリック
  • 「ジョブのスケジュール設定」をクリック
  • 名前、リージョン、説明、頻度、タイムゾーンを設定する
  • 「続行」をクリック
  • ターゲットタイプ「Pub/Sub」
  • トピックは、先ほど作成したトピックを指定
  • メッセージ本文を入力
  • 「続行」をクリック
  • 「作成」をクリック
  • 1分後、「最後の実行ステータス」が成功となっていればOK

Google Cloud Functionsの料金アラート設定

Cloud Billing の予算を作成して、Google Cloud のすべての料金を 1 か所でモニタリングすることで、想定外の請求が発生する事態を回避します。

参考:予算と予算アラートを作成、編集、削除する

参考にした情報:本

筆者が、本記事を作成するにあたり参考にした、Pythonの本は以下です。

Python 1年生 体験してわかる!会話でまなべる!

Pythonの基本的な記述方法は、以下の本がオススメです。

図解即戦力 Google Cloudのしくみと技術がこれ1冊でしっかりわかる教科書

Google Cloudのしくみは以下の本を参考にしています。

参考にした情報:Udemy

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

シリコンバレーでバリバリコーディングしている酒井 潤 (Jun Sakai)さんの講義で、非常に参考になりました。

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です!

Google Cloud(GCP)の基礎 – 図解と実践でインフラの基礎を固める

Google Cloud(GCP)の基礎は、この講義で包括されているので、オススメです。

Google Cloud(GCP)の基礎 - 図解と実践でインフラの基礎を固める
クラウドの技術を学び始める方、あるいは体系立てた学習をしたい方に最適のコースです。それぞれのレクチャーで講義、図解、実演をセットにしていますので、初学者の方でも理解しやすい構成になっています。実践で活かせる知識が網羅的に身につきます。

より簡単な方法(Streamlitを使う方法)

簡易的なDashbordを作成するには、Streamlitというライブラリを活用するのがオススメです。

  • 無料で、爆速でWebappを立ち上げることができます。

作成した画像を以下にはっておきます。

サイトの詳細は、以下に作成したサイトを公開しているのでみてみてください。

参考:作成したサイト

作成方法

本サイトのに関しては、以下の記事を参考にしてみてください。

参考:【Python】Streamlitとは?始め方、使い方を解説

参考:Streamlit Share(Sharing)を使ってWebアプリを作成・公開する方法

その他:私の参考記事

その他:参考記事

コメント

タイトルとURLをコピーしました