RubyでAWS Route53にレコードを追加/削除する方法

Aws ruby version3 での話です。CLIはjsonを作らないといけなそうですが、rubyだとそこが必要ないので楽。UPSERTはドキュメントによると無ければCREATE、あればUPDATEとのこと。 またactionにDELETEを指定することでレコードを削除できる。

client = Aws::Route53::Client.new(region: "ap-northeast-1")
resp = client.change_resource_record_sets({
  change_batch: {
    changes: [
      {
        action: "UPSERT", 
        resource_record_set: {
          name: "xxx.example.com", 
          resource_records: [
            {
              value: "192.0.2.44", 
            }, 
          ], 
          ttl: 60, 
          type: "A", 
        }, 
      }, 
    ], 
    comment: "Web server for example.com", 
  }, 
  hosted_zone_id: "YOUR_HOST_ZONE", 
})

[Ubuntu]古いバージョンのdockerのインストール方法

ある機能が現バージョンは動かなかったりで、昔のdockerをインストールすることがあった。 パッケージレポを設定して、apt-cache policyでイントールできるバージョンを確認して、現行のをアンインストールして、該当パッケージを入れるだけ。

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
sudo apt-get update
# to show package list that can be installed
sudo apt-cache policy docker-ce
# delete current one
sudo apt-get purge docker-ce -y
sudo apt-get install -y docker-ce=17.06.2~ce-0~ubuntu

AWS Load Balancer(ALB)経由だとコネクションが切れる問題を解決する

ALBにはタイムアウトが設定されており、デフォルトでは60秒でwebsocket経由のアプリなどはがんがん再接続が起きてしまう。単純にこれを変更すれば良い。1-4000秒の値を設定できる。

Web UIからLoad Balancer、該当Load BalancerのDescriptionの下のeditを編集すればよい。

Crostini(Ubuntu)でping/nslookupを使う

Crostiniというより、Ubuntuなのですが、nslookupがなくて名前解決できなくて辛い。 hostコマンドを使うところなんだろうけど、気づけばnslookupを打ってるのでやはり欲しい。

dnsutilsというパッケージに入っているので、これを入れるだけ。

あとpingは普通に使うでしょってことでこれもapt-getで。

$ sudo apt-get install dnsutils
$ sudo apt-get install iputils-ping