Yanagi-1989 / covid-19

新型コロナウイルス感染症(COVID-19)
MIT License
0 stars 0 forks source link

covid-19

新型コロナウイルス感染症(COVID-19)の感染者数をカレンダー風に表示

環境等

インスタンス作成

必要な情報を変数に設定

  1. ConoHaAPIの認証情報を設定
    ConoHaのログインユーザとは別に、前もってAPIユーザを作成しておく必要がある。
    作成方法等の詳細はこのファイルのコメントを参照。
    # ConoHaコントロールパネル > API > APIユーザー > ユーザ名
    export CONOHA_API_USER_NAME="XXXXXXXXX"
    # ConoHaコントロールパネル > API > APIユーザー > パスワード
    export CONOHA_API_PASSWORD="XXXXXXXXX"
    # ConoHaコントロールパネル > API > API情報 > テナント名
    export CONOHA_API_TENANT_NAME="XXXXXXXXX"
  2. 作成するVPSのSSH接続に使う鍵情報を設定
    これも前もって作成しておく必要がある。
    作成方法等の詳細はこのファイルのコメントを参照。
    # Conohaコントロールパネル > セキュリティ > SSH Key に存在するもの(存在しない場合は作成)
    export CONOHA_SSH_KEY_NAME="XXXXXXXXX"

Terraformを実行

  1. Terraform環境を構築
    cd terraform
    terraform init
  2. 作成されるVPSの内容をチェック
    terraform plan \
     -out=tfplan \
     -var-file="terraform.tfvars" \
     -var timestamp=$(date '+%Y-%m-%d') \
     -var conoha_api_user_name=${CONOHA_API_USER_NAME} \
     -var conoha_api_password=${CONOHA_API_PASSWORD} \
     -var conoha_api_tenant_name=${CONOHA_API_TENANT_NAME} \
     -var conoha_ssh_key_name=${CONOHA_SSH_KEY_NAME}
  3. 問題無いようであれば、VPS作成を実行
    terraform apply -auto-approve "tfplan"
  4. 作成したVPSのグローバルIPアドレスを取得。
    terraform show | grep access_ip_v4

deploy

  1. ~/.ssh/configの、このプロジェクト用VPSのHost
    conoha_covid19HostNameを作成もしくは編集
    # 例
    Host conoha_covid19
       HostName     [Terraformにて作成したVPSのグローバルIP]
       User         root
       IdentityFile ~/.ssh/XXXXXX.pem
  2. 当プロジェクトのトップディレクトリに移動
  3. 以下のコマンドを実行
    cd ansible
    # conohaはコンソールに入らずにroot以外のユーザを追加する方法が無い
    ansible -m ping -u root -i hosts vps
    ansible-playbook -u root -i hosts site.yml
  4. WEBブラウザにて新規に作成したサーバにのIPにアクセスし、画面が表示されることを確認
  5. ConoHaにて、新しいサーバの接続許可ポートをWEBのみに設定
  6. ConoHaにて、ネットワーク > ロードバランサー > バランシング元ポート80 > バランシング先IPアドレスに、
    新規作成したサーバを追加し、以前のIPを削除
  7. ConoHaにて、古いサーバを削除

ローカル開発環境作成

以下のコマンドを実行

vagrant up
# うまくいかなかった場合は以下を実行
vagrant provision