2

次に、Rails アプリを Google Container Engine にデプロイしたいと考えています。また、Google Cloud SQL をデータベースとして使用します。

Google Container Engine から Google Cloud SQL に接続しようとすると、次のエラーが発生しました。

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

これを解決するためのドキュメントがありますが、Google Container Engine に関する情報はありません。

https://cloud.google.com/sql/docs/diagnose-issues#connection

動的に割り当てられた IP アドレスに対する Google Cloud SQL アクセス SSL 接続:

https://cloud.google.com/sql/docs/access-control#dynamicIP

したがって、mysql インスタンスのクライアント証明書を作成する必要があります。

https://cloud.google.com/sql/docs/configure-ssl-instance

次に、次のように接続します。

shell> mysql --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem \
         --host=instance-IP --user=user-name --password

https://cloud.google.com/sql/docs/mysql-client#connect

しかし、Google Container Engine のプログラムから mysql データベースの URL で Google Cloud SQL に接続したいと考えています。

mysql2://myapp:password@1.2.3.4/myapp?checkout_timeout=20000

--ssl-caこの方法で 、--ssl-cert、を取り付ける方法は--ssl-key?

4

1 に答える 1

0

この点では、Google Cloud SQL は他の MySQL サーバーと何ら変わりはありません。SSL 情報をパラメータとして URL のクエリ セクションに追加します。あなたの例では、次のようになります。

mysql2://myapp:password@1.2.3.4/myapp?checkout_timeout=20000&sslca=server-ca.pem&sslcert=client-cert.pem&sslkey=client-key.pem
于 2016-10-01T04:20:52.587 に答える