はじめに
以前、下記のQiita記事を投稿しました。
【AWS】AmazonLinuxにてZabbixマネージャー構築(OS側設定)
こちらの記事ではOS側の設定を紹介しています。
今回は、AWS側での設定についてアウトプットしていきたいと思います。
自宅環境
項目 | 説明 |
---|---|
自宅PC | Windows10 |
ターミナル | TeraTerm |
基盤環境
項目 | 説明 |
---|---|
OS | Amazon Linux 2 AMI (HVM), SSD Volume Type |
Size | t2.large |
DB | MySQL 5.7.26 |
※DBはRDSを外付け
※AWSのベストプラクティスに沿って、作業用IAMユーザーにて作業
(ルートユーザーには多要素認証設定済み)
構成図
※RDSの使用上、「availability zone」が2つ以上必要であるため、サブネットを2つ作成しております。
構築手順
1.VPC作成
2.サブネット設定
3.ルートテーブル設定確認
4.セキュリティグループ設定
5.RDS(MySQL作成)
6.EC2インスタンス作成
1.VPC作成
①VPCを起動
②VPCダッシュボードが起動されるので、VPCウィザードの起動をクリック
③1個のパブリックサブネットを持つVPCを選択
④下記のように情報を入力し、VPCの作成をクリック
- VPC
項目 | 設定値 |
---|---|
IPv4 CIDR ブロック | 192.168.0.0/20 |
IPv6 CIDR ブロック | IPv6 CIDRブロックなし |
VPC名 | test-zabbix-vpc |
- パブリックサブネット
項目 | 設定値 |
---|---|
パブリックサブネットの IPv4 CIDR | 192.168.5.0/24 |
アベイラビリティーゾーン | ap-norteast-1a |
サブネット名 | zabbix-public-subnet |
- DNS
項目 | 設定値 |
---|---|
DNSホスト名を有効化 | はい |
※DNSホスト名を有効化しないと、AmazonLinuxにてyum
が出来ません。
⑤VPCが正常に作成されましたと表示されることを確認。
⑥VPC一覧画面を開くと、新しくVPC(test-zabbix-vpc)が作成されていることを確認。
⑦「パブリックサブネット」「ルートテーブル」「インターネットゲートウェイ」も同時に作成されている。
名前は下記とする。
※名前が設定されていないものは設定
項目 | 名前 |
---|---|
作成したサブネット | zabbix-public-subnet |
作成したルートテーブル | zabbix-route |
作成したインターネットゲートウェイ | test-zabbix-gateway |
※関連付けられているVPCを辿れば、作成したものかわかります。
2.サブネット設定
プライベートサブネット作成
※RDSを使用するためには、サブネットを2つ以上作成する必要有り(無料枠の場合もAZが2つ必要)
①VPCダッシュボードにてサブネット→サブネットの作成をクリック
②サブネットの作成画面にて必要情報を入力する。
項目 | 設定値 |
---|---|
名前タグ | zabbix-private-subnet |
VPC |
test-zabbix-vpc のVPCを選択 |
アベイラビリティーゾーン | ap-northeast-1d |
IPv4 CIDRブロック | 192.168.10.0/24 |
※アベイラビリティーゾーンは1.VPC作成で設定した場所以外を選択する。
入力完了後、作成をクリック
③サブネットの作成が完了すると、下記のような画面が表示される。
そのまま閉じるをクリック
④サブネット一覧にて、zabbix-private-subnetが作成されていることを確認。
パブリックIPアドレス自動割り当て設定
①サブネット一覧より**「zabbix-public-subnet」**を右クリック→自動割り当て IP 設定の変更をクリック
②「自動割り当てIP設定の変更」画面にて、IPv4自動割り当てにチェックを入れ、保存をクリック。
3.ルートテーブル設定確認
①ルートテーブル一覧を開き、今回作成したルートテーブル(zabbix-route)を選択。
②下の画面より「サブネットの関連付け」のタブをクリックし、今回作成したサブネット(zabbix-public-subnet)との関連付けができているか確認。
※サブネットIDをクリックすると、サブネットの詳細を確認することができます。
4.セキュリティグループ設定
セキュリティグループを2つ作成
①セキュリティグループ一覧にて、セキュリティグループを作成をクリック。
②下記のように設定し、保存をクリック。
項目 | 設定値 |
---|---|
セキュリティグループ名 | zbx-public-group |
説明 | zbx-public-group |
VPC | 「test-zabbix-vpc」を選択 |
※インバウンド/アウトバウンドはまだ設定しない。
③同じ要領で、下記セキュリティグループも作成
項目 | 設定値 |
---|---|
セキュリティグループ名 | zbx-rds-group |
説明 | zbx-rds-group |
VPC | 「test-zabbix-vpc」を選択 |
※こちらも、インバウンド/アウトバウンドはまだ設定しない。
④セキュリティグループ一覧にて、2つのセキュリティグループができていることを確認。
セキュリティグループの設定
それぞれのセキュリティグループのインバウンドルールを下記のように設定する。
※アウトバウントルールはデフォルトで問題なし。
- zbx-public-group
タイプ | ポート範囲 | ソース | 説明 |
---|---|---|---|
HTTP | 80 | マイIP | HTTP |
SSH | 22 | マイIP | SSH |
カスタムTCP | 10051 | セキュリティグループ(zbx-public-group) | Zabbix agent - Zabbix server |
カスタムTCP | 10050 | セキュリティグループ(zbx-public-group) | Zabbix server - Zabbix agent |
HTTPS | 443 | マイIP | HTTPS |
- zbx-rds-group
タイプ | ポート範囲 | ソース | 説明 |
---|---|---|---|
MySQL/Aurora | 3306 | セキュリティグループ(zbx-public-group) | MySQL |
5.RDS(MySQL作成)
①「Amazon RDS」のダッシュボードを開き、データベースの作成をクリック
※サービスから「RDS」と検索すれば、ヒットします。
②データベース作成画面が表示されるので、下記のように設定を入れる。
※下記にて説明している設定以外はデフォルトのまま
- データベースの作成方法
項目 | 設定値 |
---|---|
データベースの作成方法 | 標準作成 |
- エンジンのオプション
項目 | 設定値 |
---|---|
エンジンのタイプ | MySQL |
エディション | MySQL Community |
バージョン | MySQL 5.7.26 |
- テンプレート
項目 | 設定値 |
---|---|
テンプレート | 無料利用枠 |
- 設定
項目 | 設定値 |
---|---|
DBインスタンス識別子 | zabbix-db-test01 |
マスターユーザー名 | zabbix |
マスターパスワード | 任意のパスワード |
パスワードを確認 | マスターパスワードと同様のパスワード |
※DBインスタンス識別子は他の人が同じ名前を設定していた場合は使用不可
- Virtual Private Cloud(VPC)
項目 | 設定値 |
---|---|
VPC | test-zabbix-vpc |
▼追加の接続設定
項目 | 設定値 |
---|---|
サブネットグループ | デフォルト設定のまま |
パブリックアクセス可能 | なし |
VPCセキュリティグループ | 既存の設定 |
既存のセキュリティグループ | zbx-rds-group |
アベイラビリティーゾーン | ap-northeast-1a |
データベースポート | 3306 |
- データベース認証
パスワード認証のままでOK
上記全て設定後、下部のデータベースの作成をクリック
③データベース作成が開始される。
※10分程時間がかかります。
⑦エンドポイントを控える。
DB識別子(zabbix-db-test01)をクリックすると、詳細ページが表示される。
そこに、エンドポイントが記載されているため控えておく。
※Zabbix構築に使用します。
⑧データベースの作成が完了したことを確認。
6.EC2インスタンス作成
①EC2ダッシュボードにアクセスし、インスタンスの作成をクリック。
②Amazon Linux 2 AMI(HVM),SSD Volume Typeを選択する。
③t2.largeを選択し、「次のステップ」をクリック。
④「インスタンスの詳細の設定」にて下記を設定
項目 | 設定値 |
---|---|
インスタンス数 | 1 |
購入オプション | チェックしない |
ネットワーク | test-zabbix-vpc |
サブネット | zabbix-public-subnet |
自動割り当てパブリックIP | サブネット設定を使用(有効) |
※他の設定がデフォルトで問題なし
設定完了後、「次のステップ」をクリック。
⑤「ストレージの追加」は無料枠ギリギリの30GBに変更します。
設定後、「次のステップ」をクリック
⑥タグ設定は下記のように設定し、「次のステップ」をクリック
⑦「セキュリティグループの設定」では、作成したzbx-public-groupを選択し、「確認と作成」をクリック
⑧内容を確認し、「起動」をクリック
⑨新しいキーペアをダウンロード。ダウンロード後、「インスタンスの作成」をクリック
インスタンスの作成処理が走る。
※EC2へログインする際に使用します。
⑩インスタンスの作成が完了したことを確認
動作確認
EC2ログイン確認
①ログイン情報入力
ログイン情報
項目 | 設定値 |
---|---|
ユーザー名 | ec2-user |
パスフレーズ | 不要 |
秘密鍵 | 作成したキー(zabbix.pem)を指定 |
RDS接続確認
①MySQLクライアントのインストール
sudo yum -y install mysql mysql-devel
②RDSへ接続できることを確認
mysql -h RDSのエンドポイント -P 3306 -u ユーザ名 -p
項目 | 設定値 |
---|---|
RDSのエンドポイント | 対象RDSのエンドポイント名 |
ユーザー名 | RDS作成時に設定したもの |
パスワード | RDS作成時に設定したもの |
実行例
※MySQLにログインできれば問題なし
[root@zbxmgr ec2-user]# mysql -h test-zabbix-1.cfwpl4233294.ap-northeast-1.rds.amazonaws.com -P 3306 -u zabbix -p
Enter password: ← RDS作成時に設定したパスワードを入力
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.7.26-log Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
③MySQLから抜ける。
quit
#Zabbix構築作業
こちらの記事にまとめてあります。
【AWS】AmazonLinuxにてZabbixマネージャー構築(OS側設定)