LoginSignup
0
1

More than 1 year has passed since last update.

Excel VBAからAWSのRDS(Aurora MySQL)を利用する

Posted at

はじめに

クライアントPCからAWSのRDSへ接続する設定をご紹介したいと思います。
接続方法はEXCELのVBAを使います。

目次

1.AWSのネットワーク回りの設定(VPC、サブネット、ルートテーブル、インターネットゲートウェイ、セキュリティグループ)
2.RDSインスタンス起動
3.クライアントにMySQLインストール
4.GUIツールのインストール
5.VBAのサンプルコード
この流れで説明していきたいと思います。
所々スクショにマスキングしております、あらかじめご了承ください。

1.AWSのネットワーク回りの設定(VPC、サブネット、ルートテーブル、インターネットゲートウェイ、セキュリティグループ)

まずはVPCを作成します。デフォルトのVPCでもいいのですが、せっかくなので、新しくVPCを作成してみたいと思います。
VPCダッシュボード画面より、右上の「VPCを作成」ボタンをクリック。
image.png
名前タグは任意ですが、あとでわかりやすいように何かしら設定しておきましょう。
CIDRは例として10.0.0.0/16で設定しています。
設定したら右下のVPCを作成をクリック。
image.png
VPCが作成されました。
image.png
次にサブネットを作成します。サブネットのダッシュボード画面より、右上の「サブネットを作成」ボタンをクリック。
image.png
VPC IDで先ほど作成したVPCを選択します。
アベイラビリティゾーンは任意ですが、明示的に選択しておきましょう。
CIDRは例として10.0.0.0/24で設定しています。
image.png
サブネットが作成されました。
image.png
次にルートテーブルを作成します。ルートテーブルのダッシュボード画面より、右上の「ルートテーブルを作成」ボタンをクリック。
image.png
VPCで先ほど作成したVPCを選択します。
image.png
ルートテーブルが作成されました。
image.png
次にインターネットゲートウェイを作成します。インターネットゲートウェイのダッシュボード画面より、右上の「インターネットゲートウェイを作成」ボタンをクリック。
image.png
そのまま「インターネットゲートウェイを作成」ボタンをクリック。
image.png
インターネットゲートウェイが作成されました。
アクションから「VPCにアタッチ」をクリックして、次画面で先ほど作成したVPCにアタッチします。
※スクショではすでにVPCにアタッチ済みの画面になっています。悪しからず。
image.png
これでインターネットとの通信ができるようになりました。図示するとこんな感じになります。
image.png
最後にセキュリティグループを作成します。セキュリティグループのダッシュボード画面より、右上の「セキュリティグループを作成」ボタンをクリック。
image.png
先ほど作成したVPCを選択し、ポート番号は任意に設定します。
セキュリティ上、MySQLのデフォルトポート番号(3306)から変えておくのが良いでしょう。
ソースのIPアドレスも可能であれば、特定のグローバルIPからのみ許可するようにしましょう。
image.png

2.RDSインスタンス起動

まず最初に、パラメータグループを作成します。パラメータグループのカスタム画面より、「パラメータグループを作成」ボタンをクリック。
image.png
パラメータグループファミリー:aurora-mysql5.7
グループ名:DB Cluster Parameter Group
グループ名:任意
説明:任意
image.png
パラメータグループが作成されましたので、その名前をクリック。
image.png
検索窓に「character」と入力して変更ボタンをクリック。
image.png
下記2点のパラメータを変更します。
character_set_server:sjis
character_set_database:utf8mb4
image.png
変更されました。この設定の目的は、日本語の文字化けを防ぐことです。(デフォルトのままだと確実に文字化けを起こしますので要注意。)
image.png
次に、RDSのダッシュボード画面より、「データベースの作成」ボタンをクリック。
image.png
ここからの設定は各人のお好みですので、ひとつの例として参考程度にしてもらえればと思います。
データベースの作成方法を選択:標準作成
エンジンのタイプ:Amazon Aurora
エディション:MySQLとの互換性を持つAmazon Aurora
image.png
キャパシティータイプ:プロビジョニング済み
レプリケーション機能:シングルマスター
エンジンのバージョン:Aurora (MySQL 5.7) 2.07.2
テンプレート:本番稼働用
image.png
DBクラスター識別子:任意
マスターユーザー名:任意
マスターパスワード:任意
DBインスタンスクラス:db.t3.small
image.png
マルチAZ配置:Auroraレプリカを作成しない
VPC:先ほどで作成したVPC
サブネットグループ:先ほど作成したサブネット
パブリックアクセス:あり
image.png
VPCセキュリティグループ:既存の選択
既存のVPCセキュリティグループ:先ほど作成したVPCセキュリティグループ
アベイラビリティゾーン:VPC作成時に選択したゾーン
データベースポート:セキュリティグループ作成時に設定したポート番号
データベース認証:パスコード認証
image.png
最初のデータベース名:任意
DBクラスターのパラメータグループ:先ほど作成したパラメータグループ
DBパラメータグループ:デフォルト
フェイルオーバーの優先順位:指定なし
バックアップ保持期間:3日間
image.png
以下は特に変更せずデフォルトのままでOKです。
image.png
image.png
image.png

