「GCP」タグアーカイブ

メールをsendgrid経由送信に変更

基本、gcpからはメール出せません。今までは面倒だったので、smtp.google.com経由でメールを出していたのですが、そうすると送信者がGmailのアカウント名になってしまうので、ちゃんと使うには問題があります。

そんな訳でSendGrid経由で出す設定にしてみました。12,000通/月まで無料とか神対応ですね!

手順ははい。ここを見てください(笑)

https://www.apps-gcp.com/sendgrid-gce/

とても参考になりました。ありがとうございます。

ただ、この記事が作成された当時と今で変わっているのは、SMTP送信に使われるユーザーはSendGridの管理アカウントではなく、APIキーになりました。なので、はい。ここを見てください(笑)

apikeyを発行してsasl_passwd設定してpostmapすればメール送信できるようになります。素晴らしい。

それと、WhitelabelingはSender Authenticationと言う名前に変わったようです。SendGridが丁寧な設定情報を書いてくれているのでこの通り設定すれば、SPFとDKIMの設定をかたがわりしてくれます。https://sendgrid.kke.co.jp/docs/Tutorials/D_Improve_Deliverability/using_whitelabel.html?utm_source=Vol.2&utm_medium=email&utm_content=HTML&utm_campaign=WelcomeEmail

ドメイン変更 lambeden.dyndns.org → lambeden.jp

過去の経緯でDynDnsでサーバ更改してましたが、現在はgcp上にサーバがあるので、DynDnsを使う必要がないんですよね。DynDnsは$99/2yearsなので、それだけあったら普通にドメイン取ってDNS立てられるよね。。。

という訳で、この際ドメインを取得して固定ドメインで公開することにしました。

という訳でまずは、お名前.COMでドメイン取得!

幸い、lambeden.jpが空いていたので取得しました。年間330円也。→訂正 登録は330円だけど、年間更新料は3,124円でした。。。jpは高いイメージがあったのですが、330円ならとjpにしてしまったけど、あーnetとかにしておけばよかったとちょっと後悔。まぁいいか。

https://www.onamae.com/service/d-price/

次に、gcpのCloudDNSでDNS設定。費用は0.4ドルくらいですかね。

Google Cloud DNS (Google Cloud Platform)
クエリ数 0~10億クエリまでは、100万クエリ毎に$0.40/月クエリ数 10億クエリ以上では、100万クエリ毎に$0.20/月加算されます。 Managed Zones数 26ゾーン以上では、1ゾーン毎に$0.10/月加算されます。

CloudDNSでゾーン作ったらお名前.COMのネームサーバ設定で「その他サービス」選んでCloudDNSに向けます。すぐに「完了」と出ますが、実際にWhoisやJPRSのDNSに反映されるまでに20分くらい掛かりました。ただし、まだ世の中的サーバはdns1.onamae.com/dns2.onamae.comだと思っていて、https://lambeden.jp/にアクセスしてみると「このドメインは お名前.com から取得されました。」のページが表示されてました(笑) TTLは300秒に設定されている様なので、もうすぐ変わるかな。。。変わりました 🙂

さて、次はWordPressのドメイン変更か

p.s.

今時の世情としてWhois情報非公開にできるんですね。「(登録者からの申請により非表示)」となってました 🙂

GCP f1-micro to e2-micro

先日、gcpから「[Action Required] To continue receiving your Free Tier discount, upgrade your F1-Micro VM to an E2-Micro VM by September 1, 2021」というタイトルのメールが届いた。

gcp ではアメリカの一部のリージョンでf1-microをずっと無料で利用できるのですが、そのインスタンスがe2-microに変更されるようです。

f1-microは0.2vCPU、0.6GBメモリだったのですが、e2-microは0.25vCPU、1.0GBメモリに増強されるようです。まぁ、使ってみた感じは正直差を感じられませんでしたが(笑)メモリが増えた分、swapは少し減りましたかね。

まぁ、元々f1-microではパワー不足なのでg1-small検討してねと出てるので、仕方ないんですけどね(笑)

p.s.

現時点(2021/8/4)で、free Tierがe2-microになったことは書いてないですね。

https://cloud.google.com/free/docs/gcp-free-tier?hl=ja

それと、e2-microのFree Tierの課金がちょっとおかしいみたいです。何故か微妙に課金されていておかしいなぁと思っていたら、以下のメッセージが出てました。

3 Aug 202115:31 PDTSummary: Mutliregional Price for E2 Free Tier core is set incorrectlyDescription: Customers in us-west1 and central1 creating E2-micro VMs are being incorrectly charged. Our engineering team have a mitigation underway.Mitigation progress is expected by Tuesday, 2021-08-03 17:30 US/Pacific.We will provide more information by Tuesday, 2021-08-03 17:30 US/Pacific.Diagnosis: Customers might see that they’re being incorrectly charged for a general purpose e2-micro VMs.Workaround: None at this time.
Status Dashboard情報
課金されないはずのe2料金が課金されてる

