【GCP入門編・第4回】すぐ出来なくても大丈夫!サンプルアプリで Google Compute Engine (GCE) の動作練習!
- GCP入門編
- Google Compute Engine
前回の記事では、 Compute Engine を使ってインスタンスを立ち上げる方法について解説しました。
Google Compute Engine でインスタンスの立ち上げを行うと、アプリケーションを Compute Engine 上で動作させることができる状態になります。この記事では、サンプルアプリケーションを Compute Engine で動作させてみます。
目次
この記事の目的
- GCP の Google App Engine 向けサンプルを Google Compute Engine のインスタンス上で動作させる。
※この記事では Git が使えることを前提としています。
Google Compute Engine (GCE) でサンプルアプリケーションを動作させる。
今回動作させるサンプルは、 Google が公式に提供している Python で作られたサンプルアプリケーションであり、 Web Application Framework としては Flask を使用した、単純なアプリケーションです。
そのため、通常の Flask を使用した Web アプリケーションには含まれていない app.yaml や appengine_config.py といった設定ファイルが含まれています。こちらは必ずしも Compute Engine で Flask アプリケーションを動作させる為に必要なものではありません。
まず、手元の環境でリポジトリを作成し、GCP のプライベートリポジトリにコードを保存するところから始めます。
GCP ではソースコードの管理に Git を利用するため、 Git が手元の環境にない方はこちらを参考にインストール下さい。また、 GCP のプライベートリポジトリを使う際に必要となる、 Google Cloud SDK もインストールして下さい。
まず、以下のコマンドで GCP のサンプルをダウンロードしましょう。
$ git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
ダウンロードされた「python-docs-samples」というフォルダ内に入っている ”appengine/standard/flask/hello_world” のみを使用します。
こちらのコードだけを取り出し、新しくリポジトリを作成します。
$ cp -rf appengine/standard/flask/hello_world hello_world
$ cd hello_world
$ git init .
$ git add .
$ git commit -m “Initial Commit”
上記の手続きにより、サンプルアプリケーションのローカルリポジトリが作成されました。次は、こちらのリポジトリを GCP のリポジトリに登録してみます。ブラウザを開き、 GCP のコンソールに移動し、左側メニューボタンを押して ”Development” のメニューを選択します。まだリポジトリを一つも作成していない場合には、 [Get started] というボタンが表示されていますので、こちらをクリックします。
メニューを選択すると、 Repository Name を入力する画面となりますので、 ”hello-world” と入力し、 [CREATE] をクリックします。
これで空の状態のリポジトリが作成されました。次に、先ほど作成したローカルリポジトリのリモートとして、このリポジトリを登録します。表示されている3つのメニューのうち、一番上にある ”Push code from a local Git repository to your Cloud Repository” を選択。すると GCP のリモートに登録するためのコマンドが以下のように表示されますので、順に実行します。
$ gcloud init && git config credential.helper gcloud.sh
$ git remote add google https://source.developers.google.com/p/プロジェクトID/r/hello-world
$ git push --all google
最後のコマンドである、
git push --all google
を実行後、ページをリロードすると、 “hello_world” フォルダの中身がブラウザ上に表示されます。
ここまでで、プライベートリポジトリへの登録は完了です。
次に、 Compute Engine のインスタンスで、サンプルアプリケーションを動作させてみます。
まずは、インスタンスに SSH でログインします。 Google Cloud SDK に付属している、 gcloud compute ssh コマンドの利用がおすすめです。
$ gcloud compute ssh インスタンス名
次に、先ほどのリポジトリをこのインスタンス上でクローンします。このインスタンスでは git, gcloud コマンドが最初から利用可能ですので、以下の通りコマンドを入力します。
$ gcloud init
$ gcloud source repos clone hello-world --project=プロジェクトID
クローンに成功すると、 ”hello-world” というフォルダが作成されています。次にこのフォルダに移動し、アプリケーションを起動します。なお nginx が立ち上がっている際には80番ポートを使用していますので、 nginx を停止します。
$ sudo service nginx stop
次に、 “hello-world” アプリケーションを起動します。
$ cd hello-world
$ sudo apt install python-pip gunicorn
$ pip install --upgrade pip
$ sudo pip install -r requirements.txt
$ sudo gunicorn -b 0.0.0.0:80 main:app
この状態で、 “Hello World!” という文字列が表示されたでしょうか?
表示されていれば、アプリケーションの動作は問題なく行えています。
別記事では、同じアプリケーションを App Engine で動作させる方法を解説します。
【GCP入門編・第5回】 Google App Engine の魅力とは? Google App Engine (GAE) でのアプリケーション起動方法!
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、
- Google Cloud (GCP)支払い代行
- システム構築からアプリケーション開発
- Google Cloud (GCP)運用サポート
- Google Cloud (GCP)に関する技術サポート、コンサルティング
など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
お問合せはこちら
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!