AppRunnerについて
App Runnerの基本的な説明に関しては既に良い記事がありましたので、紹介させて頂きます。
かなり便利そうなサービスなのですが、いくつか留意点を紹介します。
##プライベートサブネット内のリソースにアクセスできない
FARGATEではサービス単位やタスク単位でVPCやセキュリティグループの設定ができますが、
AppRunnerではそもそもVPCと紐づける設定が存在しない為、プライベートサブネット内のリソースにアクセスできません。
プライベートサブネット内のDBにアクセスできないのがやはり痛いと思います。
プライベートサブネット内のリソースへのアクセスはAppRunnerのロードマップでも1番要望が大きいようです。
##VPC内のAWSリソースからAppRunnerにアクセスする際にインターネットへトラフィックを露出してしまう
こちらはVPCエンドポイントを設定することによって回避できそうです。S3などと同じですね。
##タスク定義を管理できない
ECSではタスク定義を管理することにより、DockerComposeのような事が可能でしたが、AppRunnerには今のところそのような機能はありません。そのため、コンテナの環境変数を変えたい場合は最初から設定し直す必要がありそうです。
##カスタムドメインを使用する際、既に取得したサーバー証明書を流用できない
FARGATEを使用する場合、ACMなどで取得したサーバ証明書をロードバランサーに設定することでhttpsを有効化できました。しかしAppRunnerでは証明書の設定ができない為、カスタムドメインを使用したい場合はAppRunnerのコンソール画面からカスタムドメインを登録し、再び検証用のレコードを作成する必要があります。その為、ワイルドカードを含めた証明書を流用して手間を省く、といったような事もできなさそうです。
まとめ
いくつか留意点を挙げましたが、VPC、サブネット、ロードバランサー、ターゲットグループなどの事を考えずにスケーラブルにコンテナをデプロイする事ができるのは強力なサービスだと思います。ロードマップを見る限りプライベートサブネット内のリソースへのアクセスもいずれ可能になりそうです。AWSでコンテナを扱う際の標準的なサービスになる日も近いのではないでしょうか。