SAA学習-EC2-ユーザーデータの活用
今回のテーマ:ユーザーデータの活用
ユーザーデータ
EC2起動時にユーザーデータへスクリプトを設定し、Linuxの初期設定を自動で実装する。
実行するコマンドの概要説明
コマンド | 活用内容 |
---|---|
sed -i 's/^HOSTNAME=[a-zA-Z0-9.-]*$/HOSTNAME=web-sv/g' /etc/sysconfig/network | ホスト名を変更する。 |
hostname 'web-sv' | |
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 | 言語設定をja_JP.UTF-8に設定 |
sudo yum update -y | ソフトウェアの更新状態を確認する |
sudo yum install httpd -y | サーバーにApacheをインストールする |
- 投入するシェルスクリプト
#!/bin/bash # サーバーの設定変更 sed -i 's/^HOSTNAME=[a-zA-Z0-9\.\-]*$/HOSTNAME=web-sv/g' /etc/sysconfig/network hostname 'web-sv' 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
実装
- マネージメントコンソール-EC2-インスタンスの起動の順に選択し、インタンスの起動をクリック
- AMIはLinuxのAMIを選択し、選択をクリック
- ファミリアーは無料枠のt2.microを選択し、次のステップ:インスタンスの詳細の設定をクリック
今回のポイントはこちらの設定になります。
- ネットワークは作成済みのVPCを選択
- サブネットはパブリックサブネットを1aを選択
- 高度な設定の「ユーザーデータ」にて投入するシェルスクリプトの内容を使用する。
設定を終えたら、次のステップ:ストレージの追加をクリック
ディスクサイズはそのまま8GBでよいので変更なしで、次のステップ:タグの追加をクリック
- タグ名はNameを付与して、値はホスト名と同じ値とし、次のステップ:セキュリティグループの設定をクリック
- セキュリティグループは前回のハンズオンのwebサーバ系のセキュリティグループを選択し、確認と作成をクリック
- 設定値を確認したら、起動をクリックしキーペアを設定後、インスタンスの起動をクリック
- インスタンスの起動を確認
確認
- ターミナルを起動して、インスタンスへログイン
- ホスト名とhttpdがインストールされているか以下のコマンドを実施
コマンド:
uname -n ; yum list installed | grep httpd
実行結果:
[ec2-user@web-sv ~]$ uname -n ; yum list installed | grep httpd web-sv generic-logos-httpd.noarch 18.0.0-4.amzn2 @amzn2-core httpd.x86_64 2.4.46-1.amzn2 @amzn2-core httpd-filesystem.noarch 2.4.46-1.amzn2 @amzn2-core httpd-tools.x86_64 2.4.46-1.amzn2 @amzn2-core [ec2-user@web-sv ~]$
期待値通りの設定を確認できたので問題なしと判断になります。
今回のテーマは以上です。