Cover Image

You may need to use an authenticator plugin that can do challenges over DNS.

2023-4-25 読み終える時間: ~1 分

こちらを参考にね https://qiita.com/gbgb-ojisan/items/be8a35270a84b6b7ca2e 手動更新ですよ。

とおもったら何か上手くいかないのでRoute53のプラグインを使うことにした(AWS使っている人限定ということ)

手順

プラグインのインストール

dnf install python3-certbot-dns-route53.noarch

awsクレデンシャル設定

export AWS_ACCESS_KEY_ID=YOURKEY
export AWS_SECRET_ACCESS_KEY=YOURSECRETKEY

更新

certbot certonly --dns-route53 --server https://acme-v02.api.letsencrypt.org/directory --preferred-challenges dns -d *.MY.DOMAIN -d MY.DOMAIN -m MYID@MYMAIL.DOMAIN --agree-tos --manual-public-ip-logging-ok

問題なければ更新は完了する。


今回はここまで



Cover Image

awscliで出力したSecurityGroupRuleをcsvに変換するPowerShellスクリプト

2023-4-20 読み終える時間: ~1 分

aws ec2 describe-security-group-rules > ec2_describe-security-group-rules.json

からの

$sgr = Get-Content .\ec2_describe-security-group-rules.json | ConvertFrom-Json
$sgrlist = @(
  @($sgr.SecurityGroupRules.SecurityGroupRuleId), ###[0]
  @($sgr.SecurityGroupRules.GroupId),             ###[1]
  @($sgr.SecurityGroupRules.IsEgress),            ###[2]
  @($sgr.SecurityGroupRules.IpProtocol),          ###[3]
  @($sgr.SecurityGroupRules.FromPort),            ###[4]
  @($sgr.SecurityGroupRules.ToPort),              ###[5]
  @($sgr.SecurityGroupRules.CidrIpv4),            ###[6]
  @($sgr.SecurityGroupRules.CidrIpv6),            ###[7]
  @($sgr.SecurityGroupRules.Description)          ###[8]
)

### header write
echo "SecurityGroupRuleId,GroupId,IsEgress,IpProtocol,FromPort,ToPort,CidrIpv4,CidrIpv6,Description" | Out-File -Encoding oem -Force .\sgrule-list.csv

for ($i = 0; $i -lt $sgrlist[0].Length; $i++ ) {
  ### Null to N/A
  if ($sgrlist[6][$i] -eq $nul) {$ipv4 = "N/A"}else{$ipv4 = $sgrlist[6][$i]}
  if ($sgrlist[7][$i] -eq $nul) {$ipv6 = "N/A"}else{$ipv6 = $sgrlist[7][$i]}
  if ($sgrlist[8][$i] -eq $nul) {$descr = "N/A"}else{$descr = $sgrlist[8][$i]}
  ### Input csv
  $line = $sgrlist[0][$i] + "," + $sgrlist[1][$i] + "," +  $sgrlist[2][$i] + "," +  $sgrlist[3][$i] + "," +  $sgrlist[4][$i] + "," +  $sgrlist[5][$i] + "," +  $ipv4 + "," +  $ipv6 + "," +  $descr
  $line | Out-File -Encoding oem -Append .\sgrule-list.csv
}

で、ルールだけ消すときはこうする、と

インバウンドの場合

aws --profile addrle ec2 revoke-security-group-ingress --group-id sg-0113793ba0362d9a0 --security-group-rule-ids sgr-0b142f3c7151c1f38

アウトバウンドの場合

aws --profile addrle ec2 revoke-security-group-egress --group-id sg-0113793ba0362d9a0 --security-group-rule-ids sgr-0a391a55503a18e74


今回はここまで



Cover Image

awscliで出力したSubnetのjsonをPowerShellでcsvとして部分出力する

2023-3-30 読み終える時間: ~1 分

や~、けっこう悩んだ。

まずNameタグなんかは1行でスパッと抜き出せなくて、もっといい書き方ないのかな~ってなってる。

とりあえず以下がそのコード。

### aws ec2 describe-subnets で出力したjson読み込み
$subnet = Get-Content .\describe-subnets.json | ConvertFrom-Json
### カウント用に1要素なにか配列にする
$subnetid = @($subnet.Subnets.SubnetId)

### ヘッダーを1行目に記載
$csvheader = "SubnetName," + "SubnetId," + "CidrBlock," + "Ipv6CidrBlock," + "VpcId," + "AvailabilityZone"
$csvheader | Out-File -Force -Encoding oem -FilePath .\subnets.csv

### 中身を入れていく
for ($i = 0; $i -lt $subnetid.Length; $i++) {
  ### Nameタグ取り出し
  $subnettags = $subnet.Subnets | where {$_.SubnetId -eq $subnet.Subnets.SubnetId[$i]}
  $subnetnametag = $subnettags.Tags | where {$_.Key -eq "Name"}
  $subnetnamevalue = $subnetnametag.Value
  ### NameタグがないときはN/Aを入れる
  $subnetname = if ($subnetnamevalue -eq $nul) {"N/A"}else{$subnetnamevalue}

  ### Ipv6も値が空ならN/Aを入れる
  $ipv6cidrblock = $subnet.Subnets | where {$_.SubnetId -eq $subnet.Subnets.SubnetId[$i]}
  $ipv6cidr = $ipv6cidrblock.Ipv6CidrBlockAssociationSet.Ipv6CidrBlock
  $ipv6block = if ($ipv6cidr -eq $nul) {"N/A"}else{$ipv6cidr}

  ### 中身を詰める
  $line = $subnetname + "," + $subnetid[$i] + "," + $subnet.Subnets.CidrBlock[$i] + "," + $ipv6block + "," + $subnet.Subnets.VpcId[$i] + "," + $subnet.Subnets.AvailabilityZone[$i]
  $line | Out-File -Append -Encoding oem -FilePath .\subnets.csv
}

今回はここまで



Cover Image

Can you please walk me through the steps on how to make a profit on a pancake swap?

2023-1-27 読み終える時間: ~1 分

ChatGPTによこしまな質問を投げるやつ。

MetaMaskやTrust Walletなど、Binanceスマートチェーンに対応したウォレットをインストールし、設定します。

ウェブサイト上の「Connect Wallet」ボタンをクリックして、ウォレットをPancakeSwapに接続します。

Binance Smart Chainの取引手数料の支払いに必要なので、Binance Coin(BNB)をいくつか取得します。

PancakeSwapで購入したいトークンを検索し、「Trade」を選択します。

購入したいトークンの金額を入力し、ウォレットを使用して取引を確認します。

トークンの価格が上昇するのを待ち、取引所でトークンを売却して利益を得ます。

利益を個人のウォレットに出金します。

暗号通貨の取引には投資額を失うリスクがあることを念頭に置き、ご自身で調査を行い、失ってもよい額だけを投資することが重要です。


今回はここまで



Cover Image

AlmaLinux 9 にTeraTermでログインできない

2023-1-14 読み終える時間: ~1 分

AWSでAlmaLinux 9のインスタンスを作った時に旧来のrsa keyではTeratermでログインできない

ubuntu 22.04 ssh 公開鍵認証 失敗する ここに書いて有るのと同事象で、rsaが使えなくなっていることが原因らしい。

Windowsに入っているのやwslのsshコマンド、要はopenssh clientを使うとrsaのkeyを使ってもログインできたが、詳しいことはわからない。。。

とりあえずAWS EC2のキーペア作成で「ed25519」を選択するか、ssh-keygen -t ed25519でキーペアを新たに作るべし


今回はここまで



Cover Image

yumに失敗したときのパッケージクリーンナップ

2022-10-10 読み終える時間: ~1 分

Yum clean package and fix duplicate packages

これね。

例えばメモリ不足でyum updateが「killed」とかなると、複数バージョンがインストールされてしまっているままになったりする。

とりあえずメモリ増やすしか対処は思いつかず、AWSならインスタンスタイプをxlargeとかにまず変更する。

package-cleanup --dupes

package-cleanup --cleandupes

こう。


Cover Image

ExcelでWBSもどき

2022-10-4 読み終える時間: ~1 分

こっちにも置いておこう。

ExWBS.zip


2022-10-04



Cover Image

Windows 11 22H2のIMEでID Managerが落ちる

