Quantcast
Channel: 技術 –サーバーワークスエンジニアブログ
Viewing all articles
Browse latest Browse all 1210

【CloudWatch Logs】ログストリームを作成するCloudFormationテンプレート

$
0
0

こんにちは。サーバーワークスエンジニアの伊藤Kです。

先日、某所で「CloudFormationを制する者はAWSを制す」(意訳)といった趣旨の講演を聞いて以来、CloudFormationが好きになった今日この頃です。
そこで、まずは時々ある「あるサービスのログ蓄積用にCloudWatchにロググループとログストリームを新たに追加する」のを、CloudFormationでやってみます。

CloudWatch Logs のロググループ、ログストリームについて

以下をご参照ください。
Amazon CloudWatch Logs の概念
ロググループとログストリームを操作する

図にしてみます。

CloudFormationテンプレート

こちらです。

AWSTemplateFormatVersion: "2010-09-09"
Description: "LogGroup and Stream"

Parameters:
  ## CloudWatch Parameters
  LogGroupName:
    Type: String
    Description: Enter LogGroupName
  LogStreamName:
    Type: String
    Description: Enter LogStreamName
  RInDays:
    Type: Number
    Description: Enter RetentionInDays

Resources:
  LogG:
    Type: AWS::Logs::LogGroup
    DeletionPolicy: "Delete"
    Properties:
      LogGroupName: !Ref LogGroupName
      RetentionInDays: !Ref RInDays

  LogS:
    Type: AWS::Logs::LogStream
    DeletionPolicy: "Delete"
    Properties:
      LogGroupName: !Ref LogG
      LogStreamName: !Ref LogStreamName

実行コマンド

冒頭に記載した講演では「CloudFormationでの構築はCLIにてやるべし」との教えもあり、膝を打つ思い。
私もCLIで実行します。
クライアント環境がWindowsなので、PowerShellプロンプトからの実行です。
(Cloud9使えよ、というツッコミが入りそうですが、また別の機会に)

aws cloudformation deploy --profile "xxx" --stack-name "logstream-for-XXX" --template-file "make-LogGroup-and-Stream.yml" `
--parameter-overrides `
LogGroupName="WinLogG" `
LogStreamName="WinLogS" `
RInDays=14

1点、注意点として、RetentionInDays(保持期間)は任意の値を設定できるのではなく、
決められた値の中から選ぶ必要があります。

        (文末の「参考記事」サイトより抜粋)

結果

ロググループと、空のログストリームができています。

今回はこの辺で。See you next time.

参考記事(公式リファレンス)

AWS CloudFormation – AWS::Logs::LogGroup
AWS CloudFormation – AWS::Logs::LogStream


Viewing all articles
Browse latest Browse all 1210

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>