DBサーバーの構築

MariaDBのインストール

  1. Test-DB-1aにログイン後、MariaDBをインストールします。
sudo dnf -y install mariadb105-server

今回は以下のようにインストールが成功しました。


  1. MariaDBを起動させます。
sudo systemctl start mariadb.service

エラーが出なければOKです。


  1. MariaDBをOS起動時に自動起動するようにします。
sudo systemctl enable mariadb.service

  1. MariaDBの状態を確認します。
sudo systemctl status mariadb.service

MariaDBの初期設定

  1. 初期パスワードなどを設定します。
sudo mysql_secure_installation
  1. まだrootのパスワードを設定していないので何も入力せずEnter。

  1. rootアカウントが既に保護されているので「n」と入力しEnter。

  1. rootパスワードを設定したいので「Y」と入力しEnter。

  1. パスワードを2回入力し、Enter。「aws-test」

  1. anonymous usersは削除するので「Y」と入力しEnter。

  1. rootユーザーのリモートアクセスを許可したいので「n」と入力します。

  1. test databaseは消さなくてよいので「n」と入力しEnter。

  1. すぐに権限を反映したいので「Y」と入力し、Enter。

初期設定はこれで完了です。

MariaDBへテストデータの挿入

MariaDBへ接続

  1. 以下のコマンドでMariaDBに接続します。
mysql -u root -p<パスワード>

データベースの作成

  1. テスト用のデータベースを作成します。
CREATE DATABASE TEST_BLOG;

  1. データベース TEST_BLOG が作成されたか確認します。
SHOW DATABASES;

  1. 作成したデータベースに接続します。
USE TEST_BLOG;

テスト用データの作成

  1. テスト用のテーブルを作成します。
CREATE TABLE posts (
    id INT NOT NULL PRIMARY KEY,
    title VARCHAR(100),
    detail VARCHAR(1000),
    image VARCHAR(1000),
    link VARCHAR(1000)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

  1. テーブルにテストデータを作成します。
INSERT INTO posts (id, title, detail, image, link) VALUES (
    1,
    "AWS",
    "XXステップで覚えるAWS",
    "./img/img1.jpg",
    "https://cloudopslab.net/xx%e3%82%b9%e3%83%86%e3%83%83%e3%83%97%e3%81%a7%e8%a6%9a%e3%81%88%e3%82%8baws/"
);


もう一つデータを作成しておきます。

INSERT INTO posts (id, title, detail, image, link) VALUES (
    2,
    "MariaDB",
    "MariaDB入門",
    "./img/img2.jpg",
    "https://aws.amazon.com/jp/rds/mariadb/"
);

  1. rootユーザーに全ての権限を与え、リモートからでもアクセス可能にします。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'aws-test' WITH GRANT OPTION;

  1. Test-web-1a からDBにアクセスできるか試してみます。
mysql -h <DBサーバーのIPアドレス> -u root -paws-test

以下のようにログインできればOKです。

WEBサーバーのテスト用プログラムから接続

  1. Webサーバーをパブリックサブネット内に構築で取得したコードが残っていれば対応不要です。もし消してしまった場合は、githubからテスト用のプログラムをダウンロードします。
git clone https://github.com/cloudopslab001/XX-steps-AWS.git

  1. テスト用のプログラムをルートディレクトリにコピーします。
cp -p XX-steps-AWS/02/index.php /var/www/html/

  1. テスト用のプログラムを修正します。

テスト用のプログラムから以下の箇所を探し、自分の環境にあったものに修正します。
$servername–>Test-DB-1aのプライベートIPv4アドレス
$password–>設定したパスワード。

  <?php
    $servername = "10.0.21.21";
    $username = "root";
    $password = "aws-test";
    $dbname = "TEST_BLOG";

  1. ブラウザからアクセス

DBへの接続に問題がなければ以下のような画面が表示されると思います。


DBへデータの追加

以下のSQLを実行し、DBへさらにデータを追加してみます。

INSERT INTO posts (id, title, detail, image, link) VALUES (
    3,
    "Azure",
    "Azure portal とは",
    "https://raw.githubusercontent.com/cloudopslab001/XX-steps-AWS/refs/heads/main/img/azure.jpg",
    "https://learn.microsoft.com/ja-jp/azure/azure-portal/azure-portal-overview"
);

データの追加後、以下のようにAzureの項目が見えていればOKです。


ここまでNATゲートウェイやルートテーブルの動きが理解できたと思います!

コメント

タイトルとURLをコピーしました