この記事でやること
EC2インスタンス(Ubuntu)にCloudWatch Logsエージェントを導入し、コンソール上でロググループを確認する。
実施手順
- EC2(Ubuntu)インスタンスを用意する(パブリックアクセス有効)
- EC2に適切なIAMロール作成&を割り当てる
- CloudWach Logsエージェントを導入する
- 設定ファイルを確認する
- AWSコンソール上でログ出力を確認する
EC2(Ubuntu)インスタンスの用意
作成環境
まずはEC2インスタンスを用意します。
- VPC:192.168.0.0/16
- サブネット
- パブリックサブネット:192.168.2.0/24
- AMI:Ubuntu Server LTS22.04
- セキュリティグループで22と443を開放しておく
作成成功、SSH接続ができることを確認しました。
IAMロールの作成&割り当て
IAMロールの作成と割り当てを行っていきます。
ロールの作成
- アタッチするポリシー:CloudWatchLogsFullAccess
※本来であれば必要となる権限だけに絞り込むべきなのですが、今回はAWSマネージドポリシーを使用します。
EC2のコンソールから[アクション]→[セキュリティ]→[IAMロールの変更]で作成したロールをアタッチします。
CloudWatch Logsエージェントのインストール
EC2インスタンスにSSH接続し以下コマンドを実行していきます。
$ sudo apt-get update
$ curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
$ sudo apt install python2 ※UbuntuにはPython2がデフォルトでインストールされていないため
$ sudo python2 ./awslogs-agent-setup.py --region ap-northeast-1
Step形式でインストールが進んでいきます。
全部で5Stepありますが、3StepまでEnterでOK。
Step 4 of 5: Configuring the CloudWatch Logs Agent ...
Path of log file to upload [/var/log/syslog]:
Destination Log Group name [/var/log/syslog]:ec2-cwlogs
CloudWatch Logsに送信するログデータとロググループ名を選択できます。
今回はデフォルト選択でいきますが、必要に応じてアプリケーションのログなども出力させることが可能です。
ロググループ名は今回は、cw-logsとしておきます.
Choose Log Stream name:
1. Use EC2 instance id.
2. Use hostname.
3. Custom.
Enter choice [1]:
ログストリーム名をどうするか聞かれます。
Choose Log Event timestamp format:
1. %b %d %H:%M:%S (Dec 31 23:59:59)
2. %d/%b/%Y:%H:%M:%S (10/Oct/2000:13:55:36)
3. %Y-%m-%d %H:%M:%S (2008-09-08 11:52:54)
4. Custom
Enter choice [1]:
ログの出力時間の形式をどうするか聞かれます。
Choose initial position of upload:
1. From start of file.
2. From end of file.
Enter choice [1]: 1
More log files to configure? [Y]:
データファイルのアップロード形式を聞かれます。(すべてのデータファイルか、新しく加えられたもののみか)
新たにログファイルを追加したい場合はY、ない場合はNoと入力しEnterを押下します。
CloudWatch Logsの確認
ではコンソールを確認してみます。
無事CloudWatch Logsにsyslogが転送されていることが確認できました。
参考文献
今回はここまで。ありがとうございました!!