Skip to content

DddEndow/sample-aws-rds-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

sample-aws-rds-proxy

LambdaからのRDS Proxyの動作確認用リポジトリ

デプロイ方法

デプロイ先リージョンのEC2のAMIを取得し、Mappingsに追加する。

$ aws ssm get-parameter \ 
  --name /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 \
  --region eu-west-1

SAMのセットアップ

  1. sam buildを実行。
  2. sam deploy --guidedを実行しsamconfig.tomlを作成する。
  3. samconfig.toml内の設定でパラメータを上書きする。 ※ EC2のキーはあらかじめ作成する。
上書き必須のパラメータ
parameter_overrides = [
    "RDSRootUserPwd=rootpass",
    "RDSLambdaUserPwd=lambdapass",
    "EC2KeyName=sample-aws-rds-proxy-ec2-key",
    "EC2CidrIp=0.0.0.0/0" # EC2の踏み台サーバーへのアクセスを許可するIP
]
  1. sam deployでデプロイを実行

環境のセットアップ

踏み台サーバーにアクセス

$ ssh -i ".ssh/sample-aws-rds-proxy-ec2-key.pem" {EC2のエンドポイント}

RDSにアクセス

$ mysql -h {RDSのエンドポイント} -P 3306 -u root -p

MySQLのセットアップ

  1. ルートユーザーでログインし、データベースとテーブルを作成する。
CREATE DATABASE sample_rds_proxy;
CREATE TABLE sample_rds_proxy.users (
    id INT NOT NULL,
    name VARCHAR(30),
    PRIMARY KEY (id)
);
  1. 適当なデータを挿入。
USE sample_rds_proxy;
INSERT INTO users (id, name)
VALUES
    (1, 'Hoge User'),
    (2, 'Fuga User'),
    (3, 'Piyo User');
  1. 現在のユーザーを確認し、lambdaユーザーが存在しないことを確認。
select user, host from mysql.user;

+---------------+-----------+
| user          | host      |
+---------------+-----------+
| rdsproxyadmin | %         |
| root          | %         |
| mysql.sys     | localhost |
| rdsadmin      | localhost |
+---------------+-----------+
  1. lambdaユーザーを登録する。
grant all on sample_rds_proxy.* to lambda@'%' identified by 'lambdapass';

RDS Proxyでのアクセス

  1. 踏み台サーバーにアクセス。
  2. RDS Proxy経由でアクセス。
# rootとlambdaのどちらでもログイン可能
mysql -h {RDS Proxyのエンドポイント} -P 3306 -u root -p

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages