zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

(AmazonLinux2)syslogが出力されていない

【概要】

AmazonLinux2サーバでsyslogが0byteのままになってた

-rw-------   1 root   root                 0 Nov 11 17:39 cron
-rw-------   1 root   root                 0 Oct 10 03:32 cron-20211017
-rw-------   1 root   root                 0 Oct 17 03:19 cron-20211024
-rw-------   1 root   root                 0 Oct 24 03:23 cron-20211031
-rw-------   1 root   root                 0 Oct 31 03:11 cron-20211107
-rw-------   1 root   root                 0 Nov  7 03:48 maillog
-rw-------   1 root   root                 0 Oct 10 03:32 maillog-20211017
-rw-------   1 root   root                 0 Oct 17 03:19 maillog-20211024
-rw-------   1 root   root                 0 Oct 24 03:23 maillog-20211031
-rw-------   1 root   root                 0 Oct 31 03:11 maillog-20211107
-rw-------   1 root   root                 0 Nov  7 03:48 messages
-rw-------   1 root   root                 0 Oct 10 03:32 messages-20211017
-rw-------   1 root   root                 0 Oct 17 03:19 messages-20211024
-rw-------   1 root   root                 0 Oct 24 03:23 messages-20211031
-rw-------   1 root   root                 0 Oct 31 03:11 messages-20211107
-rw-------   1 root   root                 0 Nov  7 03:48 secure
-rw-------   1 root   root                 0 Oct 10 03:32 secure-20211017
-rw-------   1 root   root                 0 Oct 17 03:19 secure-20211024
-rw-------   1 root   root                 0 Oct 24 03:23 secure-20211031
-rw-------   1 root   root                 0 Oct 31 03:11 secure-20211107

【解決】

qiita.com

こちらによれば
[systemd-journald]→[rsyslogd]→ログファイル、という流れ

プロセス確認

root     12847  0.0  0.0  39304  3140 ?        Ss   17:34   0:00 /usr/lib/systemd/systemd-journald
root     26999  0.0  0.1 303100  7856 ?        Ssl  13:34   0:00 /usr/sbin/rsyslogd -n

となっていればよいが、今回の環境ではsystemd-journaldが落ちていたため、起動

systemctl restart systemd-journald

これでログ出るようになった。
しょうもないことですがしょうもないがゆえに情報がなく結構手間取ったので自分のためにメモ。

Windows11にしたらJAVA版Minecraftが起動しなくなった

【概要】

Windows11にUpgradeしたところ、MinecrafrtランチャーからJAVAMinecraftが起動しなくなった。
起動しない、というか、起動中に死のブルースクリーンを吐いて再起動してしまう。
BSoDには「wcifs.sys」の文字が。
以下の参考動画見て解決。
www.youtube.com

【解決】

JDK17をとってきてインストールし、Minecraftjava設定でインストールされたディレクトリ中の
javaw.exe
を指定してやれば起動する。

【詳細】

1)OracleのサイトからJDK17をとってくる
https://www.oracle.com/java/technologies/downloads/#jdk17-windows
→x64 MSI Installerで。

2)msiファイルをダブルクリックしてインストールする

3)Minecraftのランチャーを起動して
[起動構成の編集]-[JAVAのパスの指定]で上記JDKのインストール先にあるjavaw.exeを指定する

これで起動できるかと。

HEROKU入門メモ

【HEROKUって何?】

結構前から音だけは聞いたことがあるけど何なんだろーなーって思ってた。ちょっと触る機会があったので自分用にメモを残しておきます。
※公式のドキュメント(Heroku Dev Center)が非常に充実しているので公式に行くことをお勧めします。

【参照URL】

本家:https://jp.heroku.com/
ドキュメント:https://devcenter.heroku.com/ja

【Herokuの超概要】

  • Debian/Ubuntu系のPaaS。セールスフォース・ドットコムが買収
  • Ruby on Railsの実行基盤として開始、現在はPHP、Goを含む複数の言語をサポート
  • プラットフォームは「Dyno」と呼ばれるコンテナ上で動作。
  • PaaSなのでミドルのセットアップが不要
  • 外部ツールはアドオンで提供されている。固定IP機能が欲しいな、と思ったらアドオンを追加して有効化、みたいな感じ
  • デプロイはgit pushで行う
  • 継続的デプロイとしてはAutomatic deploysが用意されており、指定したブランチに変更がPushされると自動的にデプロイされる

