virtualboxにcentos7を入れて、google app engineにアップロードする

仕事でgoogle app engineを使っていて、勉強環境としてほしかったので構築時のメモをする。

後々AWSをこっちに移行したい。(トラフィック量次第だが無料なので。)

概要

macvirtualboxを入れて、centos7をインストール。

その後google app engine(以下gae)で開発環境をつくって、

本番環境へのアップロードもできるようにする。

手順

virtual boxのインストール

Downloads – Oracle VM VirtualBox

centosのダウンロード

Download CentOS

今回はminimal ISOを使う。

virtual boxにcentos7を入れる

ダウンロードしたisoを指定して、centosをインストールする。

NWはNATと Host only adapterを使う。

Host only adapterでは以下でつまった。

VirtualBoxでホストオンリーアダプタが「無効な設定が見つかりました」となり有効化できない - カタカタブログ

ホストと通信できるようにする

centos 7は6とではいろいろ違いがあった。

  • serviceコマンドがない。 => systemctl start httpdみたいになる。

  • iptablesがない。 => かわりにfirewalldというのがある。

今回は SElinuxと、firewalldを無効にすればipを指定してsshできた

下記を参考にした。

途中SElinuxの設定で間違った入力をしたせいで、linuxreboot後立ち上がらなくなった。 注意。

あとはsystemctl disable firewalldをしないとreboot後にポートが閉まるのでここを忘れないようにする。

VirtualBox に CentOS7.0 をインストールして ssh ログイン + yum コマンドを使えるようにするまで - shouhの日記

GAEをダウンロード

下記からHello worldアプリのデプロイを選択

https://console.developers.google.com/start

基本この通り進める

開発環境をつくる

今回はVM上にgaeを入れたので、下記のようにhostを指定する必要があった。

dev_appserver.py appengine-try-python-django --host=192.168.56.101 --admin_host=192.168.56.101

これで

192.168.56.101:8080 で サービス

192.168.56.101:8000 で gae管理管理コンソールに入れる

本番環境にデプロイ

appcfg.py -A APPID update appengine-try-python-django --noauth_local_webserver

今回はVM上のlinuxなので、--noauth_local_webserverをつける必要があった。

実行すると、 初回のみ、URLにアクセスしろと表示がでるので、 そこにアクセスすると、tokenがでているので、それを入力。

URLは

http://APIID.appspot.com/

そうすれば本番環境にアップロードされる。便利!

今後やること

・あまりトラフィックがきていないものについてはgaeを使った方がawsとかよりも安いのでgaeにうつす

独自ドメインを設定する