経緯

  • GAE(standard) では現在難しい状況
    • 概略
      • php55 では vpc_access_conector 非対応
      • php7x 系にする必要があるが、phpmyadmin 側が対応しきれていない模様。

GAE(flexible) + vpc_access_conector 構成

  • cloud shell の中で作業する (local のターミナルでも良いが gcloud sdk が必要)

  • app.yaml を用意

runtime: custom env: flex // flex 指定 automatic_scaling: min_num_instances: 1 // デフォルトは 2。スケールさせない。
  • Dockerfile を用意
FROM phpmyadmin:latest ENV PMA_HOST 10.4.176.4 // cloud sql の ip address を指定。 これを指定することで vpc_access_conector 不要になった RUN sed -i 's/Listen 80/Listen 8080/g' /etc/apache2/ports.conf // コンテナは 80 port で受け付けているが それを 8080 に変更する。これは GAE ルール

IAP 設定について

GAE では IAP が使えるので、適切な権限を持つ人に IAP 設定をしてもらった。

  • これによってセキュリティが向上した
    • 1 段階目で適切な権限を持つ user しか phpmyadmin の login ページにアクセスできない
    • 2 段階目で user と pass を入力する必要がある

他の user で login した結果 Screen Shot 2021-07-19 at 20.33.19.png Screen Shot 2021-07-19 at 20.33.31.png