Ubuntu 18.04 LTS -> 20.04 LTS on GCP

GCPで運用しているこのサイトのOSをUbuntu 18.04 LTSから20.04LTSにアップグレードした。

gcp用でも問題なく do-release-upgrade -d で上げることができた。なお、gcpでアップグレードを掛けると、Kernelは勝手に5.4.0-1009-gcpになる様だ。(apt/sources.listはhttp://us-west1.gce.archive.ubuntu.com/ubuntu/を参照している)

GCPの問題というわけではなく毎回出る軽微な設定の変更な何点かあった。

  • PHP7.2→7.4になったことによりApacheが起動しない問題
May 02 09:14:18 abel systemd[1]: Starting The Apache HTTP Server... 
May 02 09:14:19 abel apachectl[3698]: apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.2.load: Cannot load /usr/lib/apache2/modules/libphp7.2.so into server: /usr/l> 
May 02 09:14:19 abel apachectl[3693]: Action 'start' failed. May 02 09:14:19 abel apachectl[3693]: The Apache error log may have more information. May 02 09:14:19 abel systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE 
May 02 09:14:19 abel systemd[1]: apache2.service: Failed with result 'exit-code'. 
May 02 09:14:19 abel systemd[1]: Failed to start The Apache HTTP Server. 

phpモジュールをリンクしなおして解決
# a2dismod php7.2
# a2enmod php7.4
  • dovecot 2.3系での変更
May 2 09:20:53 abel dovecot: config: Warning: please set ssl_dh=</etc/dovecot/dh.pem
May 2 09:20:53 abel dovecot: config: Warning: You can generate it with: dd if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam -inform der > /etc/dovecot/dh.pem 
May 2 09:20:53 abel dovecot: imap-login: Error: Failed to initialize SSL server context: Can't load DH parameters: error:1408518A:SSL routines:ssl3_ctx_ctrl:dh key too small: user=<>, rip=126.203.14.194, lip=10.138.0.3, session=<zjVRRZ+ k7lt+yw7C>

May 02 09:23:52 abel dovecot[4362]: config: Warning: NOTE: You can get a new clean config file with: doveconf -Pn > dovecot-new.conf 
May 02 09:23:52 abel dovecot[4362]: config: Warning: Obsolete setting in /etc/dovecot/conf.d/10-ssl.conf:50: ssl_protocols has been replaced by ssl_min_protocol

DH keyを作れと言われるので以下で作る(2048を指定しないと1024で作られてしまう)
dd if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam 2048 -inform der > /etc/dovecot/dh.pem

/etc/dovecot/conf.d/10-ssl.confを以下の様に変更
ssl_dh = </etc/dovecot/dh.pem
# ssl_protocols = TLSv1 TLSv1.1 TLSv1.2
ssl_min_protocol = TLSv1

AWS Lightsail to GCP CE

Google Cloud Platformが実は ちっちゃいインスタンスをずっと無料で動かせるという事を知り、このBLOGをAWS LightSailから引っ越しました(笑)

Always Freeの仮想マシン(Compute Engine)条件は以下の通り

1 つの非プリエンプティブル f1-micro VM インスタンス(1 か月あたり)。次の米国リージョンのいずれかで利用できます。
オレゴン: us-west1
アイオワ: us-central1
サウスカロライナ: us-east1
30 GB 月の HDD
次のリージョンで 5 GB スナップショット ストレージ(期間合計):
オレゴン: us-west1
アイオワ: us-central1
サウスカロライナ: us-east1
台湾: asia-east1
ベルギー: europe-west1
1 GB の北米から全リージョン宛ての下りネットワーク(1 か月あたり、中国とオーストラリアを除く)

https://cloud.google.com/free/docs/gcp-free-tier?hl=ja

サイズ的にはAWS LightSailの$3.5/月版(1vCPU, 512MBメモリ,20GB SSD,1TB転送)くらいかと。

米国にサーバを建てないといけないわけですが、クラウドだし、WEBサーバならそんなに気になりません。

違うリージョンに作ってしまったり、対象外の国(中国など)からのアクセスは課金されるので注意。

なお、元のLightSailサーバはスナップショットを取った上で削除しました。スナップショットは$0.05/GB月なので、20GBあっても$1くらいですね。(実際は使ってる分だけなのでそんなにないです。)

参考

https://qiita.com/Brutus/items/22dfd31a681b67837a74