Infrastructure as Codeの概要

Infrastructure as Codeとは

Infrastructure as Code(IaC)は、ビジネスがクラウドを効率的に拡張し、コストと時間を節約するために、プロビジョニング方法を自動化することを可能にします。

IaC

Infrastructure as Codeは、ビジネスがクラウド環境内の変更や設定をより効率的に制御することを可能にします。IaCの背景にある考え方は、開発者および運用担当者がより連携することを可能にするDevOps内で実践されている習慣を、仮想マシン、その周囲に構築される仮想ネットワーク、および仮想マシン上のアプリケーションの展開に適用することです。

命令実行型と宣言型

IaCの活用に関して行わなければいけない決定の1つが、命令実行型と宣言型自動化のどちらで環境に変更を加えるかです。ほとんどのIaCは本質的に宣言型です。より簡単に言うと、命令実行型と宣言型とは、プログラムがどのように動作すべきかと、プログラムが何を達成すべきかとの違いです。

インフラストラクチャに対して命令実行型自動化の変更を加えるには、コマンドラインインタフェース(CLI)を使用し、クラウドに対する変更を、コンテナ内、仮想マシン(VM)、そして仮想プライベートクラウドの順に指示し、リストにした変更をスクリプトによって順番に実行します。これは詳細なチェックリストですが、複数のマシンへのプッシュ後に設定の変更が必要になった場合は、各ステップおよびスクリプトをやり直す必要があります。

宣言型自動化手法では、作成目標が必要になります。CLIを使用してVMの正確な設定を1ステップずつリストにする代わりに、たとえばドメインが接続されたVMが必要とだけ記述し、後は自動化に任せます。宣言型手法では、自動化ツールにより何を達成する必要があるのかを簡単に記述できます。

DevOps

アプリケーションの開発、テスト、および本番環境での展開では、開発者は多くの場合、本番への展開を待つ必要があります。その逆もまた同様です。開発者が自動要求により、コードに適用されるのと同じレベルの安定性でコンテナや仮想マシンを要求できれば、ネットワークと仮想マシンの設定が制御されたシステムを通して行われるため、よりスムーズで迅速な展開が可能になります。さらに、バージョンの追跡もより簡単になります。

クラウド セキュリティのトピック