# 概要
電力の計量計算を行う業務システムのインフラ構築
# 期間と規模
2021年7月~2022年6月
インフラチーム3名
# 使用技術
Java, JBoss, Wildfly, PostgreSQL, OpenVPN, AWS
# 担当業務
電力計算の業務アプリケーションのインフラ設計構築
- EC2, ALB, RDS(PostgreSQL), Route53, S3, Lambda, WAF などリソース構築
- CloudFormationで本番環境と災対環境の管理
- CloudWatchやKinesisなどを利用してDBの死活監視、ログ監視の構築
# 担当業務
・EC2,RDS(PostgreSQL),Route53,S3などリソース構築
・CloudFormationで本番環境と災対環境のインフラをコーディング
・CloudWatchやKinesisなどを利用してDBの死活監視、ログ監視の構築
・Lambda関数を使ったバッチ処理(Python)、ALBやRDSとの関連付け
・WAFやALBの構築
・ClientVPN接続の際の証明書作成やACMで証明書管理
# 取り組みやこだわった点
1. S3のストレージ設計
・バケットごとにアクセス制限を設けるバケットポリシーを採用し、S3パブ リックアクセスブロックを有効にすることで不正アクセスからデータを保護する安心安全なストレージ設計を行い構築
・運用時間外に画面に表示するHTML(SorryPage)を格納し、運用時間外にアクセスされた場合に出力する設計と構築を行った
・CloudWatchのメトリクスと連携し、OSログ、APログ、DBログ、証跡ログ等を一定期間分保管できるよう、監視設計と監視ログ保存の仕組みを構築した
・RDSのスナップショット機能により取得されたDBのバックアップを保管させること
2. CloudFormaitonによる運用
・CloudFormationにおける運用においては、拡張性のしやすさと障害発生時のリストア方法の簡略化に注力
・EC2やRDSにおいてはサーバの処理や利用者増加により、CPU、メモリのリソースが不足する場合はインスタンスのアップグレードを行い、Lambda用リソースジョブの処理件数の増加などによりリソースが不足する場合、追加割り当てを行う運用方針にした
CloudFormationによるIaC化においてはコードの可読性を担保しつつ、AZ障害発生時を見据えたバックアップからのリストア作業と復旧時の切り戻し作業をスムーズに行える運用を目指した
・具体的には、Formationのスタックを流す際のパラメータ選択において、インスタンスのスペックやAZ-aとAZ-cをCondition別に分けてパターン別にリソースを構築をできるようにしたりと、柔軟にリストアできるよう手順書に明記・作成し、顧客に納品を行うことができた