【Elixir】AWS RDSへの接続方法
【Elixir】AWS RDSへの接続方法
Elixir で AWS RDSを使用する際にTLS接続を確保するためにサーバー証明書の検証が必要になることがあります。Elixirプロジェクトでaws_rds_castoreライブラリを用いた証明書検証の方法を解説します。
なぜ証明書検証が必要なのか
サーバー証明書の検証は、データの送受信が安全であることを保証します。不正なサーバーに接続するリスクを防ぎ、データの盗聴や改ざんを防ぐために必須の手順です。
aws_rds_castoreライブラリの概要
aws_rds_castoreは、AWS RDSのサーバー証明書を検証するためのElixir用ライブラリです。このライブラリを使用することで、接続の安全性を確保し、信頼できる接続を維持できます。
導入手順
ライブラリを導入します。
defp deps do
[
{:aws_rds_castore, "~> 1.1"}
]
end
パッケージの取得
$ mix deps.get.
設定例
設定方法はとても簡単です。 database_url を AwsRdsCAStore.ssl_opts/1 で変換して ssl_opts に設定するだけです。
database_url = "ecto://postgres:postgres@localhost/ecto_simple?ssl=true&pool_size=10"
# In runtime.exs:
config :my_app, MyApp.Repo,
url: database_url,
ssl: true,
ssl_opts: AwsRdsCAStore.ssl_opts(database_url),
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10"),
socket_options: maybe_ipv6
以上の方法で AWS RDS への接続が可能です。