Amazon Web Services(AWS)は、顧客のインフラ管理を簡素化する新しいツールである、"IaC Generator"と"CDK Migrate"を導入したと発表した。
"CDK Migrate"は、この程InfoQで取り上げているが、その一方で"IaC Generator"により、エンジニアは既存のリソースとその関係に基づいてCloudFormationテンプレートを作成できるようになる。AWSアカウントをスキャンし、CloudFormationのリソースタイプのスキーマを使うことで、IaC Generatorはリソースとそれらのリソース間の関係を特定する。クラウドエンジニアはこの設定を使用して、既存のスタックにリソースをインポートしたり、ゼロから新しいスタックを作成したりできる。この合理化されたアプローチにより、リソースを再作成する必要なく、アプリケーション全体をマネージドCloudFormationスタックに取り込むことができる。
AWSでは、ユーザーはCloudFormationを通じて、YAMLやJSONを使ってインフラをコードとして宣言するほか、AWS Cloud Development Kit(CDK)を使ってプログラミング言語を利用したり、Application Composerを使ってインフラを視覚的に設計したりできる。これらのコンフィギュレーションは監査とバージョン管理が可能で、デプロイメントの信頼性と安全性を保証する。
しかし、すべてのリソースがIaCで始まるわけではない。多くの顧客は、知識が不足していたり、コマンドラインインターフェイス(CLI)や管理コンソールのような従来の方法を好んだりするがために、IaC以外のリソースを作成してしまう。AWSコミュニティの投稿でこのようなツールの必要性を説明したPatrick Kramer氏は、次のように述べている。
自動化を試みる前に、私はほとんどいつも手作業でリソースを作成します。特に、そのサービスが私にとって初めてのものであればなおさらです。自動化を試みる前に、何を作っているのかを完全に理解する必要があるでしょう。
AWSは2019年に既存のリソースをCloudFormationにインポートする機能を導入した。この機能によって個々のIaCへの移行は容易になったが、リソースをマッチさせるテンプレートを作成する手作業は非効率的であった。
AWSは、IaCツールの外で作成された既存のネットワーク・アーキテクチャの管理におけるIaC Generatorの頻繁な使用例について説明している。例えば、組織のAmazon Virtual Private Cloud (VPC) リソースの開発を継続するシナリオで、これらのリソースはIaCのいかなる形式もなく、ドキュメントも不十分なまま作成された。この投稿では、IaC Generatorがどのようにアカウントをスキャンし、リソースのインベントリを作成し、リソース・タイプ・スキーマを活用してリソース間の関係を見つけるかを説明している。これにより、既存の構成からテンプレートやスタックを作成できる。
この例では、CloudFormation用のIaC Generatorを使用することに焦点を当てている。エンジニアは "CDK Migrate"ツールを使って、既存のアプリケーションを同様にCDKにインポートできるようになった。コミュニティからの反応は肯定的だが、いくつかのコミュニティからの反応は、多くの場合、結果として得られるテンプレートはそのまま使うことはできないが、出発点としては有用であることを指摘している。
小括として、AWSのIaC GeneratorとCDK Migrateの導入は、インフラストラクチャ管理における重要な進歩であり、エンジニアが手作業でインフラストラクチャを作成するユースケースをカバーするツールが必要であることをさらに認識するものである。完全なユーザーガイドも用意されている。