6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EC2初期設定

Last updated at Posted at 2018-03-20

初EC2を立てるまで
前回EC2を立てたので、EC2の初期設定を色々やっていきます。

AmazonLinux2の方を使って構築しましたが、基本的にはAmazonLinuxと同様です。
若干違うところもあるので、その辺も記載します。

とにかくアップデートはしときます。

$ sudo yum update -y

#タイムゾーンの変更

$ sudo cp /etc/localtime /etc/localtime.org
$ sudo ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

#ホスト名変更
これはしてもしなくてもいいですが、いつもしてます。

AmazonLinuxの方を利用している方は↓

$ sudo vi /etc/sysconfig/network
HOSTNAME=[任意に書き換え]
$ sudo reboot

AmazonLinux2を利用している方は↓の箇所を丸っと書き換え。

$ sudo vi /etc/hostname 
ip-***-***-***-***.ap-northeast-1.compute.internal
$ sudo reboot
[ec2-user@ip-***-***-***-*** ~]$ hostname
ip-***-***-***-***.ap-northeast-1.compute.internal

ip---***-***の部分が設定すると設定したものに変わります。

#カスタムメトリクス導入
メモリ使用率、ディスク使用率等は、デフォルトのままでは、CloudWatchで監視不可能です。
そこで、カスタムメトリクスを導入して、監視できるようにします。

カスタムメトリクスを実行するユーザに設置してもらえればOKです(ec2-userでなくても良い)。

###必要モジュールインストール

$ sudo yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https perl-Digest-SHA

###カスタムメトリクス ダウンロード

$ mkdir cloudwatch
$ cd cloudwatch/
$ wget http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip
--2018-03-21 00:08:30--  http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip
Resolving aws-cloudwatch.s3.amazonaws.com (aws-cloudwatch.s3.amazonaws.com)... 52.216.0.128
Connecting to aws-cloudwatch.s3.amazonaws.com (aws-cloudwatch.s3.amazonaws.com)|52.216.0.128|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24089 (24K) [application/zip]
Saving to: ‘CloudWatchMonitoringScripts-1.2.1.zip’

100%[==========================================================================================>] 24,089       155KB/s   in 0.2s   

2018-03-21 00:08:31 (155 KB/s) - ‘CloudWatchMonitoringScripts-1.2.1.zip’ saved [24089/24089]

$ unzip CloudWatchMonitoringScripts-1.2.1.zip
Archive:  CloudWatchMonitoringScripts-1.2.1.zip
 extracting: aws-scripts-mon/awscreds.template  
  inflating: aws-scripts-mon/AwsSignatureV4.pm  
  inflating: aws-scripts-mon/CloudWatchClient.pm  
  inflating: aws-scripts-mon/LICENSE.txt  
  inflating: aws-scripts-mon/mon-get-instance-stats.pl  
  inflating: aws-scripts-mon/mon-put-instance-data.pl  
  inflating: aws-scripts-mon/NOTICE.txt  
$ rm CloudWatchMonitoringScripts-1.2.1.zip 
$ ll
total 0
drwxrwxr-x 2 ec2-user ec2-user 185 Mar 21 00:08 aws-scripts-mon 

###credentials設定
AWSアカウント発行時に取得できる「Access key ID」,「Secret access key」を設定します。

$ ll
total 0
drwxrwxr-x 2 ec2-user ec2-user 185 Mar 21 00:08 aws-scripts-mon
$ vi credential
$ cat credential 
AWSAccessKeyId=************
AWSSecretKey=**************
$ chmod 600 credential 
$ ll
total 4
drwxrwxr-x 2 ec2-user ec2-user 185 Mar 21 00:08 aws-scripts-mon
-rw------- 1 ec2-user ec2-user  90 Mar 21 00:14 credential

###実行

$ /home/ec2-user/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --aws-credential-file=/home/ec2-user/cloudwatch/credential

うまくいくと以下のように返ってきます。

[ec2-user@slackbot ~]$ /home/ec2-user/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --aws-credential-file=/home/ec2-user/cloudwatch/credential

Successfully reported metrics to CloudWatch. Reference Id: **********

もし以下のようなエラーがでた場合はIAMユーザの設定を疑ってみてください。

$ /home/ec2-user/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --aws-credential-file=/home/ec2-user/cloudwatch/credential

ERROR: Failed to call CloudWatch: HTTP 400. Message: The security token included in the request is invalid.

For more information, run 'mon-put-instance-data.pl --help'

↓非アクティブになっているとダメです。。ハマりました。
スクリーンショット 2018-03-21 0.52.13.png

↓の状態ならOKです。
スクリーンショット 2018-03-21 0.53.39.png

###cron登録
5分間隔でCloudWatchに登録する設定としました。
注意は、cronに登録するときは、「--from-cron」オプションをつけましょう。

$ crontab -e
crontab: installing new crontab
$ crontab -l
*/5 * * * * /home/ec2-user/cloudwatch/aws-scripts-mon/mon-put-instance-data.pl --mem-util --swap-util --disk-space-util --disk-path=/ --from-cron --aws-credential-file=/home/ec2-user/cloudwatch/credential

###CloudWatch確認
Linuxシステムが追加されます。これを確認して登録されていればOKです。

スクリーンショット 2018-03-21 0.56.22.png

これで設定OKです。
適宜、アラート設定してください。

#aws configure
AWS Cliを使用する際に必要となります。
aws configureで設定したユーザのみ有効となるので、AWS Cliを使用したいユーザがあれば対象ユーザにログインして設定してください。

regionはEC2を建てたリージョンにしてください。

$ aws configure
AWS Access Key ID [None]: **********
AWS Secret Access Key [None]: **********
Default region name [None]: ap-northeast-1
Default output format [None]: json 
$ aws ec2 describe-instances 

が動けば設定OKです。

以上です。

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?