hkane8の技術ブログ

主にIT技術系で調査したこと等を備忘として記載します

【技術やってみた】自己参照URLの整理

内容

前回やってみた自己参照URL

について、Apacheの前段に配置したロードバランサーSSL終端する場合について、動作確認してみた。

 

環境

Windows 11 Pro Insider Preview

Apache httpd 2.4.54

 

以下を1台のPCで確認。

ロードバランサー想定のApache httpd定義

 Listen:444

    ProxyPass:  / http://localhost:81/

 

Apache httpd定義

 Listen:81

 DocumentRoot : D:¥Apache24¥htdocs

    フォルダ構成:

  D:¥Apache24¥htdocs (フォルダ)

          ¥test    (フォルダ)

              ¥index.html  (ファイル)

 

検証

Apache httpd定義

    ServerName :  http://hkane8.local:444

    UseCanonicalName: On

 検証結果

  • https://localhost:444/testにアクセスした時、応答としてHTTPステータスコード301を返され、応答ヘッダーのLocationの通り末尾に/をつけたURLにリダイレクトされたが、Locationには、ServerNameで指定したhttpでアクセスされエラーとなった。

検証2

 Apache httpd定義

    ServerName :  https://hkane8.local:444

    UseCanonicalName: On

 検証結果

確認結果の整理

  • 正常に表示できた検証2の流れを整理してみた。前段のロードバランサーなどでSSL終端している場合は、Apacheにて、ServerNameにhttpsを指定することで自己参照URLをhttpsとできることが確認できた。

以上です。

【技術やってみた】URLの/有無と自己参照URL関連のApache定義(ServerNameとUseCanonicalName)の動作を確認してみた

内容

ブラウザからURLにアクセスする際、パスの末尾にスラッシュありとなしでリダイレクトの発生有無が異なる場合がある。また、Apache httpdの定義により、自己参照URLも変わってくるため、実際にブラウザ(Edge)の開発者ツールを利用して動作検証して確認してみた。

 

環境

Windows 11 Pro Insider Preview

Apache httpd 2.4.54

 

Apache httpd定義

 Listen:81

 DocumentRoot : D:¥Apache24¥htdocs

 

フォルダ構成

 D:¥Apache24¥htdocs (フォルダ)

         ¥test    (フォルダ)

             ¥index.html  (ファイル)

 

検証1

Apache httpd定義

    # ServerName :  (定義なし)

    # UseCanonicalName:(定義なし)

 検証結果

検証2

 Apache httpd定義

    ServerName :  hkane8.local:80 (hkane8.localは、hostsにローカルPCのIPを定義)

    UseCanonicalName: On

 検証結果

検証3

 Apache httpd定義

    ServerName :  https://hkane8.local:443(hkane8.localは、hostsにローカルPCのIPを定義)

    UseCanonicalName: On

 検証結果

 

確認結果の整理

  • URLのパス末尾の/がなくフォルダを指定している場合、301リダイレクトの通信が発生する。
  • UseCanonicalNameをOnにしてServerNameにプロトコルドメイン名、ポート番号を記載すれば、自己参照URLの値を設定できる。

 

以上です。

【AWS】ALBアクセスログ出力先のS3バケットに必要なポリシー設定

2023.3.18時点の情報です。

 

内容

AWSのALB(Application Load Balancer)でアクセスログの出力設定を行う際、出力先となるS3バケットにポリシー設定が必要なので、忘れないように調査結果を残します。

 

必要なS3バケットのポリシー設定

  • 以下の公式ページの「S3 バケットにポリシーをアタッチする」を参照。ポイントは、利用しているアカウントIDではなく、ELBのアカウントIDに対しての許可が必要なことです。

    docs.aws.amazon.com

 

以上です。

【AWS】CloudWatch エージェントでできることを公式ドキュメントで調べた

2023.2.18時点で調べた情報です。

情報は更新、変更されて古くなる可能性があります。

 

内容

AWSのCloudWatch エージェントの設定でできることがログ収集とか監視とかいろいろあるので、公式ドキュメントで調べてみた。

忘れないように自分用のメモとして記載する。

 

設定ファイルの作成

作成方法は2種類。

  1. ウィザード使用して対話形式で設定する 
  2. 手動で作成する

形式はjsonファイル。

設定したらエージェントの再起動が必要。

 

以下の調査時点の公式マニュアル記載を参照。

 

 

定義できること

設定ファイルのセクションは以下の3つがあった。

  • agentセクション

   ウィザードでは作成されない。

   設定できるのは、収集頻度、エージェントログの場所、リージョン指定など全体の設定。

 

  • metricsセクション

   収集と発行のカスタムメトリクス設定。

   cpuやメモリ、ディスクなどリソースの使用状況を収集可能。

   procstatプラグインを利用しプロセスのメトリクス収集ができる。

   プロセスとしては、

             pidファイル

    プロセス名の正規表現

    プロセス起動のコマンドライン正規表現

   の設定が可能。複数設定したら、上記の順で最初の定義が有効になる。

   pid_countがプロセスの数なので、この数を監視すればプロセスの死活監視ができそう。

 

  • logsセクション

   収集するログファイルおよびWindowsイベントログの設定。

   対象にワイルドカード指定可能。

   保持期間指定可能。

   フィルター指定で収集するログ内容の指定も可能。

 

