クラウドを使用してGoogleのクラウドアプリケーションエンジンのデータベースをホストする
6460 ワード
クラウドSQLは、GoogleクラウドのApp Engineを介してアプリケーションを展開するときにデータベースをホストする便利な社内の方法です.SQLデータベースの入手方法と実行方法について簡単に説明します.
プロジェクトのGoogleクラウドコンソールで、Storage -> SQL -> createインスタンスに行きます.
インスタンスID、領域/ゾーン、ストレージ容量などのオプションはユーザーにあります.これらの設定を行うと、インスタンスのIPアドレスと接続名が以下のようになります.
あなたのユーザアカウントは、「IAM & Admin」セクションの「IAM」部分にある「雲SQL管理」許可を持つ必要があります.
クラウド管理APIは、クラウドSQL APIとともに有効にしなければなりません.これらは、“APIのとサービス”メニューのセクションで見つけることができます.また、GoogleクラウドSDKをインストールする必要があります
クラウドシェルを使用して接続するには
App Engine Appsはアプリケーションを使用します.構成と環境変数のためのYAMLファイル.あなたが既に1つを持っていない場合は、アプリケーションを作成します.あなたのルートディレクトリのYAMLファイル.注:アプリ.YAMLファイルはプロジェクトのルートディレクトリになければなりません.これは以下の情報を含みます.
インスタンスの作成
プロジェクトのGoogleクラウドコンソールで、Storage -> SQL -> createインスタンスに行きます.
インスタンスID、領域/ゾーン、ストレージ容量などのオプションはユーザーにあります.これらの設定を行うと、インスタンスのIPアドレスと接続名が以下のようになります.
あなたのユーザアカウントは、「IAM & Admin」セクションの「IAM」部分にある「雲SQL管理」許可を持つ必要があります.
クラウド管理APIは、クラウドSQL APIとともに有効にしなければなりません.これらは、“APIのとサービス”メニューのセクションで見つけることができます.また、GoogleクラウドSDKをインストールする必要があります
gcloud
コマンドラインツール(他の中で)-あなたが実行する必要があります注意してくださいgcloud init
GoogleのクラウドSDKを使用して初めて.最後に、Google Cloud SDKにシェルを使用してデータベースインスタンスをローカルに維持するには、インスタンスの「接続」領域(「ネットワークを追加する」)でIPアドレスを指定したネットワークとしてリストする必要があります.クラウドSQLインスタンスへのアクセス
クラウドシェルを使用して接続するには
gcloud sql connect [INSTANCE_NAME] --user=root
パスワードを入力します.暗号化なしでインスタンスに接続するには、MySQLmysql --host=[INSTANCE_IP] --user=root --password
(上記の例ではInstanceRadies IPは0.00.000.000で、インスタンスのために作成したパスワードを入力します).注意:このメソッドは安全ではなく、機密情報を管理する場合はSSL接続を続行する必要があります.あなたの雲のSQLインスタンスにアプリケーションを接続する:app。ヤル
App Engine Appsはアプリケーションを使用します.構成と環境変数のためのYAMLファイル.あなたが既に1つを持っていない場合は、アプリケーションを作成します.あなたのルートディレクトリのYAMLファイル.注:アプリ.YAMLファイルはプロジェクトのルートディレクトリになければなりません.これは以下の情報を含みます.
runtime: nodejs10
env_variables:
DB_USER: "root"
DB_NAME: "<database name>"
DB_PASS: "<instance password>"
DB_INSTANCE_CONNECTION_NAME: "<instance connection name>"
ホスト(IPアドレス)は生産で使用されるだけです、しかし、インスタンス接続名はあなたが展開で接続されるものです.生産のために、あなたはあなたのこの情報を望みます.ENVファイル DB_USER: "root"
DB_NAME: "<database name>"
DB_PASS: "<instance password>"
DB_HOST: "<instance ip>"
生産では、接続の設定はこのようになります(ホストプロパティの後の設定を調整する場合) const connection = mysql.createPool({
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
host: process.env.DB_HOST,
connectTimeout: 10000,
acquireTimeout: 10000,
waitForConnections: true,
queueLimit: 0,
});
一方、展開では、あなたのアプリケーションをソケット経由でデータベースに接続する必要があります.したがって、データベースのSocketPathを確立しましょう(再度、構成は高速かつ確実ではありません). poolConnection = mysql.createPool({
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
socketPath: `/cloudsql/${process.env.DB_INSTANCE_CONNECTION_NAME}`,
connectTimeout: 10000,
acquireTimeout: 10000,
waitForConnections: true,
connectionLimit: 20,
queueLimit: 20,
});
注意createPool
上記で使用.プール接続は、データベース操作で実装する必要がありますデータベース接続の実践の重要な一部です.もう一つのブログ柱でその話題に関して来てください!しかし、今のところ、我々はクラウドSQLデータベースインスタンスを作成し、メンテナンスのためにアクセスし、生産と展開モードのアプリケーションを接続する方法を学びました.私は、このチュートリアルが役に立ったことを望みます!Reference
この問題について(クラウドを使用してGoogleのクラウドアプリケーションエンジンのデータベースをホストする), 我々は、より多くの情報をここで見つけました https://dev.to/gduple/hosting-your-google-cloud-app-engine-s-database-with-cloud-sql-nhnテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol