0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GCPを実務未経験の初学者が使ってみた話。

Last updated at Posted at 2021-11-28

5ヶ月ほど前にwebアプリケーションを作成した際、本番環境としてGCPのAppEngineを選択したのだが、なかなかに苦労したので今更ではあるがそれらを可視化しようということで記事を作成しようと思う。
##GCPの使用用途について
Laravelの学習に際して、その本番環境として友人の勧めにより使用することを決めた。
今まではレンタルサーバーを使うことが多かったので、クラウドを扱う練習という意味でもあった。

使ったサービス

  • App Engine
  • Cloud SQL
## GCP利用にあたってのフロー
  1. デプロイする成果物の作成
  2. ModelSeeker
  3. Udemyでの学習
  4. 最速で学ぶ - Google Cloud Platform(GCP)入門完全攻略コース
    こちらの講座ではComputeEngineを使ってVMインスタンスを作成したり、ロードバランサーを使い、それらに対するアクセスの負荷を分散する演習などをハンズオン形式で学習することができた。AppEngineを利用するよりも難しい内容だったが、GCPってこんなことができたりするんだ、ということが少しわかるようになった。
  5. GCPの利用設定とデプロイ
  6. app.yamlの作成やgoogle cloud SDKの設定からデプロイ、データベースの設定等を行った。 この記事ではここの部分において学んだことや苦労したことなどを述べていきたい。
##苦労したこと 苦労したことと言っても、正直全て苦労したのだが、(というのも初めて触るものが多すぎたから)その中でも特に頭がごちゃごちゃになったものを...

app.yamlの設定

まず変な拡張子だなと思った。
スペースの数を間違えるだけでエラーが出ちゃうという神経質さにこっちまで神経質になった。
オートスケーリングの設定もできるみたいだけど、正直その辺はよくわからなかったから設定してない。

gcloudignoreの設定

いざデプロイ!と思いコマンドラインでgcloud app deployと叩いてみたところ、待てど待てど処理が完了しなかった。よくみるとデプロイ中のファイルが3万個くらいあった、、、。AppEngineでの上限ファイル数は1万らしく、大してファイルが多いわけでもないのになぜこんな数になるんだと思って調べてみると、gcloudignoreでデプロイ対象を適切に指定しなければならなかったらしい。

え?どうやってmigrateするの?問題

ローカル環境ではmigrationファイルをもとにartisan migrateコマンドでデータベースを構築してくれて簡単で便利だったのだが、本番環境ではここがどうしてもうまく行かなかった。ローカル環境のテーブルとクラウドを同期する方法を色々試してみてうまく行かなかったので、phpMyAdminから構築済みのデータベースを手動でローカル環境にダウンロードして、storageにアップロード、SQLにインポートという形をとった。
でもこれ、データベースの構成に修正を加えたくなった時、どうすればいいのだろうか...?

Cloud SQLの設定

上で無事に構築済みのデータベースをGCP上にアップロードできたのだが、サイトにアクセスしてもうまくデータベースに接続できておらず、エラーを吐き続けていた。app.yamlの設定もうまくできてたし、何でだろうと思っていた。
というのも本来、CloudSQLのインスタンス>作成したデータベース>テーブル みたいな順番の構成になっていないといけなかったのに、このインスタンスの中にローカルで構築した複数のテーブルをそれぞれぶちこんでいたのが原因みたいだった。
こんなの当たり前すぎて誰も記事にしていなかった。見当違いなことをしすぎてローカル環境でもエラーを吐くようになって、半泣きになりながら解決手段を模索したのは今となってはいい思い出だ。基本的にはこう言ったエラーは日を跨ぐとまた訳が分からなくなってしまうので、その日のうちに何とかするのだが流石に次の日に持ち越すことを決意した。その日は布団の中でテキストエディタの黒い画面とエラー画面が頭の中を巡り続けて、朝まで眠れなかったからダブルでしんどかった。

学んだこと

こんな感じで慣れない技術や新しいことを取り入れる時って特に神経をすり減らすし、分からないことだらけで嫌になることもあるけど、うまくいった時の達成感はそれ以上のものだし、なんかすごい成長した気分になる。
最初はわからないっていうのは当たり前のことだしそんな簡単に行ったら面白くない。それにビビらずに、ちょっと自分を過信してやってみることが大事なんだな、と抽象的な言葉ばかり並べて申し訳ないが、そういったことを感じた。
あ、あと間違えてSQLの容量設定を100GBにしてしまい、毎月3000円くらいお金がかかっているのだが、勉強代ということで(笑)

拙い文章でしたがここまで読んでいただき感謝しています。何か気になる点やご指摘等ございましたら教えていただけるとありがたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?