Skip to content

AWS

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"
    }
  ]
}

AWS CloudFront のオリジンに IP アドレスは指定出来ない

現時点で AWS CloudFront で実際のコンテンツを配信するオリジンには IP アドレスを直接、指定することは出来ません。

file

Distribution settings reference には以下の記載があります。 「直接、IP アドレスを指定することは出来ない」と書かれているわけでは無いようですが、「DNS ドメイン名を指定しろ」という記載には読めます。

The origin domain is the DNS domain name of the resource where CloudFront will get objects for your origin, such as an Amazon S3 bucket or HTTP server. For example:

  • Amazon S3 bucket – amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com