TAKAHIRO's Portfolio

Learning

自己学習アーカイブ

実務に転用できる設計パターンを意識し、狙い・構成・学びをセットで記録しています。

GitOps × Istio × 監視統合で構築するKubernetes基盤

GitOps を軸に、Kubernetes クラスタの構成管理からデリバリー、運用監視までを一貫して学習。 マニフェスト管理は Kustomize、OSS 導入は Helm を採用し、Argo CD で継続的に同期する運用モデルを構築した。 外部公開は ALB Controller + Istio Ingress Gateway で入口を設計し、証明書管理は ACM で統一。 機密情報は External Secrets Operator と Pod Identity で分離し、Secrets Manager 連携によるセキュア運用を実践。 監視は Prometheus / Grafana、ログは Fluent Bit から CloudWatch Logs へ集約し、可観測性を強化した。

Point

  • Argo CD Image Updater と ECR を連携し、イメージ更新からマニフェスト反映までの GitOps パイプラインを自動化
  • External Secrets Operator と Pod Identity を組み合わせ、アプリケーションコードに認証情報を埋め込まない運用設計を確立
  • Fluent Bit / Prometheus / Grafana によるログ・メトリクス統合監視を構築し、障害調査の初動を標準化
  • ALB + Istio Gateway + VirtualService の構成で L7 ルーティングの実装パターンを整理し、段階的リリースに対応可能な基盤を再現
プラットフォームAWS / EKS / Kubernetes
KubernetesリソースDeployment / Pod / Service (ClusterIP) / Ingress / ServiceAccount / ConfigMap / Secret / DaemonSet / StatefulSet / Job / CronJob / PersistentVolume / PersistentVolumeClaim / CustomResourceDefinition
GitOps/構成管理Argo CD / Argo CD Image Updater / Kustomize / Helm
運用/監視Prometheus / Grafana / Fluent Bit / CloudWatch Logs
セキュリティ/連携External Secrets Operator / Pod Identity / AWS Secrets Manager / Amazon ECR / AWS Load Balancer Controller / Istio

サーバレスAPIで学ぶAWS応用アーキテクチャ

サーバレスアーキテクチャを主題に、API 基盤の設計から運用までを段階的に構築。 API Gateway + Lambda を中心に、SQS 非同期処理、EventBridge Scheduler の定期実行、Cognito 認証を統合した API 運用を実践。 さらに RDS Proxy を挟んだ DB 接続と IAM 認証、WAF によるアクセス制御を組み込み、可用性とセキュリティを強化した。 Lambda のイベント駆動設計に合わせた非同期処理モデルへ移行し、サーバレス特有の設計判断を運用観点まで含めて検証した。 監視ログやアクセス制御も含め、実運用を意識したサーバレス API の標準構成を整理した。

Point

  • API Gateway + Lambda + Cognito + SQS + EventBridge Scheduler を組み合わせ、認証付きサーバレス API の標準構成を再現
  • RDS Proxy と IAM 認証を組み込むことで、Lambda からの DB 接続安定化と認証情報管理の安全性を両立
  • Lambda のイベント駆動モデルに合わせ、SQS 連携の非同期処理パターンを実装し、疎結合な API 基盤を整理
  • WAF と CloudWatch Logs を含む運用パターンを組み込み、実運用を意識した監視・防御観点を体系化
プラットフォームAWS
AWSサービスAPI Gateway (REST API) / Lambda / SQS / EventBridge Scheduler / Cognito / RDS Proxy / AWS WAF / Secrets Manager / CloudWatch Logs / VPC / Subnet / Security Group / IAM Role / IAM Policy / SSM Parameter Store

ローカル環境で学ぶKubernetes基礎

minikube上に、APIとPostgres DBを配置し、Kubernetesの基本リソースを一通り実装。 外部アクセスはホストマシンの/etc/hostsにて対象ドメインをノードIPに向け、Ingress →(NodePort)→ ClusterIP → Pod の流れで到達する構成を実現。 DBはStatefulSet + PVC/PV + Headless Serviceで「Podが入れ替わっても」安定して接続できる形とした。 運用系としてJob(DBマイグレーション)とCronJob(バッチ処理)も用意し、アプリ以外のワークロードも学習対象に含めた。 設定値はConfigMap/Secretで分離し、「アプリのコードと環境設定を切り離す」基本を押さえた。

プラットフォームKubernetes / Minikube
KubernetesリソースNode / Pod / Deployment / ReplicaSet / Service(ClusterIP) / Service(Headless) / Service(NodePort) / Service(LoadBalancer) / Ingress / ConfigMap / Secret / Job / CronJob / tatefulSet / PersistentVolume / PersistentVolumeClaim / HorizontalPodAutoscaler

マルチAZ × ECS(Fargate) × GitHub Actions の実運用を想定した Web/API 基盤

本構成は、東京リージョン(ap-northeast-1)における Webフロント配信〜API実行基盤〜DB までを一通り揃えた、実運用を想定したアーキテクチャを実装。 フロントエンドは CloudFront を入口に S3(静的配信)/ Amplify(フロント)へルーティングし、バックエンドは ALB 配下で ECS on Fargate をマルチAZに分散して稼働。 非同期処理は EventBridge / SQSを介して疎結合化し、通知はAmazon SESを活用。 DBはプライベートサブネットにRDS(PostgreSQL)を配置し、Security Groupによる境界制御を行い、ECSなど必要なリソースからのみ到達可能な設計。 デプロイはGitHub ActionsからECRへビルドしたイメージをpushし、ecspressoでタスク定義更新・サービス反映・DBマイグレーションまでを自動化。 運用アクセスはSSM Session Managerを前提に、セキュアな運用を実現。

Point

  • CloudFront/WAF/ALB + ECS(Fargate) + RDS(PostgreSQL) の本番相当構成を Terraform で再現し、IaC の標準構成を整備
  • GitHub Actions と ecspresso を組み合わせ、ECR への push から DB マイグレーション/デプロイまでを自動化
  • NAT Gateway を EC2 NAT インスタンスへ置き換え、学習環境の通信コストを最小化
プラットフォームAWS
AWSサービスAWS Organizations / IAM Identity Center / IAM Role / IAM Policy / Route53 / VPC / Subnet / Route Table / Internet Gateway / NAT Gateway / Security Group / ALB / S3 / EC2 / ECS / ECR / RDS / Session Manager / Secrets Manager / Certificate Manager / CloudWatch Logs / CloudFront / Amplify / SES / SQS / EventBridge Scheduler
IaCTerraform
CI/CDGitHub Actions
Deploy Toolsecspresso