DBサーバーをプライベートサブネット内に構築(インストール失敗)

DBインスタンス用のセキュリティグループの作成

DB用のEC2インスタンスを作成する前にDB用のEC2インスタンスのセキュリティグループを作成します。

手順はこちら

DB用インスタンスの起動

以下のアーキテクチャのInstance(DBサーバー)を構築していきます。今の状態だとプライベートサブネットはインターネットへ接続していないのでdnfコマンドが失敗する想定です。


基本的にはこちらを参照してください。ここでは注意が必要な部分を記載していきます。

名前とタグ

今回は分かりやすく、「Test-DB-1a」としました。


ネットワーク設定

  1. vpcの作成で作成したVPC 「Test-VPC-001」を選択します。
  2. プライベートサブネットの作成で作成したサブネット 「Test-private-subnet-1a」を使用します。
  3. インターネットへのルートはないので「無効化」を選択。
  4. 「既存のセキュリティグループを選択する」にチェックを入れます。
  5. セキュリティグループで作成したTest-DB-security-groupを選択します。

高度な詳細

今回は高度な詳細を設定していきます。「高度な詳細」をクリックして展開します。


ユーザーデータ

「ユーザーデータ」は、EC2インスタンスの起動時に自動実行されるスクリプトや設定情報を指定するための機能です。これを利用すると、インスタンス起動後に自動的に設定タスクを実行したり、ソフトウェアをインストールしたりすることができます。

ユーザーデータ – オプションに初期設定のスクリプト入力します。


ユーザーデータは以下を使用ました

#! /bin/bash

# ホスト名
hostnamectl hostname Test-DB-1a

# 言語設定
localectl set-locale LANG=ja_JP.UTF-8

# タイムゾーン
timedatectl set-timezone Asia/Tokyo

# dnf
dnf update -y

DB用インスタンスへ接続

秘密鍵の送信

DB用インスタンスはパブリックIPアドレスを持っていません。そのためTest-web-1a経由で接続する必要があります。Test-web-1aも起動させましょう。

Test-web-1aにチェック–>「インスタンスの状態」–>「インスタンスを開始」をクリックします。


DB用インスタンスへ接続するには秘密鍵が必要です。秘密鍵をTest-web-1aに送信します。

TeraTermでTest-web-1aにログイン後、「ファイル」–>「SSH SCP」をクリックします。


「…」をクリックします。


秘密鍵を選択し、「開く」をクリックします。


「送信」をクリックします。

DB用インスタンスへSSH

DB用インスタンス(Test-DB-1a)にチェックを入れ、プライベートIPv4アドレスを確認します。


秘密鍵の権限を適切なものに変更します。

chmod 400 “aws-key.pem”

先ほど調べたDB用インスタンスのIPv4アドレス宛にSSHします。

ssh -i aws-key.pem ec2@<プライベートIPv4アドレス>

SSHするとknow_listに入れるか聞かれるので「yes」としています。

無事にログインできました。プロンプトのホスト名がユーザーデータで入力したホスト名となっていることも確認できます。

MariaDBのインストール

dnfでMariaDBのインストールを試みます。

sudo dnf install mariadb105-server

インターネットに接続していないので、以下のようにダウンロードに失敗します。

次回はプライベートサブネット内のインスタンスがインターネットに接続するためNATゲートウェイを作成します。

NATゲートウェイの作成 »

コメント

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