2022-9-29 読み終える時間: ~1 分

愛用しているID/Password管理ソフト、昔ながらのID Manager(IDM.exe)というWindowsアプリケーションがあります。 日本語入力しようと半角/全角キーを押すと、反応がなくなってプロセスが終了してしまいます。

まあ、OSアップデートに古いアプリケーションがついてこれないのは良くあること😭

暫定対策としては、IME設定で「古いIMEを使用する」ことですかね。全体変わってしまいますが😢

2023年2月時点では直ったっぽい?


Cover Image

apt search freeipa on Ubuntu 22.04

2022-8-21 読み終える時間: ~1 分

Sorting... Done
Full Text Search... Done
cockpit-ws/jammy 264-1 arm64
  Cockpit Web Service

freeipa-client/jammy 4.9.8-1 arm64
  FreeIPA centralized identity framework -- client

freeipa-client-epn/jammy 4.9.8-1 arm64
  FreeIPA centralized identity framework -- tools for configuring Expiring Password Notification

freeipa-client-samba/jammy 4.9.8-1 arm64
  FreeIPA centralized identity framework -- Samba client

freeipa-common/jammy 4.9.8-1 all
  FreeIPA centralized identity framework -- common files

freeipa-healthcheck/jammy 0.10-1 all
  Health check tool for FreeIPA

libipa-hbac-dev/jammy-updates 2.6.3-1ubuntu3.1 arm64
  FreeIPA HBAC Evaluator library -- development files

...

あれ、server無くね?

😇


End of §



CloudFormationでRoute53にAAAA登録しようとして悩んだ

2022-8-20 読み終える時間: ~1 分
"Fn::GetAtt" : [ "ENI" , "Ipv6Addresses" ]

これダメなのね。Ipv6AddressesはGetAttの取得対象として定義されていなかった・・・

なので、こうすることに。

        "ResourceRecords" : [ 
          { "Fn::Sub": [
            "${SubnetPart}${InstancePart}",
            {
              "SubnetPart": {
                "Fn::Select": [
                  0,
                  {
                    "Fn::Split": [
                      "01::/64",
                      { "Fn::ImportValue" : { "Fn::Sub" : "stack-01-SubnetA-Ipv6CidrBlock" }}
                    ]
                  }
                ]
              },
              "InstancePart" : "01:0:0:0:112"
            } ]
          }
        ],

【注意】 ※あらかじめSubnetを作成しているスタックで Ipv6CidrBlock をエクスポートしておく

無駄にスゲ~悩んだ😇


今回はここまで



Ubuntu 22.04 ではADのGPOが使えるようになっているらしい

2022-8-10 読み終える時間: ~1 分

曰く、

Windowsクライアントと同様、ADに管理できる機能を伝える第一歩は管理用テンプレートのインポートです。 Windowsと同様、Canonicalはユーザーポリシーとコンピューターポリシーの両方を提供します。これにはActive DirectoryのUbuntu管理用テンプレートからアクセスしてください。GPOルールには、従来どおり有効、無効、未構成の状態があり、その優先順位はデフォルトのActive Directory構造と同じです(すなわちマシンポリシーがユーザーポリシーより優先)。

出展:Ubuntu 22.04の新しいActive Directory統合機能(パート2) – グループポリシーオブジェクト


今回はここまで



このサイト作った時のCloudFormation-JSON

2022-5月-29 読み終える時間: 15 分

このサイトは非常にシンプルな構成で、AWS環境でEC2インスタンス1つにグローバルIPを割りあててそのままインターネットに公開している。

インスタンスタイプはt3a.nanoを使い、これは1hで0.0067USD@東京(月間5USDちょい)という低価格。

しかしオレゴンリージョンであればさらに0.0047USDに下がるという事で、東京リージョンからオレゴンリージョンに移設した。昨日。

東京リージョンで取得したAMIをオレゴンリージョンにコピー。EIPを新たに取得して、下方のCFnコードでスタック作成する。

便宜上jsonファイルは3つに分けている。

  1. alterworks-aws-stack1-vpc.json (無課金部分)
  2. alterworks-aws-stack2-iam.json (無課金グローバル部分)
  3. alterworks-aws-stack3-instance.json (お金かかるやつ)

