EC2
用途
Masttermostを動かすサーバとして利用します。
EC2のセキュリティグループの作成
- これはEC2がALBと作業者のsshのアクセスを受けるためのセキュリティグループです。
- AWSコンソール画面の検索窓に「セキュリティグループ」と入力→
セキュリティグループ
をクリック→セキュリティグループを作成
ボタンをクリック
画面 | 設定項目 | 設定値 |
---|---|---|
基本的な詳細 | セキュリティグループ名 | mattermost-server-sg |
説明 | Security group applied to Mattermost EC2 | |
VPC | mattermost-vpc | |
インバウンドルール1 | タイプ | SSH |
プロトコル | TCP | |
ポート範囲 | 22 | |
ソース | AnywhereIPv4 | |
説明 - オプション | Allow inbound communication on port22 from source | |
インバウンドルール2 | タイプ | カスタムTCP |
プロトコル | TCP | |
ポート範囲 | 8065 | |
ソース | AnywhereIPv4 | |
説明 - オプション | Allow inbound communication on port8065 from source | |
インバウンドルール3 | タイプ | HTTP |
プロトコル | TCP | |
ポート範囲 | 80 | |
ソース | AnywhereIPv4 | |
説明 - オプション | Allow inbound communication on port80 from source | |
アウトバウンドルール | - | - |
タグ - オプション | キー | Name |
値 - オプション | mattermost-server-sg |
- port22はsshを繋ぐためです。
- port8065はALBからmattermostに繋ぐためです。
- port80は不要かもしれません。ALBからのヘルスチェックで必要かもしれません。とりあえず入れておきましょう。
EC2の作成
- AWSコンソール画面の検索窓に「EC2」と入力→
EC2
をクリック→インスタンスを起動
ボタンをクリック - EC2は1台作成します。
名前とタグ
設定項目 | 設定値 |
---|---|
名前 | mattermost-server01 |
アプリケーションおよび OS イメージ (Amazon マシンイメージ)
設定項目 | 設定値 |
---|---|
アプリケーションおよび OS イメージ (Amazon マシンイメージ) |
Amazon Linux |
Amazon マシンイメージ (AMI) | デフォルト(Amazon Linux 2 AMI(HVM) Kernel 5.10, SSD Volume Type) |
アーキテクチャ | 64ビット(x86) |
インスタンスタイプ
設定項目 | 設定値 |
---|---|
インスタンスタイプ | t2.micro |
キーペア (ログイン)
設定項目 | 設定値 |
---|---|
キーペア名 | (自分で使っているものを選択) |
ネットワーク設定
編集
ボタンをクリックしてください
設定項目 | 設定値 |
---|---|
VPC - 必須 | mattermost-vpc |
サブネット | mattemost-subnet-public1-ap-northeast-1a |
パブリック IP の自動割り当て | 有効化 |
ファイアウォール (セキュリティグループ) | 既存のセキュリティグループを選択する |
共通のセキュリティグループ | mattermost-server-sg |
高度なネットワーク設定 | (デフォルトのままでOK) |
ストレージを設定
デフォルトのままでOK
高度な詳細
- EC2作成時にコマンドも実行できる、ということを示すために実行してます。
設定項目 | 設定値 |
---|---|
ユーザーデータ | #!/bin/bash -xe amazon-linux-extras install nginx1 -y systemctl start nginx |
上記以外はデフォルトでOKです | - |
EC2からデータベースのデータを作成・確認する方法
- 前の手順でLambdaでデータを作成している場合は作業不要です。
- ここまでにデータベースの作成が完了している必要があります。
作成したインスタンスへのSSHログイン
mysqlクライアントのインストール
sudo yum install mysql -y
データベース接続
mysql -h <replase me> -P 3306 -u admin -p
上記の<replase me>
はRDSのエンドポイントです。RDSの画面を見て確認してください。ライターインスタンスのエンドポイントです。パスワードはadminadmin
です
データ作成
- 作成済の場合はskipしてください。
# ユーザ名がmmuser。パスワードがadminadminでユーザ作成を行う。 create user 'mmuser'@'%' identified by 'adminadmin'; # mattermostというデータベースを作成 # 作業不要です。これはRDS作成時に作成済のためです。 # create database mattermost; # mmuserというユーザにmattermostというデータベースの全権限を付与する grant all privileges on mattermost.* to 'mmuser'@'%'; # 続いて確認作業をする場合はskipしましょう。 exit;
確認
select user, host from mysql.user; show grants for 'mmuser'@'%'; show databases; exit;
データベースを消したい場合
- 削除する必要がある場合に実施します。通常は実施しません
drop user 'mmuser'@'%'; drop database mattermost; exit;