コンテナを活用したWEBアプリケーション実行基盤
概要 |
某人材紹介会社様向けに、WEBアプリケーションの実行基盤を構築しました。
アプリケーションは、コンテナを利用して構築されており、ベンダーロックインを避けるために、Kubernetesを利用して構築されています。 それに伴い、ログ、モニタリング、アラートなどの運用基盤もOSSを利用して構築しました。 |
---|---|
インフラ構成管理 |
構成管理は、Terraformを利用して行っております。
サービスが導入初期段階であったため各環境際を無理に共通化せず、環境ごとにtfファイルを分けています。 ビジネスの成長を最優先にするため、環境ごとの運用コストを最小限に抑えることを重視しています。 |
コンテナオーケストレーション |
Elastic Kubernetes Service(EKS)を利用して構築しております。
EKSは、AWSが提供するKubernetesのマネージドサービスです。当時ECS fargateも検討しましたが、デバックの方法が豊富なEKSの方が柔軟性が高いと判断し採用ました。 |
ログ基盤 |
ログ基盤は、Elasticsearch、Fluentd、Kibanaを利用して構築しております。
ログの可視化は、Kibanaを利用しており、ログの収集はFluentdを利用しております。 当時は、CloudWatch Logsを利用することも検討しましたが、ログの検索性能が低いと判断し、Elasticsearchを利用することにしました。 また、ビジネス側からの利用状況可視化の要望があったため、Kibanaを利用してログの可視化を行っております。 |
メトリクス・アラート基盤 |
メトリクス・アラート基盤は、Prometheus、Grafanaを利用して構築しております。
これらはCloudNativeなため、Kubernetesとの親和性が高く、柔軟な運用が可能のため採用しました。 メトリクスの可視化・アラート発報には、Grafanaを利用しております。 |
コード管理・CI/CD |
コード管理は、GitLabを利用しております。
CI/CDは、aws codepipeline、codebuildを利用しました、kubernetesのdeployには、helmを利用しております。 セキュリティ要件のためGitlabを採用しCodePipelineなども全てプライベートで構築しております。 |