Blueskyでユーザ名を独自ドメインにしてみた

2023.07.04

はい、どーも!CX事業本部の吉田です。

今回はBlueskyにて、ユーザ名を自分が保有するドメインに変える方法を紹介します。

Blueskyってなんぞ?

Twitterのように一箇所で管理されるのではなく、ネット上に点在する複数のサーバがお互いにデータを共有することで、ネットワークとして機能する「分散型SNS」です。

同じような分散型SNSとしては、Mastodonなどもありましたね。最近ではMisskeyなども話題です。

また分散型ではないですが、facebookやinstagramを擁するMeta社はThreadsというサービスを近日リリースするようです。

まさにポストTwitterを巡って、仁義なき戦いが繰り広げられている状況です。

どのSNSが今後メジャーになって生き残るかは、まだまだわからない状況です。ですが、ひとまずTwitterからの避難先としてBlueskyもいいのではないでしょうか?

Blueskyのユーザ名

少し前置きが長くなりましたが、早速ユーザ名を独自ドメインに変更してみましょう。

デフォルトではユーザIDは [ユーザ名].bsky.social というものになっています。

自分は zephiransas.com というドメインをAWSのRoute53で管理していましたので、ユーザIDをこれに変更にします。

まずはBlueskyの自分のアカウントから Settings -> Change handle とすすみ、以下の画面からI have my own domainを選択します。

次の画面で Enter the domain you want to use には自分のドメイン名(自分のケースではzephiransas.com)を入力します。

次はRoute53にて、上記で指示されたTXTレコードを登録することで、該当のドメインを自分が所有していることをBlueskyで検証できるようにします。

AWSマネージメントコンソールからでも実施できますが、ここではawscliでやってみます。

まずは

$ aws route53 list-hosted-zones

などから、対象ドメインのIDを取得します。上記コマンドでは /hostedzone/が付いていますが、以降はこれを省いた値を使用します。

次に、Blueskyの画面にあるようにRoute53にTXTレコードを追加したいので、以下のようなjsonファイルを作成します。

jsonファイル中のValueの値は、サンプルのように2重にダブルクオートで囲まないと、InvalidCharacterStringで怒られるので注意です。

{
  "Changes": [
    {
      "Action": "UPSERT",
      "ResourceRecordSet": {
        "Name": "_atproto.[自分のドメインに変更]",
        "Type": "TXT",
        "TTL": 300,
        "ResourceRecords": [
          {
            "Value": "\"[didで始まる値に変更]\""
          }
        ]  
      }
    }
  ]
}

その後上記のjsonを使ってawscliから以下のようにしてTXTレコードを登録します。

aws route53 change-resource-record-sets --hosted-zone-id [ドメインのZoneID] \
--change-batch file://[jsonへのパス]

登録されていればAWSマネージメントコンソールからも以下のように出ているはずです。

正しく登録されているのを確認したら、先程のBlueskyの画面から Verify DNS Record をクリックするだけです。

今回はRoute53でやりましたが、それ以外でドメイン管理している場合でも、ほぼ同様の手順でできると思います。