[アップデート] Amazon RDS Custom for SQL Server のセットアップ時に新規インスタンスプロファイルを自動作成出来るようになりました

2024.05.30

いわさです。

Amazon RDS の SQL Server と Oracle には RDS Custom というオプションがあります。

RDS 自体はマネージドサービスであるため、一部の管理機能が使えなかったりするのですがそういった場合は EC2 上でデータベースをセルフホスティングしていました。ただし、それだと RDS で通常提供されている管理タスクもすべて自分で運用する必要があります。
RDS Custom はその便利な点と自己管理が必要な部分の間に位置するオプションで、RDS に比べると自己管理が必要な部分が増えますが、EC2 セルフホスティングよりも RDS マネージドな機能の恩恵を受けることが出来ます。

実体としては EC2 インスタンスが起動され、RDS サービスとしても認識されるような仕組みなのですが、その構成上 EC2 のインスタンスプロファイルが必要となります。
これまでは RDS Custom をセットアップする前に、その IAM ロールなど必要なコンポーネントを事前に準備する必要がありました。

次の記事が参考になりますが、公式から CloudFormation テンプレートが提供されており、それによって必要なモジュールを事前準備することが出来ます。

公式から提供されているとはいえ、CloudFormation あるいは手動での事前準備が必要で、おそらく RDS Custom を使い始める多くの方が初めてのセットアップで躓く部分なのではとも思います。

インスタンスプロファイルを自動作成してくれるようになった

今朝のアップデートで RDS Custom for SQL Server にて、なんと必要な IAM ロールとインスタンスプロファイルを、RDS Custom のセットアップ時に自動作成出来るようになりました。

ネットワーク条件など一部前提条件はあるものの、実質 CloudFormation の事前セットアップ無しでもいけるようになったのではないでしょうか。これは良さそうなアップデートです。

やってみる

実際にインスタンスプロファイルを自動作成するオプションを使ってみました。
インスタンスプロファイルの話なので、エディションやバージョンの定めはないと予想していますが、今回は SQL Server Web Edition の SQL Server 2022 を選択してみます。

RDS カスタムセキュリティの項でインスタンスプロファイルを選択することが出来ます。
これ自体は従来からあります。

しかし、インスタンスプロファイルを選択しようとすると既存の選択以外に「Create a new instance profile」を選択出来るようになっています。これが今回のアップデートですね。

「Create a new instance profile」を選択するとインスタンスプロファイル名を入力します。
このプロファイル名ですがプレフィックスは「AWSRDSCustom」というものが固定で決まっていて変更は出来ません。それ以降を任意で入力出来ます。
ロールやポリシーなどは特に選択しません。後述しますが RDS Custom 用のマネージドポリシーが自動で割り当たります。

ちなみにですが KMS については引き続き自動作成は出来ず、必須項目になりますので事前に作成しておきましょう。
KMS キーについては CloudFormation で作成する必要はありません。

RDS Custom インスタンスが作成されると、自動で IAM インスタンスプロファイルが割り当てられていることが確認出来ました。

なお、このインスタンスプロファイルは同一名称(+Role)のロールが作成されまして、マネージドポリシーである「AmazonRDSCustomInstanceProfileRolePolicy」がアタッチされていました。

このマネージドポリシーは 2024 年 2 月に実装されたポリシーみたいですね。許可されるアクションなどは次に記載されています。

さいごに

本日は Amazon RDS Custom for SQL Server のセットアップ時に新規インスタンスプロファイルを自動作成出来るようになったので試してみました。

RDS Custom はセットアップ前に事前準備が必要だったと少し注意点が多かったのですが、手間が省ける良いアップデートですね。
まだいくつか制限などがあるので今後のアップデートでさらに RDS に近づいてくれると助かります。