3.クライアントにMySQLインストール

下記からVisual Studio 2019のインストーラをダウンロードし、実行します。
Visual Studio 2019
C++によるデスクトップ開発にチェックを入れてインストールします。
image.png
下記からMySQLのODBC Connectorのインストーラをダウンロードして、実行します。
Connector/ODBC 8.0.26
※32bitのインストーラを使います!
image.png
すべてそのままNEXTで進んでいけばOKです。
image.png

4.GUIツールのインストール

下記からXAMPPのインストーラをダウンロードし、実行します。
XAMPP公式ページ
すべてそのままNEXTで進んでいけばOKです。
image.png
次にXAMPPの設定を編集します。スタートメニューからXAMPP Control Panelを管理者として実行します。
image.png
まずは、ApacheとMySQLのサービスが自動起動するように設定しておきましょう。右上の「Config」ボタンをクリック。
image.png
Autostart of modulesの、ApacheとMySQLにチェックを入れてSaveします。
image.png
C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\StartupにXAMPPのコントロールパネルを登録しておきます。
image.png
これでOS起動時に自動でサービスが起動するようになりました。
次に、MySQLのconfigを編集します。
image.png
ポート番号:AWSのセキュリティグループで設定したポート番号
image.png
C:\xampp\phpMyAdmin\config.inc.phpをテキストで開きます。
image.png
['auth_type'] = 'cookie';
['user'] = '';
['host'] = 'RDSインスタンスのホスト名:ポート番号';
image.png
実際にphpmyadminへ接続してみましょう。
http://localhost/phpmyadmin
image.png
ユーザ名:RDSインスタンス作成時に設定したユーザ名
パスワード:RDSインスタンス作成時に設定したパスワード
でログインします。
image.png
GUIでテーブル作成などが簡単に出来ちゃいます!便利ですね!

5.VBAのサンプルコード

データベースへ接続し、SQLでレコードセットを開くところまでをご紹介します。

Dim adoCON As ADODB.Connection
Dim adoRS  As ADODB.Recordset
Dim strSQL As String
adoCON.Open _
"DRIVER={MySQL ODBC 8.0 Unicode Driver};" & _
" SERVER=RDSインスタンスのホスト名;" & _
" PORT=ポート番号;" & _
" DATABASE=DB名;" & _
" UID=ユーザ名;" & _
" PWD=パスワード;"
strSQL = "SELECT * FROM テーブル名"
adoRS.Open strSQL, adoCON, adOpenDynamic

おまけ

AccessからMySQLへのデータ移行(マイグレーション)をご紹介したいと思います。
移行ツールはMySQL Migration Toolkitを使います。
下記から、インストーラをダウンロードして実行します。
MySQL Migration Toolkit
image.png
インストールされたMySQL Migration Toolkitを開きます。
image.png
そのままNEXT
image.png
Database System:MS Access
Database File:移行するAccessのファイルを選択
※ファイル名を半角英数字にしておきましょう。全角を使うと後でエラーとなります。
image.png
Hostname:RDSインスタンスのホスト名
Port:ポート番号
Username:ユーザ名
Passsword:パスワード
image.png
スキーマを選んでNEXT
image.png
そのままNEXT
image.png
charset=sjis
collation=sjis_bin
に変更してNEXT
image.png
そのままNEXT
image.png
そのままNEXT
image.png
そのままNEXT
image.png
そのままNEXT
image.png
Finishで終了します。
image.png

おわりに

以上、クライアントPCからAWSのRDSへ接続する設定をご紹介しました。
AWS初心者だった頃の私は、これを実装するのに2~3か月程度かかってました。
テキストなどで学ぶよりも実際に手を動かして覚えるのがエンジニアの基本だなと改めて痛感しました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1