※発音はヘロクではなくてヒロクらしい

■とりあえずアプリケーションのデプロイ

a)Heroku Gitを使う場合→とりあえずデプロイしたい人向け
b)GitHubからのデプロイを使う場合→継続デプロイ

■a)Heroku Gitを使う場合

1)Herokuのアカウントを登録する

[無料アカウント作成]
→メール「Confirm your account on Heroku」が来るので文中リンクを踏んで承認
何やかや画面を踏んで「Welcome to Heroku」まで進む

2)Heroku CLIをインストールする

https://devcenter.heroku.com/articles/heroku-cli
Windows用のCLIもあるが今回は好みでWSL2(Ubuntu)へ導入する
curl https://cli-assets.heroku.com/install-ubuntu.sh | sh

3)HerokuのCLIにログイン

heroku login→ブラウザ経由でログイン
heroku login -i →コマンドライン上でログイン

4)アプリケーションのデプロイ
# ローカル環境にアプリケーションディレクトリを作成
mkdir /path/to/workdir/GIT/heroku

# サンプルアプリ(java)を取得
git clone 'https://github.com/heroku/java-getting-started.git'
cd java-getting-started/

# デプロイ用のアプリケーション作成
heroku create
または
heroku create アプリ名(ブランクなら適当な名前が付く
→WebUIでも作成可能{create app]だがheroku gitと連携させるのが面倒なので省略

# デプロイ
git push heroku main

→ログに出るURLにアクセスするともう公開されている。すげー。


■b)GitHubを使う場合

1) Heroku用のソースコードを準備

こんどはPHPで。
https://github.com/heroku/php-getting-started
より、右上の「Fork」ボタンをクリックして自分のGitHubリポジトリへコピー

2) Heroku アプリケーションを作成

heroku create phptest2(とかユニークな名前で)

3)GitHub と連携

Deployment methodをGitHubにする
→[Connect to GitHub]でGitHubに接続
→Search for a repository to connect to
リポジトリを指定、[Connect]
→Automatic deploysとManual deploy の欄ができあがれば成功です。

4)手動 deploy

[Manual deploy]
mainブランチであることを確認、Deploy Branch
→View

5)自動Deploy

GitHubの対象のブランチにソースコードが変更され、コミットされたら、自動的にHerokuへDeployする、という機能
Automatic deploysをオンにしてGitHub上のmainブランチを修正したら自動デプロイされた


メモまで。。

CloudFront+ALB+EC2でメンテ表示(許可IPからのアクセスを除く)を用意する

【目的】

  • CloudFront+ALB+EC2で、ALBのルールの上げ下げだけでメンテインしたい
  • 特定IPからのみ、メンテ画面をパスできるようにしたい

【やってみた】

1)CloudFrontのエラーページ設定

エラーコード503に対してs3上に用意したmainte.htmlを返すよう設定する(省略)

2)ALBのルールでX-Forwarded-Forを利用して許可IPを設定

[追加:1]特定IPからのアクセスは本来のTGに流す

IF	HTTPヘッダー:X-Forwarded-For
	xxx.xxx.xxx.xxx(接続元IP)
THEN
	転送先:本来のTG


[追加:2]上記以外は503を返す

IF	パスが	*
THEN	固定レスポンスを返す 503

[追加:3]いつもはこれが最上位にあるようにする、メンテアウト用に用意

IF	パスが	*
THEN	転送先:本来のTG

【備考】

  • この構成では(バックエンドのステータスコードに合わせて)CloudFrontがエラーを返すため、ALBの固定レスポンス本文(text/htmlなど)が使えない。
  • メンテ画面を200で返すことでALBの固定レスポンスを返すことは可能だが、200の場合メンテ中の画面を検索エンジンがインデックスしてしまう可能性があるためNG。
  • 503は「Service Unavailable」であるため、CloudFrontで503の場合のみ、システムエラーではないメンテナンス文言を返すようにすればよい。

リモートデスクトップ中、クライアント側PCのカメラ/マイクでビデオ会議に参加する

【概要】

