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

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

» 2023年03月14日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 オープンソースソフトウェアの「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.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。