zabbixの構築
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
<参考>
Mr. Park 痕跡: Amazon Linux2 Zabbix 5.0 インストール
Amazon Linux2で、Zabbix5.0を構築してみた - Qiita
本日のやりたいこと
今回はオープンソフトウェアであるzabbixをつかってシステムの監視を行う環境の構築を行いたいと思います。
使用する環境
- サーバー
- Amazon EC2
- インスタンスタイプ: t2.micro (1台)
- オペレーティングシステム: Amazon Linux 2
- Amazon EC2
- ソフトウェア
zabbix5.0インストールの手順書
タイムゾーンの修正
timedatectl set-timezone Asia/Tokyo
Zabbix5.0のリポジトリをインストール
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yumのキャッシュクリア
yum clean all
Zabbixをインストールする上で必要なパッケージをインストール
rpm -Uvh http://mirror.centos.org/altarch/7/extras/aarch64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm
rpm -Uvh http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-2-3.el7.centos.noarch.rpm
Zabbix5.0をインストール
yum install -y zabbix-server-mysql zabbix-agent
yum install -y mariadb mariadb-server
zabbix.repo 手動修正
vi /etc/yum.repos.d/zabbix.repo
#下記を編集
------------------ここから-----------------------
[zabbix-fronted]
enable=1
------------------ここまで----------------------
MariaDBを起動
mysql -u root -p
※mysql_sequre_installationにて設定したパスワードを入力。
Webインターフェースをインストール
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
ユーザ・データベース等の作成
・zabbixというDBを作成
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
・DB[zabbix]にアクセスするユーザzabbixを作成(by'DBパスワード')
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
ここでのパスワードを後に使用。
MariaDB [(none)]> quit;
データベースにZabbix用のデータを流し込む
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
実行すると以下が表示される
Enter password:
ここでのパスワードは[DBパスワード]
よって、 zabbix と入力しEnter。
amazon linux2の時刻を修正
timedatectl set-timezone Asia/Tokyo
Zabbix側のタイムゾーンを変更
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
#下記を末尾に追記
---------------------------------------------
php_value[date.timezone] = Asia/Tokyo
---------------------------------------------
データベースの接続情報を記載
cd /etc/zabbix/
vi zabbix_server.conf
#下記を編集
---------------------------------------------
DBPassword=zabbix
---------------------------------------------
起動、自動起動有効
systemctl start zabbix-server
systemctl start zabbix-agent
systemctl start rh-php72-php-fpm
systemctl start httpd
systemctl enable zabbix-server
systemctl enable zabbix-agent
systemctl enable mariadb
systemctl enable httpd
systemctl enable rh-php72-php-fpm
ブラウザよりアクセス
<URL>
http://[パブリックDNS]/zabbix
でアクセスし、以下画面が出れば成功!!
<補足>
・zabbix完了画面が出なくて 404Not Found と表示される場合。
参考:
以下を試してみてください。自分は解消されました!!
1.パーミッション変更
chmod 777 /etc/zabbix
2.Apacheの再起動
systemctl restart httpd
以上
通信の暗号化
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
<参考>
ApacheでSSL(TLS)を有効化する方法 - Qiita
通信の暗号化
今まではhttpプロトコルを使って通信を行っていました。この「http」通信は通常の平文で通信を行っているため、プライバシーも何もない通信となっています。http通信において個人情報を入力するのは流出につながるため絶対に行ってはいけません。そこでhttp通信を暗号化する「https」という通信を基本的にweb上では見かけると思います。「https」通信はSSL/TLSプロトコルを利用した暗号化通信が行われています。
使用環境
- サーバー
- Amazon EC2
- インスタンスタイプ: t2.micro (1台)
- オペレーティングシステム: Amazon Linux 2
- Amazon EC2
- ソフトウェア
暗号化の手順
今回のブログではhttp通信をhttps化する手順を備忘録として残します。
rootユーザになる
sudo su -
SSL(TLS)化を有効にするためのモジュールをインストール
yum install openssl
yum install mod_ssl
作業用フォルダに移動
cd /etc/pki/tls/certs/
秘密鍵の作成
openssl genrsa > server.key
...Generating RSA private key, 2048 bit long modulus....+++
と表示されれば成功
公開鍵の作成
openssl req -new -key server.key > server.csr
Country Name (2 letter code) [XX]: JP
↑国名を入力
State or Province Name (full name) []:Tokyo
↑都道府県名を入力
Locality Name (eg, city) [Default City]:Tama
↑市区町村名を入力
Organization Name (eg, company) [Default Company Ltd]:XXX
↑組織名(会社名)を入力
Organizational Unit Name (eg, section) []:Sales
↑部署名を入力
Common Name (eg, your name or your server's hostname) []:11.1.1.1
↑IPアドレスを入力
Email Address []:popopo@email.com
↑メールアドレスを入力
A challenge password []:
An optional company name []:
↑今回はオレオレ証明書なので何も入力せずEnter
サーバ証明書の作成
openssl x509 -req -signkey server.key < server.csr > server.crt
↑を実行して先ほど入力した情報が出てくればOK!
秘密鍵のコピー
cp -a server.key ../private/
ssl.confの修正
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.org
vi /etc/httpd/conf.d/ssl.conf
-----------------------------------------------
1.サーバ名の変更
2.証明書のパス
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
↓↓
SSLCertificateFile /etc/pki/tls/certs/server.crt
3.秘密鍵のパス
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
↓↓
SSLCertificateKeyFile /etc/pki/tls/private/server.key
Apache再起動
systemctl restart httpd
以上の作業でhttpsプロトコルが使用できるようになっております。
<URL>
上記のURLでアクセスすると、接続がプライベートではありません。⚠セキュリティ保護なしという画面が出てくると思います。これは、証明書が自分で発行したオレオレ証明書だからです。しっかりとした機関が発行したものでしたら他のwebサイト同様にアクセスできます。証明書の発行機関は簡単に確認することができます。
URLの鍵マークをクリックし、証明書をクリックすることで
・発行先
・発行者
・有効期間 等
が確認できるので是非確認してみてください~~!!
以上
ブログサイトの構築
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
本日のやりたいこと
今回はAmazonEC2のインスタンス上にブログサイトを構築します。
ブログサイトには「wordpress」というブログ用のソフトウェアを使用します。
使用する環境
- サーバー
- Amazon EC2
- インスタンスタイプ: t2.micro (1台)
- オペレーティングシステム: Amazon Linux 2
- Amazon EC2
- ソフトウェア
- 参考
構築の流れ
以下の手順で構築を行います。
----------------------------------------------------------
①Apache をインストールする
②PHPをインストールする
③MariaDBをインストールする
④phpMyAdominをインストールする
⑤WordPressをインストールする
⑥データベースのセットアップ
⑦WordPressの設定
-----------------------------------------------------------
いざ構築!!
①Apache をインストールする
rootユーザになる
sudo su -
httpdをインストール
yum install httpd
(yを押下)
systemctl enable httpd
systemctl start httpd
②PHPをインストールする
PHPをインストール
amazon-linux-extras enable php7.3
yum install php php-gd php-mysqlnd php-xmlrpc -y
→Conplete! でインストール完了!
※バージョンは最新のものに適宜置き換えてください。
③MariaDBをインストールする
MariaDBをインストール
yum install mariadb mariadb-server -y
systemctl enable mariadb
systemctl start mariadb
mysql_sequre_installationを実行
mysql_secure_installation
⑴ Enter current password for root (enter for none):
データベースのrootユーザのパスワードはまだ設定されてないので
何も入力せずにenterを押す。
⑵ enter current password for root (enter for none):
データベースの root ユーザーのパスワードをこれから設定したいので
'Y' と入力して Enter を押す。
⑶ Set root password? [Y/n]
安全なパスワードを 2回入力
New password:
Re-enter new password:
Password updated successfully!
⑷ 以下全部 Y を入力
④phpMyAdominをインストールする
※このphpMyAdminをダウンロードする工程は飛ばしても構築は可能です。
急ぎの方は⑤にお進みください。。。
phpMyAdminの関連パッケージをインストール
yum install php-mbstring php-fpm -y
Apacheを再起動
systemctl restart httpd
カレントディレクトリを/var/www/htmlに移動
cd /var/www/html
phpMyAdminをダウンロード
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
phpMyAdminディレクトリを作成してphpMyAdmin パッケージを展開(解凍)し元のファイルを削除
mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1
rm phpMyAdmin-latest-all-languages.tar.gz
:yを入力
ブラウザよりアクセス
<URL>
http://[パブリックDNS]/phpMyAdmin
ユーザ名 : root
パスワード: mysql_secure_installation
で設定したパスワード
を入力して "実行" ボタンをクリック
これで、普通SQL文を書いて行うデータの登録や更新といった管理をGUIで感覚的に行うことができるようになります。今回はCUIでSQL文を書いてデータ登録等を行いますので使いません。
⑤WordPressをインストールする
ホームディレクトリに戻る
cd
pwd
WordPress関連パッケージをダウンロードして展開(解凍)
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
⑥データベースのセットアップ
mysqlにログイン
mysql -u root -p
※mysql_sequre_installationにて設定したパスワードを入力
データベースのユーザーとパスワードを作成
CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_strong_password';
※your_strong_passwordはご自身で考えたパスワードをご使用ください。
データベースを作成
CREATE DATABASE `wordpress-db`;
データベースに対して、さきほど作成した wordpress-user
ユーザーの権限を追加
GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
すべての変更を有効にするため、データベース権限をフラッシュ
FLUSH PRIVILEGES;
mysql クライアントを終了
Ctrl+DでExit
⑦WordPressの設定
ホームディレクトリに戻る
cd
pwd
WordPressの設定ファイルを変更する前にバックアップを作成
cp wordpress/wp-config-sample.php wordpress/wp-config.php
設定ファイルを編集
vi wordpress/wp-config.php
以下を変更
-----------------------------------------
define( 'DB_NAME', 'database_name_here' );
を
define( 'DB_NAME', 'wordpress-db' );
に変更
define( 'DB_USER', 'username_here' );
を
define( 'DB_USER', 'wordpress-user');
に変更
define( 'DB_PASSWORD', 'password_here' );
を
define( 'DB_PASSWORD', 'your_strong_password');
に変更
--------------------------------------------
※your_strong_passwordはご自身で設定したパスワード。
⑦Wordpressファイルの配置
Wordpressディレクトリを/var/ww/html/blog/ディレクトリにコピー
mkdir /var/www/html/blog
cp -r wordpress/* /var/www/html/blog/
httpd.confのバックアップを作成し、#を排除
cd /etc/httpd/conf
mv httpd.conf httpd.conf.org
grep -v -e '^#' -e ' #' httpd.conf.org > httpd.conf
ホームディレクトリに戻る
cd
pwd
httpd.confを修正
vi /etc/httpd/conf/httpd.conf
以下を変更
-----------------------------------------
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None → AllowOverride All
Require all granted
</Directory>
-----------------------------------------
Apacheによるファイル書き込みの許可
sudo chown -R apache /var/www
sudo chgrp -R apache /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
Apacheの再起動
sudo systemctl restart httpd
ブラウザよりWordPressをインストール
<URL>
http://[パブリックDNS]/blog/wp-admin/install.php
<補足>
#エラーが発生する場合
<URL>
http://[パブリックDNS]/blog/wp-admin/install.php
を表示しようとしてもエラーが出る場合は、⑦の設定ファイルに誤りがある可能性があるので確認してみてください。
もし、誤りがみつかった場合は変更を保存した後に以下コマンドより、⑦で行ったコピー元にも反映させてください。
cp wordpress/wp-config.php /var/www/html/blog/wp-config.php
yを押下でコピーを承諾
以上
EC2でknowledgeアプリを構築する ②
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
前回の記事:
javaアプリの配備
配備場所のディレクトリ作成
cd /usr/local/tomcat/webapps
mkdir knowledge
cd knowledge/
アプリケーションのダウンロード
wget https://github.com/support-project/knowledge/releases/download/v1.13.1/knowledge.war
ダウンロードしたファイルの解凍
jar xf knowledge.war
不要ファイルの削除
rm knowledge.war
アプリケーションの権限変更
cd ../
chown -R tomcat:tomcat knowledge
Tomcatの再起動
systemctl restart tomcat
http://グローバルIP/knowledge/open.knowledge/list
PostgreSQLの構築
yumでインストール
yum install postgresql-server postgresql-devel postgresql-contrib
postgresql-setup initdb
接続許可設定
vi /var/lib/pgsql/data/pg_hba.conf
下記のident部分をtrustに書き換える
--------------------------------------
local all all ident
host all all 127.0.0.1/32 ident
↓↓
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
--------------------------------------
自動有効化と起動
systemctl enable postgresql.service
systemctl start postgresql.service
ユーザー、DB、作成
su - postgres
psql
ユーザ作成
CREATE ROLE knowledge_user LOGIN PASSWORD 'knowledge_user';
権限付与
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO knowledge_user;
データベース作成
CREATE DATABASE knowledge_db OWNER knowledge_user;
psqlから抜ける
\q
\は¥に置き換えてください。
動作確認
アクセス
http://グローバルIP:8080/knowledge
EC2でknowledgeアプリを構築する ①
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
本日のゴール
本日する作業のイメージ図です。
サーバにログイン/rootにスイッチ
rootユーザになる。
sudo su -
/optに移動。
cd /opt
JDKインストール
JDKをダウンロードする
wget https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.tar.gz
※バージョンは最新のものに置き換えてください。
解凍する
tar zxf amazon-corretto-8-x64-linux-jdk.tar.gz
javaへのパスが通るようにする
vi /root/.bash_profile
以下のように変更
--------------------ここから------------------------------
・変更前
PATH=$PATH:$HOME/bin
・変更後
PATH=$PATH:$HOME/bin:/opt/amazon-corretto-8.302.08.1-linux-x64/bin
--------------------ここまで------------------------------
※バージョンは最新のものに置き換えてください。(ls で確認)
修正したbash_profileをソースコマンドで再読み込みする
. /root/.bash_profile
Tomcatインストール
javaバージョン
java -version
-bash: java: command not foundと表示される場合、Javaが入っていないのでダウンロードする
yum install -y java-1.8.0-openjdk-devel.x86_64
※バージョンは最新のものに置き換えてください。
tomcatユーザを追加する
useradd -s /sbin/nologin tomcat
Tomcatをダウンロードする
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz
解凍する
tar zxf apache-tomcat-9.0.50.tar.gz
cd /usr/local
mv /opt/apache-tomcat-9.0.50 ./
所有者とグループをtomcatにする
chown -R tomcat:tomcat apache-tomcat-9.0.50
シンボリックリンクを張る
ln -s apache-tomcat-9.0.50 tomcat
この時点でllコマンドで以下のようになっていればOK!
total 0
drwxr-xr-x 9 tomcat tomcat 220 Jul 29 09:42 apache-tomcat-9.0.50
drwxr-xr-x 2 root root 6 Apr 9 2019 bin
drwxr-xr-x 2 root root 6 Apr 9 2019 etc
drwxr-xr-x 2 root root 6 Apr 9 2019 games
drwxr-xr-x 2 root root 6 Apr 9 2019 include
drwxr-xr-x 2 root root 6 Apr 9 2019 lib
drwxr-xr-x 2 root root 6 Apr 9 2019 lib64
drwxr-xr-x 2 root root 6 Apr 9 2019 libexec
drwxr-xr-x 2 root root 6 Apr 9 2019 sbin
drwxr-xr-x 5 root root 49 Jul 6 17:24 share
drwxr-xr-x 2 root root 6 Apr 9 2019 src
lrwxrwxrwx 1 root root 20 Jul 29 09:42 tomcat -> apache-tomcat-9.0.50
setenvを新規作成する
vi /usr/local/tomcat/bin/setenv.sh
---ここから--------------------------------------
#!/bin/sh
CATALINA_HOME=/usr/local/tomcat
JAVA_HOME=/opt/amazon-corretto-8.302.08.1-linux-x64
JAVA_OPTS="-Xms128m -Xmx512m"
---ここまで--------------------------------------
※バージョンは最新のものに置き換えてください。
server.xmlを設定する
vi /usr/local/tomcat/conf/server.xml
以下のように変更。(コマンドモードで/unpackで検索できます。)
--------------------------------------------
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
↓↓
<Host name="localhost" appBase="webapps"
unpackWARs="false" autoDeploy="false">
--------------------------------------------
tomcat.serviceのパーミッションを変更する
vi /etc/systemd/system/tomcat.service
-----ここから-----------------------------
[Unit]
Description=Apache Tomcat 9
After=network.target
[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/usr/local/tomcat/tomcat.pid
RemainAfterExit=yes
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReStart=/usr/local/tomcat/bin/shutdown.sh;/usr/local/tomcat/bin/startup.sh
[Install]
WantedBy=multi-user.target
------ここまで----------------------------
パーミッションを変更
chmod 755 /etc/systemd/system/tomcat.service
自動起動を有効化して、tomcatを起動する。
systemctl enable tomcat
systemctl start tomcat
Apacheのインストール
yumでhttpdをインストール
yum install -y httpd
デフォルト設定をorgで保存し、コメントアウト行を削除する
cd /etc/httpd/conf
mv httpd.conf httpd.conf.org
grep -v -e '^#' -e ' #' httpd.conf.org > httpd.conf
※「' #'」の間にあるのは、半角スペース4つ
proxy設定を追記
vi httpd.conf
一番下に下記を追記
---ここから--------------------------------------
ProxyRequests Off
ProxyPass /knowledge http://127.0.0.1:8080/knowledge
---ここまで--------------------------------------
自動起動を有効化して、httpdを起動する。
systemctl enable httpd
systemctl start httpd
アクセス
http://グローバルIP
以上で、アプリケーションサーバの起動が完了致しました。
長くなりましたので次回の記事で
以下、次回記事のリンク
Apache
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
↓↓前回の記事↓↓
Apache
Apacheとは
Apache HTTP Serverは、Apache Software Foundationで開発された強力な商用オープンソースWebサーバです。
現在のネットワーク環境の確認
Apacheのセットアップ
パッケージの入手とインストール
LinuxにhttpdのRPMパッケージがインストールされているかどうかを確認し、インストールされていない場合、”httpd”をインストールします。
yum list installed httpd
yum install httpd
Apacheの起動
Apacheの起動
systemctl start httpd
動作確認
Apacheのサーバプロセスが動作しているか確認します。
ps -efH | grep httpd
以下のコマンドでTCPポート80番でApacheが受付しているかどうか確認します。
netstat -anp | grep httpd
Apacheテストページの表示確認
Windowsのブラウザ(chrome,safari等)を起動して、以下URLを入力します。
http://グローバルIPアドレス//
ログの確認
tailコマンドを実行しログの内容を確認します。
tail /var/log/httpd/access_log
tail /var/log/httpd/error_log
自動起動設定
linux起動時に自動的にApacheが起動するようになっているか以下コマンドで確認します。
chkconfig --list httpd
以下コマンドで自動起動をオンにします。
systemctl enable httpd
Apacheの基本設定
メイン設定ファイルの書式
Apacheのメイン設定ファイルは、/etc/httod/conf/httpd.confとなります。このファイルを編集することで、Apacheの動作を様々に変更することができます。
Apacheの基本ディレクティブ
wwwサーバ管理者のメールアドレス設定(ServerAdmin)
Apacheの設定ファイル/etc/httpd/conf/httod.confをviで開き、以下のServerAdminディレクティブの設定行に移動します。
vi /etc/httpd/conf/httpd.conf
ServerAdminディレクティブの書式
ServerAdmin 管理者のメールアドレス
DocumentRootディレクティブの書式
DocumentRoot ディレクトリパス
デフォルトの設定では、ドキュメントルートは、”var/www/html”ディレクトリになっています。ブラウザから以下のような」要求を送信した場合、wwwサーバは ”/var/www/html/index.html"ファイルをブラウザが要求してきたものとして処理します。
テストファイルによる確認
ドキュメントルート直下にtest.htmlファイルを作成して、ブラウザから以下URLで作成したページの内容が表示されるかどうか確認します。
まず、"vi"コマンドを用いて、test.htmlファイルの新規作成を行います。
vi /var/www/html/test.html
-----------------------------------------------------------------
This is test page.
-----------------------------------------------------------------
テスト用のURLが完了したら、ブラウザのアドレス欄に以下のURLを入力し、テストページが表示されるかどうか確認します。
http://グローバルIPアドレス/test.html
AWS ~仮想サーバー/インスタンス編~
はじめに
4月からプログラミングを学んでおります。ポレインと申します。
私事ではございますが、7月からインフラエンジニアとして働くことになりました。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
7月からインフラエンジニアとしての人生をスタートさせた私ですが、自己学習環境が欲しい!!となりましたので、Amazon EC2を使用することにしました。
インフラの学習環境を整えるには、サーバ本体を買って......ネットワークを構築して.......その他もろもろ設定してうわあああ大変だあ.......ってイメージだったんですが、インターネットで手順を覚えれば簡単にしかも無料でできる(AWSアカウント登録から1年間)と知って驚きました。
そんなAWSを利用したインフラの学習環境の整え方について紹介していきたいと思います。
<前回の記事>
<参考>
AmazonのAWS EC2とは?はじめての人向けに解説|TECH PLAY Magazine [テックプレイマガジン]
Amazon EC2とは何か?「インスタンス」など関連用語もまとめて解説【保存版】 連載:やさしく学ぶAWS入門|ビジネス+IT
Amazon EC2とは
Amazon EC2(Amazon Elastic Cloud)はLinuxやWindows等の仮想サーバを作成できるサービスです。利用者は数分でサーバを作成でき、作成後のマシンスペック変更や削除も簡単に実行できます。サービスの利用方法は課金制であり、サーバ上で稼働しているアプリケーションが高負荷となりCPUやメモリが不足した場合は、インスタンスタイプを変更することでスペックの増強が可能です。またデータ量が多くなってディスク容量が不足になった場合もすぐに拡張が可能です。
個人的には手軽にすぐ使えることが一番のメリットかなと思います。(使い始めて3日目で何言うてるねん)orz
使用方法
前提条件:AWSのユーザ登録をしている
AWSのホームページにログインする
※上のリンクからログインできます。
仮想マシンの起動
左上のサービスを選択
すべてのサービス→コンピューティング→EC2をクリック
(☆をクリックするとお気に入りにすることができて便利です。)
インスタンス起動 → インスタンス起動
ステップ1:Amazonマシンイメージ(AMI)
無料利用枠はWindowsやRedHat,SUSE Linux,Ubuntuなど様々ありますが今回はAmazon Linux 2 AMI (HVM), SSD Volume Type を選択します。
ステップ2:インスタンスタイプを選択
ここでは使用するアプリケーションに合わせて適切なリソースの組み合わせを選ぶことができます。インスタンスタイプによってさまざまなCPU、メモリ、ストレージ、ネットワークパフォーマンスの組み合わせがあります。
今回は無料で利用できるインスタンスタイプ:t2.microを選択します。
ステップ3:インスタンスの詳細設定
要件に合わせてインスタンスを設定します。
今回は学習環境を整えるのみなので何も変更せずに次のステップへ進みます。
ステップ4:ストレージの追加
インスタンスに追加の EBS ボリュームやインスタンスストアボリュームをアタッチするか、ルートボリュームの設定を編集することができます。
こちらも何も変更せずに次のステップへ進みます。
ステップ5:タグの追加
タグを定義することでルールを追加することができます。
今回はキー:Name と 値:test というタグを追加します。
タグについてはこちらのサイトで詳しく書かれていたので是非ご覧ください。
(丸投げ)
ステップ6:セキュリティグループの設定
AWSにおけるファイアウォール環境の設定です。学習環境のため、SSH、HTTP、HTTPSの通信のみ許可します。
以下のように設定
セキュリティグループについてはこちらのサイトで詳しく書かれていたので是非ご覧ください。(丸投げ)
※ちなみに説明に日本語が入っている場合、以下のエラーが発生。
Invalid rule description. Valid descriptions are strings less than 256 characters from the following set: a-zA-Z0-9. _-:/()#,@[]+=&;{}!$*
ステップ7:インスタンス作成の確認
内容に間違いがないことを確認し、起動をクリック。
すると以下の画面が出てきます。
これはSSH接続をするためのキー(鍵)です。こちらを使ってTera Termにて接続を行うため、ダウンロードした場所が分からないってことがないように気を付けてください。
キーペア名の下に好きな名前を入力し、キーペアのダウンロードをクリック。
そして、インスタンスの作成をクリック。
以上