職場においてあるPC(Win10Pro)にリモートデスクトップしてるとき、そのまま(ローカルのPCからではなくリモートデスクトップ先のPCから)zoomなどのビデオ会議に出る方法が知りたかった

【解決方法概要】

■マイク

リモートデスクトップの[オプションの表示]-[ローカルリソース]-[リモートオーディオ]-[設定]で「このコンピューターから録音する」をONにする

■カメラ

まずRemoteFX USBの有効化を行います、

【手順詳細】

http://htps://docs.microsoft.com/ja-jp/archive/blogs/askcorejp/remotefxusbredirect-settings

■クライアント側
[ローカル グループ ポリシー エディター]
[コンピューターの構成] - [管理用テンプレート] - [Windows コンポーネント] - [リモート デスクトップ サービス] - [リモート デスクトップ接続のクライアント] - [RemoteFX USB デバイス リダイレクト]
"サポートされている他の RemoteFX USB デバイスの、このコンピューターからの RDP リダイレクトを許可する"
設定: 有効

■サーバー側
Windows 10 / Windows Server 2016 を利用している場合、以下のポリシーの既定値が変更されていますので、明示的に "無効" にしていただく必要があります。
[コンピューターの構成] - [管理用テンプレート] - [Windows コンポーネント] - [リモート デスクトップ サービス] - [リモート デスクトップ セッション ホスト] - [デバイスとリソースのリダイレクト]
"サポートされているプラグ アンド プレイ デバイスのリダイレクトを許可しない"
設定: 無効

上記設定後、リモートデスクトップの[オプションの表示]-[ローカルリソース]-[ローカルデバイスとリソース]-[詳細]で「ビデオキャプチャバイス」があればそちらで選択すればよい。

メモまで。

【俺メモ】AWS CLIで複数のIAMを使い分ける

【参考】

https://blog.katsubemakito.net/aws/cli-multi-account
例によってまんまです。すみません。

【メモ】

a)aws configureでプロファイル名を指定して追加する

aws configure --profile hogehoge

AWS Access Key ID [None]: <追加のIAMのアクセスキー>
AWS Secret Access Key [None]: <追加のIAMのシークレットアクセスキー>
Default region name [None]: ap-northeast-1
Default output format [None]: json

b)直接追加する
~/.aws/credentials プロファイルにproject1追記する

[default]
aws_access_key_id = <利用中のdefaultは消さないこと>
aws_secret_access_key = <同上>

[hogehoge]
aws_access_key_id = <追加のIAMのアクセスキー>
aws_secret_access_key = <追加のIAMのシークレットアクセスキー>


~/.aws/config
[profile (プロファイル名)]のように記載する

[default]
region = ap-northeast-1
output = json

[profile hogehoge]
region = ap-northeast-1
output = json


■つかいかた
a)--profileで都度指定
aws s3 ls --profile hogehoge

b)環境変数で指定
export AWS_PROFILE=hogehoge
(念のため確認)aws configure list

など

AWS用terraformerをWSL2のUbuntuで動かしてみた

【環境構築概要】事前作業

■Windows10+WSL2にterrafromを入れて動かす

以下の手順のを進めておく
https://zuntan02.hateblo.jp/entry/2021/05/06/144646

AWS Cliのインストール

【参照】https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-linux.html#cliv2-linux-install

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

aws configureで該当のAWSIAMが設定されている前提で進めます
【メモ】【俺メモ】AWS CLIで複数のIAMを使い分ける - zuntan02のはてなブログ

terraformerインストール

# GitHub上のFrom Releases-Linux の記述(バイナリの取得と配置)を実行

# export PROVIDER={all,google,aws,kubernetes}
export PROVIDER=aws
curl -LO https://github.com/GoogleCloudPlatform/terraformer/releases/download/$(curl -s https://api.github.com/repos/GoogleCloudPlatform/terraformer/releases/latest | grep tag_name | cut -d '"' -f 4)/terraformer-${PROVIDER}-linux-amd64
chmod +x terraformer-${PROVIDER}-linux-amd64
sudo mv terraformer-${PROVIDER}-linux-amd64 /usr/local/bin/terraformer

# バージョン確認
terraformer --version
# version v0.8.16

■動作検証

# 初期設定
続きを読む