JavaScriptを有効にしてください

【Elixir】AWS RDSへの接続方法

 ·  ☕ 1 分で読めます

【Elixir】AWS RDSへの接続方法

Elixir で AWS RDSを使用する際にTLS接続を確保するためにサーバー証明書の検証が必要になることがあります。Elixirプロジェクトでaws_rds_castoreライブラリを用いた証明書検証の方法を解説します。

なぜ証明書検証が必要なのか

サーバー証明書の検証は、データの送受信が安全であることを保証します。不正なサーバーに接続するリスクを防ぎ、データの盗聴や改ざんを防ぐために必須の手順です。

aws_rds_castoreライブラリの概要

aws_rds_castoreは、AWS RDSのサーバー証明書を検証するためのElixir用ライブラリです。このライブラリを使用することで、接続の安全性を確保し、信頼できる接続を維持できます。

導入手順

ライブラリを導入します。

1
2
3
4
5
defp deps do
  [
    {:aws_rds_castore, "~> 1.1"}
  ]
end

パッケージの取得

1
$ mix deps.get.

設定例

設定方法はとても簡単です。 database_urlAwsRdsCAStore.ssl_opts/1 で変換して ssl_opts に設定するだけです。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

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 への接続が可能です。

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer