管理人Kのひとりごと

デジモノレビューやプログラミングや写真など

CloudWatch Agentによるメトリクス取得を停止する

オンプレミスサーバに導入したCloudWatch Agentによるメトリクス取得を停止する方法。

環境

root@euks:~# cat /etc/*release | grep -i name
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_CODENAME=bookworm

コマンド

# 状況確認
root@euks:~# systemctl list-units | grep -i cloudwatch
  amazon-cloudwatch-agent.service                                                                            loaded active     running   Amazon CloudWatch Agent

# CloudWatch Agentサービスを停止する
root@euks:~# systemctl stop amazon-cloudwatch-agent
root@euks:~# systemctl status amazon-cloudwatch-agent
○ amazon-cloudwatch-agent.service - Amazon CloudWatch Agent
     Loaded: loaded (/etc/systemd/system/amazon-cloudwatch-agent.service; enabled; preset: enabled)
     Active: inactive (dead) since Fri 2025-04-11 02:08:30 JST; 19s ago
   Duration: 1w 5d 1h 3min 13.541s
    Process: 2697825 ExecStart=/opt/aws/amazon-cloudwatch-agent/bin/start-amazon-cloudwatch-agent (code=exited, status=0/SUCCESS)
   Main PID: 2697825 (code=exited, status=0/SUCCESS)
        CPU: 2h 34min 10.810s
# 中略
Apr 11 02:08:29 euks systemd[1]: Stopping amazon-cloudwatch-agent.service - Amazon CloudWatch Agent...
Apr 11 02:08:30 euks start-amazon-cloudwatch-agent[2697825]: I! imds retry client will retry 1 times
Apr 11 02:08:30 euks systemd[1]: amazon-cloudwatch-agent.service: Deactivated successfully.
Apr 11 02:08:30 euks systemd[1]: Stopped amazon-cloudwatch-agent.service - Amazon CloudWatch Agent.
Apr 11 02:08:30 euks systemd[1]: amazon-cloudwatch-agent.service: Consumed 2h 34min 10.810s CPU time.

# CloudWatch Agentサービスの自動起動設定解除
root@euks:~# systemctl disable amazon-cloudwatch-agent
Removed "/etc/systemd/system/multi-user.target.wants/amazon-cloudwatch-agent.service".

結果

JST2:08(UTC17:08)頃に停止しており、それ以降のメトリクスが取得されていないことが確認されました

インストール方法

docs.aws.amazon.com

Javaでカレントディレクトリを取得する

Javaで、実行時のカレントパスを取得する

// 実行環境
C:\Users\hoge\java\path_test\class>java -version
openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment Temurin-17.0.9+9 (build 17.0.9+9)
OpenJDK 64-Bit Server VM Temurin-17.0.9+9 (build 17.0.9+9, mixed mode, sharing)

// ディレクトリ構成
C:\Users\hoge\java\path_test>tree /f
C:.
├─class
└─jp
    └─euks
        └─pathtest
                PathTest.java

// ソース
C:\Users\hoge\java\path_test>type jp\euks\pathtest\PathTest.java
package jp.euks.pathtest;

public class PathTest {
    public static void main(String[] args) {
        // java.nio.file.Paths.get(".").toAbsolutePath().toString()でも同じ結果が得られる
        var currentDirectory = System.getProperty("user.dir");
        System.out.println("Current working directory : " + currentDirectory);
    }
}

// コンパイル
C:\Users\hoge\java\path_test>javac jp\euks\pathtest\PathTest.java -d class

// ディレクトリ構成(再)
C:\Users\hoge\java\path_test>tree /f
C:. # パス1
├─class # パス2
│  └─jp
│      └─euks
│          └─pathtest
│                  PathTest.class
│
└─jp
    └─euks
        └─pathtest
                PathTest.java

// パス1で実行
C:\Users\hoge\java\path_test>java -cp .\class jp.euks.pathtest.PathTest
Current working directory : C:\Users\hoge\java\path_test

C:\Users\hoge\java\path_test>cd class

// パス2で実行
C:\Users\hoge\java\path_test\class>java -cp . jp.euks.pathtest.PathTest
Current working directory : C:\Users\hoge\java\path_test\class

1ファイルで複数EC2のスケジュールON/OFFを実現するCloudFormationテンプレート

複数台のEC2をスケジュールでON/OFFできるLambda関数、EventBridgeスケジュールおよび、それらを制御するのに必要なIAMロール、ポリシーを一括作成できるCloudFormationテンプレートです。
EC2をスケジュールON/OFFできるツールとして、Instance Schedulerなどもありますが、なるべくシンプルなものが良かったので自作しました。
aws.amazon.com

  • ソース
  • 使う前に設定すること
  • 使い方
  • 実行成否の確認
  • かかる費用
  • 不要になったら
続きを読む

Route53で独自ドメインを設定してウェブサイトを公開する方法

ドメイン自体はお名前.com(でなくてもOK)で管理しつつ、サブドメインをRoute53で管理したいことがあるかと思います。(ACMでSSL証明書が発行できる、高可用性なDNSが使える、など)
Route53でのサブドメイン管理設定→サブドメインを設定したEC2を公開→ACM証明書発行→ALBを作成してHTTPS通信を実現という流れで記載します。

  • 構成
  • Route53でのサブドメイン管理設定
    • Route53でホストゾーン(ドメイン/サブドメインのDNSレコードを管理するコンテナ)を作成
    • Route53にAレコードを作成し、EC2のパブリックIPアドレスを割り当てて外部からアクセスしてみる
  • ACMでSSL証明書発行
  • ALBを使い、HTTPSかつドメイン名でアクセスできるように設定する
続きを読む

Amplifyホスティングで1枚物のHTMLを配信する

1枚物のHTMLをAmplifyホスティングでサクッと配信した際のメモです。

  • Amplify & Amplifiホスティングとは
  • Amplifyホスティング利用手順
    • 前提
    • 配信対象のHTMLファイル
    • 手順
  • Amplifyホスティングの機能+GitHubを利用して、CI/CDしてみる
    • やりたいこと
    • やってみる(事前設定)
      • 事前設定1. 「dev」ブランチ作成&Amplifyに追加
      • 事前設定2. 「dev」ブランチにbasic認証設定実施
    • CI/CDやってみる
  • 独自ドメインで利用する
  • 感想
  • 参考にしました
続きを読む

ExcelブックをHTMLにエクスポートするExcelVBA

Excelに貼り付けた画像(図形を上にかぶせた状態)を手間なく一括ダウンロードする方法を探していたところ、以下の記事を見つけました。

保存したい画像がたくさんある場合は、Excelファイルを「Webページ形式」で保存しましょう。そうすることでファイル内の画像を一括で保存できます。ただし、この方法で表を画像として保存することはできません。

実際やってみたところ、HTML形式でブックが保存されました。画像も、ブックに貼った通り、図形がかぶされた状態を保っています。また、タブで切り替えられるところも再現されています!
で、これをさらに簡便にできないか、ということでExcelVBAを書きました。「個人用マクロブック」に保存して動かすことを想定しています。