メンテナンス性は気にしていないが、実際面このシンプル構成だと全部作り直しで障害復旧とかできるので問題なかろう、である。

あとついでにIPv6対応してみた。IPv6設定で非常に有用な参考サイト 【備忘録】CloudFormationで IPv6 対応のVPCとサブネットを作る【CFn】 - サーバーワークス

それぞれのjsonコードが以下のような感じ。(使っていない設定も入っているが、気にしない)

  • alterworks-aws-stack1-vpc.json

続きを読む

MAP-Eだとつながらない

2022-5月-17 読み終える時間: ~1 分

私が使っているインターネットプロバイダーはBIGLOBEさん(BIGLOBE光)なのですが、そこで確認できた端的な事実。

MAP-E設定の際はデフォルトゲートウェイが"192.168.0.1"になっていないとIPv6でしかつながらない

つまり、LAN側のDHCPリース範囲は 192.168.0.0/24 の中しか使えないということ。

そういう仕様なら、教えてくれてもよくない?

と、一日中サポート問い合わせを繰り返して、結果ルーターを買い替えて、初期状態での接続ならつながることが分かって得た知見。

※公式アナウンスが有ったわけではないのでご参考まで。


今回はここまで



awscliへのjsonの渡し方

2022-2-10 読み終える時間: 4 分

ん~、クォーティングが、ががg

とりあえず外部ファイルにして

aws glue update-table --database-name --table-input file://table.json

のように書く。

table.json 例

{
    "Name": "new_table",
    "StorageDescriptor": {
        "Columns": [
            {"Name": "c1", "Type": "int"},
            {"Name": "c2", "Type": "string"},
            {"Name": "c3", "Type": "string"}
        ],
        "Location": "s3://mybucket/db/new_table",
        "InputFormat": "org.apache.hadoop.mapred.TextInputFormat",
        "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat",
        "SerdeInfo": {
            "SerializationLibrary": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe",
            "Parameters": {
                 "separatorChar":","
            }
        }
    },
    "Parameters": {
        "projection.enabled": "true",
        "projection.year.range": "2021,2030",
        "projection.year.type": "integer",
        "projection.month.range": "1,12",
        "projection.month.type": "integer",
        "projection.day.range": "1,31",
        "projection.day.type": "integer"
    },
    "PartitionKeys":[
        {"Name":"year", "Type":"int"},
        {"Name":"month", "Type":"int"},
        {"Name":"day", "Type":"int"}
    ],
    "TableType": "EXTERNAL_TABLE"
}

ようわからんのじゃ🤯


追記

続きを読む

PCの消費電力計算

2021-8-21 読み終える時間: ~1 分

ドスパラさんのこのページ、地味にすごい役立つ

ゲーミングPCの電気代、消費電力についてご紹介

例えば

  • Ryzen 5 3600
  • DDR4 モジュール2枚
  • NVMe SSD 2つ
  • GeForce RTX 2070 1枚
  • FAN 2基

だったら目安の消費電力は 316W ほどになる。なるほどね。

※ATX電源の表示W数が400Wで足りるという話ではない。購入すべき電源の容量は上記の倍くらいが落としどころらしい。


今回はここまで



Powershell csv 配列 格納

2021-8-17 読み終える時間: 2 分

いかんせん説明下手なので申し訳ないが、今回はPowershellでCSVから読み込んだデータについて説明しよう。

import-csv

コマンドレットImport-Csvは文字通りCSVファイルを読み込む際に使う。コマンドオプションなどはヘルプを見て欲しい。

ちなみにコマンドレットの簡易ヘルプはImport-Csv -?で確認できるはず。

読み込ませるCSVにはある程度規則がある。

1行目はヘッダー(インデックス)として使用される。いきなり実データを記載してはいけない。

仮に以下のようなCSVがあるとしよう。

sample.csv

c1,c2,c3
"1行目のc1","1行目のc2","1行目のc3"
"2行目のc1","2行目のc2","2行目のc3"
"3行目のc1","3行目のc2","3行目のc3"

このようなCSVをImport-Csvで読み込んだ場合、以下のように展開することができる。

