見出し画像

語彙力トレーニング日記#6

こんばんは、アラサーのエンジニアです。

本日の作業は主に下記3つでした。

  • 1. とある案件の本番環境のインフラ構築(GoogleCloud)

  • 2. CloudFunctionsのディレクトリ構成考案

  • 3. AWSのACMやALB、CloudFrontDistributionのCNAMEおよびエイリアスのクロスアカウント登録の調査

1. とある案件の本番環境のインフラ構築 (GoogleCloud)

開発環境をTerraformで構築していたのでコピペするだけで済みました。
IaCってホント便利ですよね。
GoogleCloudはTerraformCDK for Terraform どちらがよく使われているんだろうか。

2. CloudFunctionsのディレクトリ構成考案

副業の方ではAPIGateway + CloudFunctionsを使用したサーバレスアーキテクチャを採用しておりまして、いくつか関数を実装していました。

クライアントから関数のソースコードをGithubにコミットよろしく〜〜と言われたものの、GoogleCloudのマネージドコンソールで直接実装を進めていてローカル環境にソースコードがなかったので今回ローカル環境でCloudFunctionsを開発するためのディレクトリ構成を考える運びとなりました。

最終的なディレクトリ構成がこちらです。
関数ごとにフォルダを作成し、ローカルの開発で使用するDockerfileやdocker-composeも関数ごとに用意しました。
( Dockerfileとdocker-composeや1つにまとめられそうなので検討中 )

プロジェクトルート
├── 関数1
│   ├── Dockerfile
│   ├── docker-compose.yaml
│   ├── package.json
│   ├── index.js (エントリーポイント)
│   ├── ...省略...
│   └── Makefile
│
├── 関数2
│   ├── Dockerfile
│   ├── docker-compose.yaml
│   ├── package.json
│   ├── index.js (エントリーポイント)
│   ├── ...省略...
│   └── Makefile
│
├── 関数3
│
├── 関数4
│
├── ...
├── ..
├── .

今更ながら、GoogleCloudマネージドコンソールで実装していた時はソースコードを更新するたびに待ち時間が発生し、さらにタイポやエラーが重なるとまたソースコードの更新と待ち時間が発生するので開発効率がかなり悪かったです。
今回の対応により、ローカル環境で簡単に動作確認できるようになったので開発効率がかなり上がりました。
ローカルの開発環境の大事さを再認識しました。

3. AWSのACMやALB、CloudFrontDistributionのCNAMEおよびエイリアスのクロスアカウント登録の調査

調査の内容は「AWSアカウントBで作成したACMやALB、CloudFrontDistributionのCNAMEやエイリアスを、AWSアカウントAのRoute53に登録して機能するかどうか」です。

やりたいこと( ALBの例 )

やりたいこと( ALBの例 )

別アカウントのリソースをRoute53へ登録して機能するらしい技術記事がチラホラあったので一旦実現可能と仮定して作業を進めることにしました。
本作業はGW明けの5/7です、ドキドキ。


早い人は明日からGWですね!
GWは積読の消化 や AWS CDKの勉強をします。
皆様はどんなGWを過ごしますか?

ではまた〜

この記事が気に入ったらサポートをしてみませんか?