Skip to content

AWS

AWS Backup で EC2 インスタンスを自動バックアップする

AWS Backup を使うとユーザ側でスクリプトや専用のバックアップソフトウェアなどを用意することなく、簡単に AWS 上で簡単にバックアップを取得することが出来ます。 今回は AWS Backup を使って「特定のタグを設定された EC2 インスタンスのみ、自動バックアップする」設定方法をメモします。

AWS Route53 のホストゾーンを別 AWS アカウントの Route53 へ移管する

ドメインを別の AWS アカウントに転送する に記載されていますが、Route53 で管理しているドメイン (ホストゾーン) は簡単な操作だけで別の AWS アカウントの Route53 へ移管することが可能です。 今回はこの手順をメモしておきます。

実際に移管する場合、AWS Route53 に限った話ではありませんが、事前に「移管先にホストゾーンを作成しておく」「移管元の TTL を短くしておく」などの考慮は必要です。

Amazon Linux 2023 + Apache + mod_auth_mellon + Entra で SSO を設定する

mod_auth_mellon というモジュールを利用すると Apache でも SAML 認証による SSO を実施出来るようになります。 mod_auth_mellon を利用すると「Web サーバ上のコンテンツやアプリケーションに手を加えずに SSO 化出来る」為、便利です。 今回は Amazon Linux 2023 上で mod_auth_mellon を利用して Entra と SAML 認証し、SSO 出来るようにする手順をメモしておきます。

Amazon Linux 2023 + GitLab で TCP/22 を GitLab 用に設定する

先日、Amazon Linux 2023 へ GitLab をインストールする というメモを書きました。 公式サイトの gitlab-sshd によると Omnibus 版 GitLab の場合、GitLab で SCP 機能を有効化する場合は以下の設定をしろ、という記載があります。

/etc/gitlab/gitlab.rb
gitlab_sshd['enable'] = true
gitlab_sshd['listen_address'] = '[::]:2222' # Adjust the port accordingly

ですが、OS 標準の sshd を TCP/22 以外へ設定し、その代わりに GitLab に TCP/22 を利用させようとしても「GitLab がポートを Listen しない」という事象が起こりました。 この問題を解決するには以下のように capset 実行します。

sudo setcap 'cap_net_bind_service=+ep' /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-sshd

その上で GitLab の設定ファイルである /etc/gitlab/gitlab.rb へ以下のように設定します。

/etc/gitlab/gitlab.rb
gitlab_sshd['enable'] = true
gitlab_sshd['listen_address'] = '0.0.0.0:22'

あとは GitLab を再起動します。

sudo gitlab-ctl reconfigure

これで GitLab が TCP/22 を Listen するようになりました。

Amazon Linux 2023 へ GitLab をインストールする

以前に以下のメモを書きました。

インストール手順は公式サイトの GitLab Self-Managedのインストール に記載されています。 今回は Amazon Linux 2023 へ GitLab をインストールする手順をメモしておきます。

AWS CLI で CloudFront のキャッシュを削除する

awscli から CloudFront のキャッシュ削除 (Create Invalidation) を行うには以下のように実行します。

aws cloudfront create-invalidation --distribution-id ABCD0123456789 --paths "/T*"

これを実行するには IAM で最低限、下記の権限が付与されている必要があります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CFResourceLevelPermission",
      "Effect": "Allow",
      "Action": ["cloudfront:CreateInvalidation"],
      "Resource": "arn:aws:cloudfront::012345678901:distribution/ABCD0123456789"
    }
  ]
}