構成
今回は、プライベートサブネット内にデータベースを作成していきます。
AWSでのUbuntu Serverの立ち上げ
AWS マネジメントコンソールのEC2の画面からインスタンスの作成をクリックします。
AMIの選択
Amazon マシンイメージ (AMI)のページで検索欄にUbuntu
と入力します。
今回は「Ubuntu Server 18.04 LTS」を利用します。
インスタンスタイプの選択
インスタンスタイプはt2.micro
を選択します。
t2.nano
はメモリが足りずMySQLが起動できないという情報が有った為、断念しました。
インスタンスの設定
VPC内のプライベートサブネットを選択しました。
「キャパシティーの予約」だけ開く
を選択しました。
ストレージの追加
デフォルトの設定にしました。
タグの設定
Nameタグを設定しました。
セキュリティグループの設定
キーペアの選択
新しいキーペアの作成
を選択し、キーペアをダウンロードしました。
AWS 踏み台サーバーからUbuntuへのアクセス
踏み台サーバーは、VPCのパブリック内に立ち上げておいてください。
アクセス方法
踏み台サーバーへキーペアをアップロードします。
Ubuntuサーバーのインスタンスを選択し、接続
を押すとインスタンスに接続する方法が表示されます。
踏み台サーバーにアップしたキーに対し、chmod
でアクセス権限の変更をおこなってください。
その後、「例」の内容をコピーし、sudo権限をつけて実行します。
結果
Ubuntuサーバーからインターネットへアクセスする為の設定
安全にネットワークに接続する為にNATを利用仕様と思います。
NAT GateWayの作成
VPCのページから、「NAT ゲートウェイ」を選択します。
NATゲートウェイのページで、NAT ゲートウェイの作成
をクリックします。
サブネットはUbuntuサーバーを配置したVPC内のパブリックサブネットを選択してください。
Elastic IPは新しいEIPの作成
を押してください。
作成されたNATゲートウェイのIDをメモしてください。
nat-0590f6bc305083087
そのまま、ルートテーブルの編集
をクリックしてください。
ルートテーブルの作成
VPCのプライベートネットワークに「ルートテーブル」を作成します。
VPCのページからルートテーブルを選択し、ルートテーブルの作成
を押します。
名前と対象のVPCを選択し、作成
ボタンをクリックします。
ルートテーブルの編集
先ほど作成したルートテーブルを選択し、ルートの編集を行います。
ルートの追加
を選択し、下記の設定を行います。
- 送信先 : 0.0.0.0/0
- ターゲット : 先ほど作成したNATを指定
設定を入力したら、ルートの保存
をクリックします。
サブネットの関連付け
先ほど作成したルートテーブルを選択し、ルートの編集を行います。
Ubuntuのサーバーを設置したプライベートのサブネットを選択し、保存
をクリックします。
インターネット接続の確認
踏み台サーバーを経由して、Ubuntuサーバーにアクセスします。
下記のコマンドを実行してください。
curl https://google.com
下記のような実行結果が表示されれば、正常にネットワークに接続されています。
ubuntu@ip-XX-XX-XX-XX:~$ curl https://google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="https://www.google.com/">here</A>.
</BODY></HTML>
サーバー等の環境構築は以上です。次からMroongaのインストールを行います。
Mroongaのインストール
PPA (Personal Package Archive)を利用してインストールしていきます。
公式のインストールページには以下の説明が書かれています。
Ubuntu用のMroongaのAPTリポジトリーはLaunchpad上のPPA(Personal Package Archive)を使っています。このPPAからAPTでMroongaをインストールできます。
インストール前の設定
universeリポジトリーとセキュリティアップデートリポジトリを有効化
はじめに、「add-apt-repository」を利用できるようにする為に、「software-properties-common」をインストールします。
利用中の Linux ディストリビューションおよび Linux Standard Base との互換性の識別を補助するためのシンプルなツール 「lsb-release」もインストールします。
sudo apt-get install -y -V software-properties-common lsb-release
次に各リポジトリの有効化を行います。
sudo add-apt-repository -y universe
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu $(lsb_release --short --codename)-security main restricted"
PPAをシステムに追加
PPAをシステムに追加するために下記コマンドを実行してください。
sudo add-apt-repository -y ppa:groonga/ppa
sudo apt-get update
Mroongaのインストール
今回はMySQL用のMroongaをインストールします。
sudo apt-get install -y -V mysql-server-mroonga
実行した結果内に「mysql.service」が「Active」になっていた場合、正常にインストールできています。
MeCabのインストール
今回はMeCabをトークナイザーとして利用したいので、「groonga-tokenizer-mecab」をインストールします。
sudo apt-get install -y -V groonga-tokenizer-mecab
Mroongaがインストールできたかを確認する。
下記のコマンドを実行してMySQLに接続します。
初期の設定は、ユーザー名:root
にパスワード無しで接続できます。
sudo mysql -uroot
Mroongaがインストールされているかどうかを確認します。
mysql> SHOW ENGINES;
下記のように実行結果内の「Engine」のカラムにMroongaが存在すれば無事インストールされています。
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| Mroonga | YES | CJK-ready fulltext search, column store | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
10 rows in set (0.00 sec)
一応、バージョンの確認もしておきましょう。
mysql> SHOW VARIABLES LIKE 'mroonga_version';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| mroonga_version | 9.11 |
+-----------------+-------+
1 row in set (0.00 sec)
まとめ
これで、正常にMySQLをインストールすることができました。
MySQLの初期設定等は、後日記事にしていこうと思います。
動作確認日
2020年01月15日に動作を確認しました。