AWSでの環境構築録
前提・やりたいこと
AWSのネットワーク内に、パブリックからはアクセスできないMariaDBがあり、それをFileMakerシステムで扱いたい。クライアントはネットワーク内のFileMakerServerにアクセス、そのFileMakerアプリがMariaDBに接続する構成。本実装の前に、AWSの無料枠を利用し、
- AWSのネットワーク構築
- MariaDBサーバーの設置
- FileMakerサーバーの用意
まですべての環境を整えるテストをした。また、FileMaker用のサーバーをLinuxで作成したことが無いため、実験も兼ねてLinuxサーバーでFileMakerServerを立ち上げることにした。(CentOS、Ubuntu、Amazon Linux 2でテスト)
MariaDBへの接続方法
MariaDBのODBCドライバは、FileMakerは公式にサポートしていない。そこで、MariaDBとMySQLの互換性を利用し、MySQL用のODBCドライバを用いてMariaDBに接続する。
AWS無料利用枠について
AWSをテストする際、無料利用枠が使える。無料枠には3種類ある。
- アカウント開設から12ヶ月無料
- 常に無料
- トライアル(そのサービスの最初の利用から30日無料)
基本的なサーバー構築ができる「EC2」は、12ヶ月無料枠である。どんなサービスがどの無料枠で利用できるかは、以下のページで確認できる。
注意点
- 使用時間は、インスタンスが2つあれば2倍、3つあれば3倍の時間でカウントされる。例えば、EC2の無料枠は月750時間まで。1ヶ月は最大で24*31=744時間なので、1つのインスタンスであればずっと動いていてもOKということになるが、複数のインスタンスを長時間動かすと超過する可能性がある。
- Elastic IPアドレス(固定的なIPアドレス)が割り当てられていて、動いていないインスタンスがある場合、料金が発生してしまう。テストではElastic IPを割り当てないことを推奨。
- ボリュームの無料枠は30GBまで。インスタンスをデフォルト設定で立ち上げると、Windowsの場合は30GBのため1つしか使えない。Linuxインスタンスの場合、デフォルトのボリュームは8GBなので、インスタンスを4つ作っていると4*8=32で料金が発生してしまう。また、ボリュームはインスタンスが動いているかどうかにかかわらずカウントされるので注意。
リンク: AWS初学者が「うっかり課金」されがちなポイントとその対策まとめ
AWS EC2インスタンスの起動
- まず最初に、リージョン(地域)を選択する。ダッシュボード右上から選択できる。この設定が違っていると、想定しているのとは違う場所にインスタンスができてしまう。間違って別のリージョンに立てたインスタンスが残ってしまわないように注意。
- EC2ダッシュボードから、「インスタンスを起動」から作成を開始する。
- AMI(アマゾンマシンイメージ)はインスタンスを立ち上げる時のテンプレート。ここでOSを選択することになる。
無料でないものもあるので注意。「無料利用枠」と書いてあるものが無料枠になる。インスタンスタイプも同様に「無料利用枠」と書いてあるものが無料。 - キーペア(ログイン)は、サーバーにSSH接続するのに必要になる。「新しいキーペアを作成」から「RSA」「.pem」を選択して作成する。
- セキュリティグループは、ファイアウォールの機能になる。実運用なら、あらかじめセキュリティグループを作成しておくと良い。テスト用なので、「セキュリティグループを作成する」「からの SSH トラフィックを許可する」で、SSH接続可能なIPを指定する。テスト用なら「マイIP」を推奨。(自分のIPが変わってアクセスできなくなることがあるので注意。その場合は、セキュリティグループの、対象IPの設定を修正すればよい。セキュリティグループにはインバウンドルールとアウトバウンドルールがある。
・インバウンドルール: そのインスタンスに入ってくる通信を制御する
・アウトバウンドルール: そのインスタンスから出ていく通信を制御する - ネットワーク設定の「編集」から、「サブネット」を指定する。(テスト用ならデフォルトのままでOK)VPCが大きなネットワーク、その中に複数のサブネットを持てる構成になっている。作成したインスタンスのサブネットは変更できないので注意。 ※設定の際に必要な「CIDR」については次のサイトが詳しい→CIDR (サイダー)とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
インスタンスへのSSH接続
Amazon Linux 2 やCentOSなどはGUIがないので、サーバーの管理にはSSHクライアントを使う。コマンドプロンプトからSSHコマンドで接続するか、SSHクライアントソフトを用いて接続する。今回はTeraTermを使用した。
接続する際のユーザ名はOSによって異なる。Amazon Linux 2の場合、「ec2-user」、Ubuntuの場合、「ubuntu」になる。 参考: Amazon Linux インスタンスでのユーザーアカウントの管理
パスフレーズは使用せず、キーファイルを指定してログインする。インスタンス作成時に作成したキーペアをログインに使用する。※コマンドラインでSSH接続すると、キーファイルのアクセス権によって拒否される場合がある。その場合は、ファイルへのアクセス権を、「現ユーザーのみのアクセス」に変更する必要がある。
サーバー整備に必要な、Linuxの操作の基本
Amazon Linux 2やCentOSなどは、コマンドラインで操作する必要がある。よく使うコマンドは以下。
(以下、[ ]内は状況に応じて変化させるパラメータ)
- ls : ファイルの一覧を表示する。最もよく使う。パスを指定しなければ、現在のディレクトリのファイルを表示する
- cd [パス] : ディレクトリに移動する。上の階層に移動するときは「..」を指定する
- sudo [コマンド] : コマンドを管理者権限で実行する
- mkdir [ディレクトリ名] : ディレクトリを作成する
- rm [ファイルパス] : ファイルを削除する
- chmod : ファイルのアクセス権限を変更する
- vi [ファイルパス] : テキストファイルをテキストエディタで開く。基本的に「vim」エディタで開く。
■テキストエディタ「vim」の作業の流れ
1. 「i」でインサートモードに移行
2. テキストを編集
3. 「Esc」で編集を終了
4. 「:w」で変更内容を書き込み
5. 「:q」コマンドで終了
権限により、ファイルが「readOnly」で開いている場合がある。その場合は「sudo vi ~」で実行する。
sudoコマンドを実行すると、パスワードの入力を求められる場合がある。ec2のデフォルトユーザーにはパスワードは無いので、実行できなくなってしまう。その場合は、「sudo su -」コマンドで管理者権限に昇格する。インストールやシステムの設定を変更する際にはあらかじめ管理者に昇格した上で作業すると楽である。
LinuxへのMariaDBのインストール
バージョンを問わなければ、以下のドキュメントに従って、比較的簡単にインストールできる。(Ubuntuの場合は、「yum」を「apt」に置き換える)
CentOS 7 に MariaDB Community Server 最新版をインストール
ただし、MySQLが使用するポート「3306」を空けておかなければならない点に注意。
MariaDBのコンソールは、次のコマンドで起動する。mysql -u ユーザー名 -pM
MariaDBの詳しい操作方法は→MariaDB入門
今回はLinuxマシンでMariaDBをホストしたが、MariaDBデータベースサーバーを利用するだけならAWSの「RDS」を利用するのが便利。
FileMakerServerのインストール
以下の公式ドキュメントに従ってインストールをおこなう。
FileMaker Server の 1 台のマシンへのインストール (Linux)
※インストーラーのURLは、ソフトウェアダウンロードページから、該当OSのダウンロードボタンで右クリック→「リンクのアドレスをコピー」で取得する。Linuxターミナル上で右クリックすると、貼り付けできる。
ポート:5003をインバウンドルールで空けておく必要がある。Admin-Consoleを外部から使いたい場合は、ポート16000も空けておく。セキュリティの観点から、16000は可能なら空けない方が良い。GUIのないOSならあると便利。
■ODBCのセットアップ
MySQL ODBCドライバのインストール方法
以下のページからODBCドライバをダウンロードする。
ダウンロードページ: https://dev.mysql.com/downloads/connector/odbc/
FileMakerServerの時と同様に、該当のダウンロードボタンで右クリック→「リンクのアドレスをコピー」でURLを取得し、それを「wget」コマンドで指定してダウンロードする。その後は、以下のページの手順に従ってインストールする。
リンク: バイナリTarballディストリビューションからのConnector/ODBCのインストール
実行時に依存関係エラーが発生した。次の記事の内容で解決した。→【Ubuntu備忘録】パッケージエラー「Try ‘apt –fix-broken install’」で問題が解決しないときの対処法
ODBC接続の設定
データベースへの接続をODBCに追加する。まずは/etc/odbcinst.iniをviで開き、使用するODBCの名前をメモする([ ]内の名前)。次に/etc/odbc.iniを編集して以下のようにテキストを追加する。[データソース名]
Driver = ドライバー名
Database = データベース名
Server = ホストアドレス
Port = 3306
client_charset = 'UTF-8'
参考1: Ubuntu Linux 対応 FileMaker Server 19.3.1 以降で ESS を構成する
参考2: 外部 ODBC データソースへのアクセス
Amazon Linux 2にFileMakerServerはインストールできるか検証
Amazon Linux 2にFileMakerServerをインストールできるかを検証した。Amazon Linux 2はRedHat系であり、CentOSはRedHatの互換なので、CentOS用のFileMakerServerでインストールを試みた。公式ドキュメントの通り進めると、「sudo yum install centos-release-scl」を実行したとき、パッケージが見つからないというエラーが出た。また、それを無視して進めると、FileMakerServerのインストール時に、依存パッケージが無いというエラーが出て、インストールできなかった。
Windowsサーバーのアカウント認証
インスタンスがWindowsの場合、アクセスするためにパスワードを取得する必要がある。AWSマネジメントコンソールのインスタンス画面から、インスタンスを選択して「アクション」→「セキュリティ」→「Windowsパスワードを取得」からAdministratorのパスワードを取得する。
投稿者プロフィール
-
スモールの未来探究部 所属
FileMaker開発エンジニア
最新の投稿
- FileMaker研究室2024年2月8日FileMaker WebDirectでアクセス時に発生する502エラーの解決方法
- FileMaker研究室2023年12月19日Webビューアで特定の座標のGoogleMapを表示
- FileMaker研究室2023年8月19日FelicaのIDmを取得する方法の模索
- FileMaker研究室2022年11月25日AWSでの環境構築録