以下の調査時点の公式マニュアル記載を参照。

 

【技術メモ】鍵ファイルを使ったssh実行イメージを整理した

内容

Linux上のシェルを別のサーバからsshでリモート実行するときのイメージを毎回忘れるので、整理して自分用の図としてVSCodeで作成してみた。

 

鍵ファイルの作成イメージのメモ

 

鍵ファイル作成後、リモートシェル実行するイメージのメモ

 

【技術やってみた】AWSのシステム構成図をVSCodeで書いてみた2

内容

VSCode拡張機能AWSのシステム構成図を作成した。

試した際にできなくて気になった以下のことを試してみた。

  • 図を書く全体エリアはどこまで広くかけるのか
  • 図のアイコンの下にEC2などのラベル追加できるのか
  • 図を変更した際、変更点の確認ができるか

 

前提

  • VSCodeをインストールしていること
  • VSCode拡張機能からDraw.io Integrationをインストールしていること
    本記事の内容を試したDraw.io Integrationのバージョンはv1.6.4

 

やってみた手順

 図を書く全体エリアはどこまで広くかけるのか

  1. 右側のダイアグラムタブにて、「用紙サイズ」が設定できる。
    A4やA3の他、カスタムを選択すれば自分でサイズを入力できる。
    下記はカスタムで、30in ×30in としてみた例。図を記載するのに場所が足りないということはなさそう。

 図のアイコンの下にEC2などのラベル追加できるのか

  1. メニューバーの+を押して「テキスト」を選択するとラベルが作成できる。

  2. EC2の下にWebサーバのラベルを追加してみたのが下記。右側の「テキスト」タブで「フォントの色」を指定できる。

図を変更した際、変更点の確認ができるか

  1. 2つのファイルを選択して右クリックで表示されるメニューから「選択項目の比較」をクリックしてみる。構成図のデータは3種類の拡張子で保存できるので1個ずつ試してみた。

  2. drawioファイル。左右に並んで表示された。下記の画面例で表示されているフォーマットパネルなどを×で閉じると、構成図を並べて表示になる。(次に示すpngの比較表示と同じイメージになる。)

  3. pngファイル。各ファイルの図が左右に並んで表示された。

  4. svgファイル。テキストデータなので差分は表示されるけど、何が図の差分かを把握するのは難しそう。

  5. 比較ではないけど、ファイルを選択して右クリックした際、メニューに「タイムラインの表示」というのがあったのでついでに試してみた。

  6. これまでの保存履歴が確認できそう。ワークスペースの編集として過去の保存が表示された。試しに1週間と表示されてるものを選択してみる。

  7. 比較と同じ感じで左右に表示された。左が1週間のラベル追加前、右がラベル追加後の図として表示された。

 

現時点では図の変更点が視覚的に確認できる良い方法が見つかっていないけど、また時間ある時に調べてみよう。

 

 

【技術やってみた】AWSのシステム構成図をVSCodeで書いてみた

内容

AWSなどでシステム構築した際、Excelでシステム全体の構成図を書くのも大変なので、構成図を作成する方法を調べていたら、VSCode拡張機能でdraw.ioというものが提供されていることがわかったのでやってみた。

 

前提

VSCodeをインストールしていること

 

やってみた手順

  1. VSCode拡張機能からDraw.io Integrationをインストールした。

  2. インストール後、適当なフォルダに拡張子を.drawioとしてファイル作成すると以下図が書けそうな表示された。

  3. その他の図形をクリックしてみた。

  4. いろいろな図形候補が表示された。とりあえずAWSの構成を記載してみたいが、AWSが複数あった。記載時点で最新のアイコンと思われるAWS19をチェックして、適用ボタン押下した。

  5. 左側にAWSのアイコンを選択できるグループが高度な設定の下に追加表示された。

  6. 以下、使用できる図のパーツの一部を記載しておく。画像はないが、各アイコンにマウスカーソルをあわせると、何のアイコンか説明が表示された。
    ・矢印線

    ・ユーザー、ディスプレイ、リージョンやVPCなどの枠線

    ・EC2など

    ・インターネットゲートウェイやALBなど

  7. マウスで適当に図形を配置して構成図を作成してみた。

  8. 黒背景が少し見にくかったので、背景色を変えれそうな右側の項目「背景」にチェックをいれると白背景になった。背景色も選択できる模様。

  9. 作成した構成図を保存してみたいので、メニューのファイルからExportを選択した。拡張子は3つ表示された真ん中のpngを選んでみた。



  10. 保存できたpng画像ファイルは以下となった。

 

かなりいい感じに構成図が作成できるようです。

以下は気になるけど未確認なので、別途実施可否含めてまた確認したいと思ってます。

  • 図を書く全体エリアはどこまで広くかけるのか
  • 図のアイコンの下にEC2などのラベル追加できるのか
  • 図を変更した際、変更点の確認ができるか