はじめに
AWS CloudShellは、AWSが提供するブラウザベースのシェル環境で、AWSリソースの操作やスクリプトの実行が簡単に行えます。本記事では、AWS CloudShellを活用してRDSに接続し、マイグレーションスクリプトを実行する方法を紹介します。
構成
使用したAWSリソース
- S3:マイグレーションスクリプトを配置する場所に使用
- RDS(PostgreSQL): マイグレーション先のデータベース
- AWS CloudShell VPC: マイグレーションスクリプトを実行する環境
- VPC: RDSが配置されているネットワーク環境
注意点
CloudShell VPCはファイルのアップロードができない制約があります。
このためS3にマイグレーションスクリプトを配置する方法を用いました。
実践
1. 準備
a:VPC内のCloudShellを作成する参考
普通のCloudShellではVPC内部のリソースにアクセスできないのでCloudShell VPC enviromentを使用します。
CloudShellを開き、画面の右上のcreate VPC enviromentから作成できます。

b:s3にマイグレーションスクリプトや必要なライブラリをまとめたファイルを配置します。
c:配置した場所のパスをコピペしておき、cloudshellで以下を実行しダウンロードします
(migrate.pyがマイグレーションスクリプト、requirements.txtがライブラリをまとめたファイルを想定しています)
aws s3 cp s3:// {s3のパス}./migrate.py
aws s3 cp s3:// {s3のパス}./requirements.txt
d:ライブラリをインストール
pip install -r requirements.txt
2.マイグレーションスクリプトの実行
pythonで書かれたスクリプトを以下で実行します。
python3 migrate.py
で実行します。
3. 実行結果の確認
スクリプト実行後、RDSにデータが正しく挿入されているか確認します。
おわりに
AWS CloudShellを活用することで、ブラウザ上で簡単にスクリプトを実行し、S3からRDSへのデータ移行を行うことができました。1回きりのマイグレーションでは非常に便利だと思います。CloudShell VPC environmentの便利さをぜひ体験してみてください!