読み込み:$array_csv = Import-Csv -Path $filepath -Encoding oem -Delimiter ","

  1. 1行目
    1. $array_csv.c1
      1. 変数名の後ろに ドット+インデックス名 を付与することで各行の値を取り出せる(インデックス名はプロパティであるともとれる)
  2. 2行目
    1. $array_csv.c1="1行目のc1" である
    2. これは$array_csv[0].c1="1行目のc1"こう書いた場合と同じである
  3. 3行目
    1. $array_csv[1].c1="2行目のc1" である

基本的には以上。

より詳しいことはMicrosoftのドキュメントを参照してほしい。

参考:Import-Csv (Microsoft.PowerShell.Utility) - PowerShell | Microsoft Docs

参考:配列について知りたかったことのすべて - PowerShell


今日はここまで



HTMLからCSV形式のファイルを出力(書き掛け)

2021-1-21 読み終える時間: 5 分

なんでこうヘタクソなのか(;′⌒`)

  • formでinputした値をCSVというかカンマ区切りでテキストファイルに出力する

続きを読む

PowershellでCSVを読み込んで配列に入れたいんだけどさ

2021-1-9 読み終える時間: 2 分

やってみると難しい

何がしたいかっていうと、AWS EC2で使うボリューム情報をCSVに書いておいて、サイズやデバイス名ごとに配列に入れたいのです。

個人的に今回肝だったのが New-Object System.Collections.ArrayList これと if ( $_ -like "" )

続きを読む

awscliを使ったEC2のInstanceのAMIを取得するスクリプト(bash)

2020-12-31 読み終える時間: 5 分

また不格好なスクリプトを書いてしまった・・・

だいたいの説明

  • awscli V2利用(aws-cli/2.1.15 Python/3.7.3 Linux/4.4.0-19041-Microsoft exe/x86_64.ubuntu.20 prompt/off)
  • awscliのプロファイルとアクセスキーは設定済みとする
  • <インスタンスのNameタグの値>-system-v<N>という名前の付いたAMIを作成する ※<N>は数字
  • <インスタンスのNameタグの値>の中に"-v"という文字列があると失敗するはず
  • 世代管理する(個人的には1世代しか残さないので割と適当な造作)
  • ルートブロックデバイスしかSnapshotを作らない(xvdbとxvdcを決め打ちで除外)
  • Snapshotにもタグ付けする
  • AMI作成時に再起動しない
  • tempファイル作るのが嫌いな向きは使わない方が良いです

大変お世話になりました :https://gist.github.com/magnetikonline/6a382a4c4412bbb68e33e137b9a74168

続きを読む

awscliを使ったEC2のEBSのsnapshotを取得するスクリプト(bash)

2020-12-29 読み終える時間: 3 分

また不細工なスクリプトが出来てしまった・・・

環境

  • wslのubuntuにAWSCLI V2を入れて使う
  • awscliのプロファイルは登録済み(アクセスキーを使用)

続きを読む

CentOS 8 AMI

2020-6-18 読み終える時間: 2 分

CentOS 8.2できとるやん

CentOS

さっそく懸案であったFreeIPAサーバーを建ててみる。

続きを読む

Ubuntu 20.04 のリポジトリにFreeIPA Server無いの?

2020-6-5 読み終える時間: ~1 分
root@idm2:~# aptitude search freeipa
p   freeipa-client                                      - FreeIPA centralized identity framework -- client
p   freeipa-client-samba                                - FreeIPA centralized identity framework -- Samba client
p   freeipa-common                                      - FreeIPA centralized identity framework -- common files

え~~~

続きを読む

AWSのコストがなんか不安 その2

2020-4-15 読み終える時間: 2 分

Cost usage reportを自動取得するスクリプト(Windowsバッチ)

別にWindowsでやる必要はないな。インスタンスのお値段高くなるし。

でも書いた。

続きを読む

AWSのコストがなんか不安

2020-4-14 読み終える時間: 2 分

不安です。なんでDataTransferがUSから?

Cost usage reportを自動取得するスクリプト(bash)

前提

  • S3にアクセスできるユーザーでアクセスキー作成済み
  • アクセスキー設定したawsコマンドのプロファイル作成済み
  • On Amazon Linux 2
  • profile,bucket名,Manifestファイル名 を記載したCSVファイル(仮にcur-get.bash.list)を作成しておく
続きを読む

CloudFormationのJSONコード書きの練習 続

2020-2-12 読み終える時間: 15 分

やっぱクソ長い気がする😂

今回は3分割

  • stack1 VPC周りを作成
  • stack2 TAG付け用のIAMロール作成
  • stack3 インスタンス作成
続きを読む

CloudFormationのJSONコード書きの練習

2020-2-12 読み終える時間: 9 分

非常に長ったらしくなってしまう。どうにかならないものか。。。

続きを読む

なんだか当サイトもGoogle AdSenseの審査に通ったみたいです

2019-12-23 読み終える時間: ~1 分

所感としては、Google AdSense の審査に通るためには、まずSearchConsoleに登録すべきなのでしょうね。

Google Search Consoleで提案されるユーザビリティの向上を丁寧に行っていくことで、Google AdSenseでの審査も通りやすくなるのではないでしょうか。

一度審査に落ちてからやったこと

続きを読む

addrle サーバーOS構築

2019-12-22 読み終える時間: 14 分

Description

AWS 上に メールシステムを構築する。インフラ部分はCloudFormationで作成済みとする この文書は、基本的にはサーバーのOS構築部分の記述である

@MS (mail strage) Construction Procedure

LVM Install

sudo yum -y install lvm2.x86_64
続きを読む


I going to shopping. And buy a note PC. And I will just starting to coding!

2019-12-21 読み終える時間: 2 分

今日、これからの話。

続きを読む

EBS拡張からのxfsファイルシステム拡張

2019-12-15 読み終える時間: ~1 分

@Amazon Linux 2

  • EBSのサイズ拡張は終わっているものとする
続きを読む

expectがわからない

2019-11-9 読み終える時間: 3 分

Linuxのコマンド expect について

たとえばpasswdコマンドやsshログインの際に出てくる入力プロンプトに対して応答を自動的に返してくれるシェルインターフェース。それがexpect。

続きを読む

phpで文字列チェックしてみる

2019-11-4 読み終える時間: 3 分

以下のような条件で入力内容をチェックしたい。

  • a-z,0-9とハイフン”-”が使用でる
  • ハイフンを先頭または最後の文字にはできない
  • 数字のみの文字列は不可
  • 3文字未満の文字列は不可
  • 連続するハイフンは不可
  • 最大32文字
  • POSTされた文字列をチェックする体で
続きを読む

javascriptで文字列チェックしてみる

2019-11-4 読み終える時間: 6 分

以下のような条件で入力内容をチェックしたい。

  • a-z,0-9とハイフン”-”が使用でる
  • ハイフンを先頭または最後の文字にはできない
  • 数字のみの文字列は不可
  • 3文字未満の文字列は不可
  • 連続するハイフンは不可
続きを読む

CNAMEの話

2019-11-3 読み終える時間: ~1 分

CNAMEはその他のレコードと共存できない

らしいです。

続きを読む

Linuxドメイン

2019-11-2 読み終える時間: 29 分

FreeIPAまたはipa-server/ipa-clientとして知られる、Linux環境でID管理を一元化するシステム。それがLinuxドメインです。

Linuxドメインの構築

Amazon Linux 2 にipa-serverを入れてみる(これは失敗する)

続きを読む

【広告】ドメインとDNSの話

2019-11-2 読み終える時間: 4 分

ドメイン取得って、敷居が高いように思っていましたが、実際は結構簡単で、そしてお手頃価格で手に入るのです。

ムームードメインさんに登録してみてそれがわかりました。

ALTERWORKSでは ムームードメイン、ひいてはGMOペパボさん を推していきたい所存。

[AD]格安ドメイン取得サービス─ムームードメイン─

まずはこのサイト自身、alterworks.tokyoを例にとってお話ししましょう。

続きを読む

BluditをAmazon Linux 2で

2019-10-29 読み終える時間: 6 分

軽くメモっておきます。

EC2構成

  • t3a.nano(多分一番単価が安い)
  • ALBを使う(SSL証明書をサーバーに設定するのが面倒だったから)

すると、

続きを読む