このチュートリアルは次のような方の参考になります。
- App Engine でアプリケーションを実行する。
- Cloud SQL をデータベースとして使用する。
- phpMyAdmin を MySQL に対するインターフェースとして使用する、またはウェブ インターフェースをデータベース管理に使いたい。
Compute Engine を使用している場合は、開発スタックのいずれか、またはクリック デプロイで入手できる製品を使用することを検討してください。LAMP、LEMP などの MySQL を含むスタック、または Drupal などのプロダクトをデプロイする際は、その過程で phpMyAdmin をインストールすることもできます。
目標
- App Engine スタンダード環境に Symfony をデプロイする。
料金
このチュートリアルでは、以下を含む、Cloud Platform の有料コンポーネントを使用します。
- App Engine
- Cloud SQL
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを出すことができます。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Cloud SQL 第 2 世代インスタンスを作成します。
- (省略可)Cloud SQL インスタンスを使用する App Engine アプリケーションをデプロイするか、または既存のアプリケーションを選択します。
たとえば、ゲストブック サンプルを作成してデプロイします。phpMyAdmin 単独でデプロイすることもできますが、実際のシナリオでは通常、App Engine アプリケーションとともに使用します。
phpMyAdmin のソースコードをダウンロードする
phpMyAdmin は App Engine アプリケーションのサービスとしてデプロイするので、phpMyAdmin のソースコードをダウンロードする必要があります。手順は次のとおりです。
Cloud Shell ターミナルで次のコマンドを入力して、phpMyAdmin バージョン 4.9.5 のソースコードをダウンロードします。
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.tar.gz
別のバージョンの phpMyAdmin を使用するには、phpMyAdmin ダウンロード ページで使用可能なバージョンのリンクを使用してください。
新しいディレクトリを作成します。後でこのディレクトリにファイルを抽出します。
mkdir phpMyAdmin
新しいディレクトリにアーカイブからファイルを抽出します。
tar -xzvf phpMyAdmin-4.9.5-all-languages.tar.gz -C phpMyAdmin --strip-components=1
ファイルのデプロイを準備する
phpMyAdmin をデプロイするには、次の 3 つのファイルを作成する必要があります。app.yaml
には、App Engine の構成情報を格納します。config.inc.php
には、phpMyAdmin の構成情報を格納します。php.ini
には、PHP 用のアプリケーション固有の構成を格納します。
app.yaml
を作成する
App Engine 構成ファイルでは、URL パスがリクエスト ハンドラと静的ファイルにどのように対応するのかを指定します。また、アプリケーション ID や最新バージョンの ID など、アプリケーション コードについての情報も記載します。次の手順に従いファイルを作成します。
作成した
phpMyAdmin
ディレクトリに、app.yaml
という名前で新しいファイルを作成します。cd phpMyAdmin touch app.yaml
適当なエディタを使用して、次のテキストを
app.yaml
に貼り付けます。phpMyAdmin が App Engine にデプロイする最初で唯一のアプリケーションの場合は、
service
の値をphpmyadmin
からdefault
に変更します。通常は、phpMyAdmin を既存アプリケーションのサービスとしてデプロイし、サービスの名前を指定します。ただし、アプリケーションをまだデプロイしていない場合は、サービス名として「default」を使用する必要があります。App Engine で phpMyAdmin を試すことが目的の場合、このチュートリアルではこれで十分です。
このチュートリアルは、App Engine スタンダード環境でのみ使用できます。
ファイルを保存します。
config.inc.php
を作成する
phpMyAdmin 構成ファイルを作成するには次のようにします。
config.inc.php
という名前の新しいファイルを作成します。touch config.inc.php
適当なエディタを使用して、次のテキストを
config.inc.php
に貼り付けます。Google Cloud Shell を開き、次のコマンドを実行して Blowfish 暗号のランダムな文字列を取得します。
php -r "echo password_hash(uniqid(), PASSWORD_BCRYPT).PHP_EOL;"
新しいシークレットを
config.inc.php
の{{your_secret}}
に貼り付けます。Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
Cloud SQL インスタンスをクリックして、[インスタンスの詳細] ページを表示します。
{{your_connection_string}}
の値($host
変数内)を [インスタンス接続名] プロパティに置き換えます。ファイルを保存します。
php.ini
を作成する
phpMyAdmin のコードには、App Engine ではデフォルトで無効になっている関数が使用されています。App Engine これらの関数を再び有効にするため、以下の手順に沿って php.ini
ファイルを追加します。
phpMyAdmin
ディレクトリでファイルを作成します。touch php.ini
ファイルを編集して次の行を追加します。
ファイルを保存します。
アプリケーションをデプロイする
アプリケーションを App Engine にデプロイするには、次のコマンドを使用します。
gcloud
コンポーネントの更新を確認します。gcloud components update
app.yaml
ファイルが置かれているphpMyAdmin
ディレクトリ内から次のコマンドを実行して、アプリケーションのデプロイを行います。gcloud app deploy
このコマンドは
app.yaml
ファイルの指定どおりに、アプリをphpMyAdmin
サービスにデプロイします。別のサービスとしてデプロイすると、phpMyAdmin はメイン アプリケーションと同じデータセンターで実行されるようになり、パフォーマンスが向上します。コマンドラインからのアプリのデプロイの詳細は、PHP アプリのデプロイをご覧ください。
phpMyAdmin にログインする
ここまでの手順により phpMyAdmin にログインできる状態になっています。
ウェブブラウザで、phpMyAdmin の URL を入力してウェルカム ページを開きます。URL は、実際のアプリ ID で変更してください。
https://phpmyadmin-dot-[YOUR_APP_ID].appspot.com
[ユーザー名] に「root」と入力します。
root アカウントの構成時に指定した root パスワードを入力します。
[実行] をクリックします。
App Engine アプリをデプロイするときは、忘れずに、Cloud SQL のデータベースにアクセスするために作成するすべてのユーザー アカウントをパスワードで保護してください。
トラブルシューティング
App Engine は Cloud SQL Auth Proxy を使用して、Cloud SQL 第 2 世代インスタンスに接続します。Cloud SQL Auth Proxy の動作の詳細については、Cloud SQL Auth Proxy についてをご覧ください。
Google Cloud コンソールの App Engine ログでは、App Engine のエラーに関する情報を確認できます。
クリーンアップ
チュートリアルが終了したら、作成したリソースをクリーンアップして、割り当ての使用を停止し、課金されないようにできます。次のセクションで、リソースを削除または無効にする方法を説明します。
プロジェクトの削除
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
インスタンスを削除する
Cloud SQL インスタンスを削除するには:
- In the Google Cloud console, go to the Instances page.
- Click the name of the SQL instance you that want to delete.
- To delete the instance, click Delete, and then follow the instructions.
次のステップ
- phpMyAdmin の詳細を確認する。
- Google Cloud に関するリファレンス アーキテクチャ、図、ベスト プラクティスを確認する。Cloud アーキテクチャ センターをご覧ください。