検索
ニュース

ITインフラをコードではなくSQLとして管理する「IaSQL」のβ版が公開AWSのインフラ構成は複雑だ

OSSの「IaSQL」(Infrastructure as SQL)プロジェクトは2023年2月16日、IaSQLのβ版をリリースした。IaSQLを使用すると、開発者はクラウドにあるITインフラを「PostgreSQL」のSQLとして管理できる。

Share
Tweet
LINE
Hatena

 オープンソースソフトウェアの「IaSQL」(Infrastructure as SQL)プロジェクトは2023年2月16日、IaSQLのβ版をリリースした。

 IaSQLを使用すると、開発者はクラウドにあるITインフラを「PostgreSQL」のSQLとして管理できる。プロジェクトはIaSQLを「『Pulumi』『Terraform』といったIaC(Infrastructure as Code)ツールに代わるものだ」としている。

INSERT INTO aws_ec2 (ami_id, ec2_instance_type_id)
SELECT ami.id, ait.id
FROM ec2_instance_type as ait, (
    SELECT id
    FROM   amis
    WHERE  image_name LIKE 'amzn-ami-hvm-%'ORDER BY creation_date DESC
    LIMIT 1
) as ami
WHERE  ait.instance_name = 't2.micro';
IaSQLの例(Introduction to Infrastructure as SQLから引用)

β版の新機能

 β版の新機能は次の通り。

ローカル環境での実行

 ダッシュボードをIaSQLのDockerコンテナにバンドルして「Docker Hub」に公開することで、IaSQLをローカルで実行しやすくなった。これによって、下記コマンドを実行してブラウザで「http://localhost:9876」に移動するだけで、IaSQLを試すことができる。

docker run --pull=always -p 9876:9876 -p 5432:5432 --name iasql iasql/iasql

AWSのマルチリージョン対応

 AWSコンソールでリージョンを変更しなくて済むように、デフォルトのリージョン動作で複数のAWSリージョンをサポートする。デフォルトのリージョンは、データベースをAWSアカウントに接続するときに定義される。その上で、IaSQLのデータモデルは、クラウドリソースを表す列で明示的にオーバーライドしない限り、デフォルトのデータモデルを想定したものとなる。

インフラストラクチャをトランザクションとして変更する

 UXを再設計して、インフラストラクチャの変更を自動的に処理できるようにし、クラウドアカウントに対する微妙な、または複雑な変更には、通常のデータベースでのトランザクションと同様の「IaSQLトランザクション」を使うようになった。これは、インフラまたはコントロールプレーンをプログラミングで変更したい場合に役立つ。

AWSのマネージドサービスのさらなるサポート

 AWSのマネージドサービスのサポート範囲を拡大した。具体的には「Amazon EC2」「AWS CodeDeploy」「AWS CodeBuild」「AWS CodePipeline」「Amazon Simple Notification Service」(SNS)、「AWS Certificate Manager」(ACM)、「Amazon Route53」もサポートする。

 さらに、タイプセーフが追加されたPostgreSQL関数を使用して「AWS SDK」(Software Development Kit)を直接呼び出すことができるaws_sdkモジュールを追加した。

簡易モジュールによるAWSの活用

 プロジェクトは「AWSのインフラ構成は複雑だ」という認識を示し、IaSQLのモジュールを使うことで、リレーショナルテーブルとしてクラウドリソースを作成、更新、削除し、AWSと同レベルの構成機能を実現できるとしている。

 一方で、汎用(はんよう)モジュールの細かな機能はやりたいことに直結しないことがあるため、特定のユースケースに焦点を当てた簡易モジュールを開発した。例えば、Dockerコンテナを「Amazon Elastic Container Service」(ECS)にデプロイし、ECSだけでなく「Amazon Elastic Container Registry」(ECR)、ACM、Route53も活用してインターネットに公開することができる。この簡易モジュールは、既存のIaSQLモジュールの上にSQLで記述されており、複数のAWSサービスを調整する複雑さを抽象化しながら、必要に応じて内部を参照できることを目的としている。

 プロジェクトは「簡易モジュールは、既知のAWSサービスの上に構築され、必要に応じてこれらのAWSサービスに戻すことができる、AWSアカウントでホストされるPaaSと考えてほしい」としている。

今後について

 β版の次に実装する機能の方向性はIaSQLを使いやすくすることだ。具体的には、AWSでの一般的なセキュリティ脆弱(ぜいじゃく)性を減らしたり、コストを最適化したりするためのSQLテンプレートやドキュメントの継続的な改善がある。

 長期的には、サードパーティーのモジュールのサポート、AWSのさらなるサポート範囲の拡大、より多くのクラウドプロバイダーのサポートを追加する予定だ。

Copyright © ITmedia, Inc. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る