[AWS][EC2] Bashシェルスクリプトによるサーバー設定
はじめに
Bashというシェルスクリプトを使用してEC2サーバーの設定を行ってみます。
Bashとは
- コマンド画面でLinuxとやりとりする際に使用するシェルスクリプト
- シェルスクリプト: ユーザーとカーネル(OSの基幹機能)のやりとりに利用される言語のこと
- Bashはシェルスクリプトの一つで、Linuxにおけるシェルスクリプトのデファクトスタンダードになっている
yumとかもシェルスクリプトの一つ
EC2サーバーではSSH接続したあとはBashで操作している状況
-
AWSマネジメントコンソールでは、BashによるLinux初期設定の自動実施を設定することが可能です
- 起動する際に処理されるBashスクリプトを仕込んでおくことができる
- Apacheのインストールとか毎回必ず行うような設定は自動実施するようにできる
作業アウトライン
- 新規にEC2インスタンスを起動する
- Bashシェルスクリプトを設定してLinuxの設定を行う
- Linuxの設定結果を確認する
今回設定してみる項目
- ホスト名を変更する
- デフォルトではIPアドレスがホスト名になっている
- IPアドレスではわかりづらいので基本は意味のある名前に変更する
sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=任意のホスト名/g'
- ネットワークホスト名を変更する
/etc/sysconfig/network
hostname '任意のホスト名'
- 日本時間をコピー
cp /usr/share/zoneinfo/Japan /etc/localtime
- サーバーの時間帯を日本時間に設定
sed -i 's|^ZONE=[a-zA-Z0-9\.\-\"]*$|ZONE="Asia/Tokyo"/g' /etc/sysconfig/clock
- 言語設定をja_JP.UTF-8に設定
echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n
- ソフトウェアの更新情報の確認
sudo yum update -y
- Apacheのインストール
sudo yum install httpd -y
- Apacheの自動起動設定
sudo chkconfig httpd on
1. 新規にEC2インスタンスを起動する
- EC2インスタンスを作成する
- 手順 3: インスタンスの詳細の設定の「高度な設定」に以下を記載する
#!/bin/bash
# サーバーの設定変更
sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=任意のホスト名/g' /etc/sysconfig/network
hostname '任意のホスト名'
cp /usr/share/zoneinfo/Japan /etc/localtime
sed -i 's|^ZONE=[a-zA-Z0-9\.\-\"]*$|ZONE="Asia/Tokyo"|g' /etc/sysconfig/clock
echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n
# アパッチのインストール
sudo yum update -y
sudo yum install httpd -y
sudo chkconfig httpd on
====
- 他の設定項目はデフォルトで
- タグはお好みで
2. Bashシェルスクリプトを設定してLinuxの設定を行う
- 作成したEC2インスタンスにターミナルでssh接続する
3. Linuxの設定結果を確認する
- 接続して、
[ec2-user@任意のホスト名 ~]$
となっていれば
- Apacheインストール
-
yum list installed | grep httpd
を実行
- httpdがインストールされていれば
yumとかもシェルスクリプトの一つ
EC2サーバーではSSH接続したあとはBashで操作している状況
AWSマネジメントコンソールでは、BashによるLinux初期設定の自動実施を設定することが可能です
- 起動する際に処理されるBashスクリプトを仕込んでおくことができる
- Apacheのインストールとか毎回必ず行うような設定は自動実施するようにできる
- 新規にEC2インスタンスを起動する
- Bashシェルスクリプトを設定してLinuxの設定を行う
- Linuxの設定結果を確認する
今回設定してみる項目
- ホスト名を変更する
- デフォルトではIPアドレスがホスト名になっている
- IPアドレスではわかりづらいので基本は意味のある名前に変更する
sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=任意のホスト名/g'
- ネットワークホスト名を変更する
/etc/sysconfig/network
hostname '任意のホスト名'
- 日本時間をコピー
cp /usr/share/zoneinfo/Japan /etc/localtime
- サーバーの時間帯を日本時間に設定
sed -i 's|^ZONE=[a-zA-Z0-9\.\-\"]*$|ZONE="Asia/Tokyo"/g' /etc/sysconfig/clock
- 言語設定をja_JP.UTF-8に設定
echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n
- ソフトウェアの更新情報の確認
sudo yum update -y
- Apacheのインストール
sudo yum install httpd -y
- Apacheの自動起動設定
sudo chkconfig httpd on
1. 新規にEC2インスタンスを起動する
- EC2インスタンスを作成する
- 手順 3: インスタンスの詳細の設定の「高度な設定」に以下を記載する
#!/bin/bash
# サーバーの設定変更
sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=任意のホスト名/g' /etc/sysconfig/network
hostname '任意のホスト名'
cp /usr/share/zoneinfo/Japan /etc/localtime
sed -i 's|^ZONE=[a-zA-Z0-9\.\-\"]*$|ZONE="Asia/Tokyo"|g' /etc/sysconfig/clock
echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n
# アパッチのインストール
sudo yum update -y
sudo yum install httpd -y
sudo chkconfig httpd on
====
- 他の設定項目はデフォルトで
- タグはお好みで
2. Bashシェルスクリプトを設定してLinuxの設定を行う
- 作成したEC2インスタンスにターミナルでssh接続する
3. Linuxの設定結果を確認する
- 接続して、
[ec2-user@任意のホスト名 ~]$
となっていれば
- Apacheインストール
-
yum list installed | grep httpd
を実行
- httpdがインストールされていれば
- デフォルトではIPアドレスがホスト名になっている
- IPアドレスではわかりづらいので基本は意味のある名前に変更する
sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=任意のホスト名/g'
/etc/sysconfig/network
hostname '任意のホスト名'
cp /usr/share/zoneinfo/Japan /etc/localtime
sed -i 's|^ZONE=[a-zA-Z0-9\.\-\"]*$|ZONE="Asia/Tokyo"/g' /etc/sysconfig/clock
echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n
sudo yum update -y
sudo yum install httpd -y
sudo chkconfig httpd on
- EC2インスタンスを作成する
- 手順 3: インスタンスの詳細の設定の「高度な設定」に以下を記載する
#!/bin/bash
# サーバーの設定変更
sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=任意のホスト名/g' /etc/sysconfig/network
hostname '任意のホスト名'
cp /usr/share/zoneinfo/Japan /etc/localtime
sed -i 's|^ZONE=[a-zA-Z0-9\.\-\"]*$|ZONE="Asia/Tokyo"|g' /etc/sysconfig/clock
echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n
# アパッチのインストール
sudo yum update -y
sudo yum install httpd -y
sudo chkconfig httpd on
====
- 他の設定項目はデフォルトで
- タグはお好みで
2. Bashシェルスクリプトを設定してLinuxの設定を行う
- 作成したEC2インスタンスにターミナルでssh接続する
3. Linuxの設定結果を確認する
- 接続して、
[ec2-user@任意のホスト名 ~]$
となっていれば
- Apacheインストール
-
yum list installed | grep httpd
を実行
- httpdがインストールされていれば
- 接続して、
[ec2-user@任意のホスト名 ~]$
となっていれば - Apacheインストール
-
yum list installed | grep httpd
を実行 - httpdがインストールされていれば
-
Author And Source
この問題について([AWS][EC2] Bashシェルスクリプトによるサーバー設定), 我々は、より多くの情報をここで見つけました https://qiita.com/shtwangy/items/a5c9eac88e7019cafbc3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .