本番環境と一致する、自動化され監査可能なインフラストラクチャ。
はじめに
インフラストラクチャのドキュメントと、実際に本番環境で稼働しているシステムとの間には、常に乖離が生じる可能性があります。コンソール、CLI、あるいはプレッシャー下での応急処置によって変更が加えられるたびに、この乖離は拡大します。やがて、この乖離は深刻なリスクへと発展します。例えば、環境間で動作が異なるデプロイ、再現が困難なインシデント、そして設定の根拠が不明瞭なために数週間を要するオンボーディングなどです。
Infrastructure as Code(IaC)は、この乖離を解消します。全てのリソースがバージョン管理されたコードで定義されることで、インフラストラクチャはアプリケーションコードと同様に、監査可能、再現可能、そしてレビュー可能になります。変更はプルリクエストを通じて管理され、乖離は検出可能です。ロールバックも推測に頼ることなく、確実な元に戻す作業として実行できます。
グラディオンは、手動プロビジョニングから自動化されたインフラストラクチャへの移行を目指すチーム、あるいはIaCの導入を開始したものの、コードベースが複雑化し、手動運用と同様に理解が困難になっているチームに対し、Infrastructure as Code(IaC)の導入を支援します。私たちは、移行プロセス中に本番環境の運用を停止させない、堅実な移行パスの構築に注力しています。
提供サービス
ツール選定とセットアップ
お客様のクラウドプロバイダー、チームの言語嗜好、既存ツールに応じて、Terraform、Pulumi、CloudFormationといったツールを導入します。Terraformは、マルチクラウドまたはAWS中心の環境において最も一般的な選択肢です。Pulumiは、ドメイン固有言語ではなくTypeScript、Python、Goでインフラを記述したいチームに適しています。CloudFormationは、ディープなネイティブ統合を必要とし、外部依存関係を最小限に抑えたいAWS利用企業に最適です。私たちは特定のベンダーに偏ることなく、お客様の状況に基づいて最適なツールを推奨します。
モジュール型コードアーキテクチャ
単一の巨大なファイルとして記述されたインフラコードは、スケーラビリティに欠けます。私たちは、コードベースを再利用可能なモジュール(ネットワーク、コンピュート、ストレージ、ID、アプリケーション層コンポーネントなど)に構造化し、複数の環境で組み合わせられるようにします。これらのモジュールはバージョン管理され、テストされ、文書化されているため、チームはゼロから書き直すことなく拡張できます。
ステート管理
TerraformやPulumiは、プロビジョニングされた内容を記録するステートファイルを保持します。このステートの不適切な管理は、IaC導入時におけるインフラインシデントの最も一般的な原因の一つです。私たちは、ロック機能付きのリモートステートバックエンド(Terraformの場合はS3とDynamoDB、他のツールでも同等の機能)を構成し、環境およびチーム境界ごとにステートを分離します。また、同時変更を防ぐワークフロー規約を確立します。
手動インフラからの移行
既存の本番インフラを中断なくコード化するには、リソースを再作成するのではなく、既存のリソースをインポートする必要があります。私たちはインポートプロセスを段階的に実行し、各ステップでライブリソースとステートを検証しながら、既存環境と並行して新しいコードベースを構築します。これにより、移行中もチームは運用を継続できます。私たちはビッグバン方式の一斉切り替えは行いません。
ドリフト検出
手動による変更がIaCパイプラインを迂回すると、インフラのドリフト(乖離)が発生します。私たちは、宣言されたステートと実際のクラウド上のリソースを比較し、インシデントを引き起こす前に不一致を表面化する継続的なドリフト検出を設定します。ドリフトレポートは、誰も見ない別のダッシュボードではなく、お客様のインシデントプロセスに直接組み込まれます。
シークレット管理連携
インフラコードに認証情報を直接含めるべきではありません。私たちは、お客様の環境に応じてHashiCorp Vault、AWS Secrets Manager、GCP Secret Managerなどを用いて、シークレット管理をIaCパイプラインに統合します。シークレットは適用時に注入され、スケジュールに基づいてローテーションされ、ステートファイルやバージョン管理システムには決して保存されません。
CI/CDパイプライン統合
インフラストラクチャの変更は、アプリケーションコードと同様に厳格なパイプライン管理を経て実施されます。プルリクエストによる計画、マージによる適用、そして本番環境へのデプロイ前に自動ポリシーチェックを徹底します。既存のCIツール(GitHub Actions、GitLab CI、Terraform用Atlantisなど)と連携し、未レビューの変更が本番環境に到達するのを防ぐためのガードレールを構築します。
本番環境での実績
DataFlow Group(グローバルな資格情報認証プラットフォーム)様では、手動によるインフラ運用がデプロイの遅延と人為的ミスを招き、コンプライアンスに厳格な環境において課題となっていました。Gradionは、Infrastructure as Code(IaC)を用いてインフラ設定を刷新し、オートスケーリングと自動デプロイメントパイプラインを導入。これにより、不整合の原因となっていた手動プロビジョニングプロセスを排除しました。結果として、デプロイ速度は5倍に向上し、手動運用工数は30%削減。環境は99%の自動運用を実現しました。
欧州最大の非食品貿易協同組合である欧州最大の小売業協同組合 Groupのeコマースプラットフォーム、Schuhe.de様向けに、Gradionはバックエンド全体を、Terraformでエンドツーエンドに定義されたコンポーザブルなサーバーレスアーキテクチャとして再構築しました。インフラストラクチャはAWS Lambda、SNS、SQS、EventBridge上で稼働し、各サービスは独立してデプロイおよびスケーリングが可能です。Terraform駆動のCI/CDパイプラインが、コードを通じてすべての環境変更を厳格に管理します。このプラットフォームは、ブラックフライデーのトラフィックスパイクを性能劣化なく吸収し、新機能を数週間ではなく数時間でリリースできるようになりました。
テクノロジースタック
Infrastructure as Code: Terraform, Pulumi, AWS CloudFormation
ステート管理: Terraform Cloud, S3 and DynamoDB, Pulumi Cloud
シークレット管理: HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager
Policy as Code: Open Policy Agent, Sentinel, Checkov
CI/CD連携: GitHub Actions, GitLab CI, Atlantis
クラウドプラットフォーム: AWS, GCP, Azure
お問い合わせ
現在のインフラストラクチャ設定についてお聞かせください。お客様の状況を把握し、本番環境の安定性を維持しながら、最適な移行パスを特定・策定いたします。
1日50回以上のデプロイ、稼働率99.99%
Gradionは、HomeToGo様向けに、本番環境で大規模な運用を支えるインフラストラクチャを構築し、1日50回以上のデプロイと99.99%の稼働率を実現しました。
クラウドインフラの管理は、属人化された知識と手動のクリック操作に依存していませんか?
私たちは、手動運用を完全に文書化され、テスト可能なInfrastructure as Codeに置き換えます。お客様のクラウド環境についてぜひお聞かせください。