概要
このソリューションは、クラウドネイティブのシンプルな Web アプリ COVID-19 トラッカー を Alibaba Cloud にデプロイし、COVID-19 の感染拡大とその影響を可視化します。このアプリを通じて、日次更新情報のサブスクライブと感染統計情報の閲覧ができます。
リファレンスアーキテクチャ
ステップ
リソースのデプロイ
環境でプロバイダーパラメータを指定していない場合は、次のコマンドを使用して、Alibaba Cloud のアクセスキーとシークレットキーを設定してください。
provider "alicloud" {
# access_key = "${var.access_key}"
# secret_key = "${var.secret_key}"
region = "ap-southeast-1" }
Terraform の使用方法の詳細については、Alibaba Cloud で RDS MySQL 向け Terraform を始めるをご参照ください。
NodeJS のインストール
1 ECS コンソールを開きます。作成した ECS インスタンスが表示されます。インスタンスにログインします。
ECS インスタンスのデフォルトのアカウント名とパスワードは以下の通りです:
アカウント名:root
パスワード:Aliyun-test
ECS インスタンスのデフォルトのアカウント名とパスワードは以下の通りです:
アカウント名:root
パスワード:Aliyun-test
2 次のコマンドを実行して、NodeJS インストールパッケージをダウンロードします。
wget https://nodejs.org/dist/v14.17.1/node-v14.17.1-linux-x64.tar.xz
3 次のコマンドを実行して、インストールパッケージを解凍します。
tar -xf node-v14.17.1-linux-x64.tar.xz
4 次のコマンドを実行して、コマンドのソフトリンクを作成します。
ln -s /root/node-v14.17.1-linux-x64/bin/node /usr/bin/
ln -s /root/node-v14.17.1-linux-x64/bin/npm /usr/bin/
5 次のコマンドを実行して、Node のバージョンを確認し、NodeJS が正常にインストールされたことを検証します。
node -v
npm -v
COVID-19 トラッカーのインストール
1 プロジェクトのダウンロード
1.1 次のコマンドを実行して、Git をインストールします。
apt update && apt -y install git
1.2 次のコマンドを実行して、サンプルプロジェクトをコピーします。
git clone https://github.com/yankidank/covid-19-tracker.git
1.3 次のコマンドを実行して、プロジェクトディレクトリに移動します。
cd covid-19-tracker
1.4 次のコマンドを実行して、プロジェクトの依存関係をインストールします。
npm install --unsafe-perm
2 データのインポート
2.1 Alibaba RDS コンソールに移動し、Terraform で作成した RDS データベースを確認します。covid19 データベースとアカウントが自動的に作成されていることを確認できます。RDS のイントラネットアドレスも確認できます。
2.2 次のコマンドを実行して、MySQL クライアントをインストールします。
apt -y install mysql-client
2.3 次のコマンドを実行して、RDS インスタンスのデータベースにログインします。
注:YOUR-RDS-INTERNAL-ENDPOINT をお使いの RDS インスタンスのイントラネットアドレスに置き換えてください。
注:YOUR-RDS-INTERNAL-ENDPOINT をお使いの RDS インスタンスのイントラネットアドレスに置き換えてください。
mysql -hYOUR-RDS-INTERNAL-ENDPOINT -ucovid19 -pAliyun-test -Dcovid19
2.4 次のコマンドを実行して、"stats" テーブルを作成します。
CREATE TABLE stats
(
id int NOT NULL AUTO_INCREMENT,
FIPS INTEGER NULL,
Admin2 VARCHAR(100) NULL,
city VARCHAR(100) NULL,
province VARCHAR(500) NULL,
country VARCHAR(100) NULL,
confirmed INTEGER default 0,
deaths INTEGER default 0,
recovery INTEGER default 0,
last_update datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
latitude Decimal(18,15) NULL,
longitude Decimal(18,15) NULL,
active INTEGER NULL,
combined_key VARCHAR(500) NULL,
primary key(id)
);
2.5 次のコマンドを実行して、データベースから退出します。
exit
2.6 次のコマンドを実行して、設定ファイルを開き、データベースの接続設定を変更します。
vim config/config.json
2.7 次のコマンドを実行して、設定ファイルを開き、データベースの接続設定を変更します。
vim csv_to_mysql/read-file-4.js
2.8 次のコマンドを実行して、スクリプトファイルを実行し、データをデータベースにインポートします。
cd csv_to_mysql
node read-file-4.js
3 Sparkpost キーの取得
https://www.sparkpost.com にログインして、アカウントを登録し、API キーを作成します。
4 COVID-19 トラッカーの実行
4.1
注:YOUR-API-KEY および YOUR-SECRET を、設定した値に置き換えてください。
vim /etc/profile コマンドを実行し、以下の内容をファイルの末尾に追加します。注:YOUR-API-KEY および YOUR-SECRET を、設定した値に置き換えてください。
export SPARKPOST_API_KEY=YOUR-API-KEY
export LOGIN_SECRET=YOUR-SECRET
4.2 次のコマンドを実行して、変更を有効にします。
source /etc/profile
4.3 次のコマンドを実行して、アプリケーションを起動します。
cd /root/covid-19-tracker
node server.js
http://ECS_Public_IP:8080 にアクセスして、COVID-19 トラッカーのグラフィカルインターフェイスを表示します。
