DNSレコード登録

Route53ダッシュボードの設定対象ドメインページでCreate recordをクリックし、次の値のレコードを生成してください。

  • Record name: *
  • Record type: A
  • value: EC2インスタンスのPublic IPアドレス

この手順で、エールでデプロイしたサービスに登録されたルートドメインがプレビューURLとして付与されます。

次のコマンドでネームサーバにレコードが反映されたか確認できます。

dig "<レコードに登録したドメイン>"

Cert Managerのインストール

次のコマンドを実行し、Cert Managerをインストールしてください。

helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install \
      cert-manager jetstack/cert-manager \
      --namespace cert-manager \
      --create-namespace \
      --version v1.15.3 \
      --set crds.enabled=true

ClusterIssuer設定とTLS証明書発行

次のコマンドでClusterIssuerとTLS証明書を作成してください。

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
  name: aws-secret-access-key
  namespace: cert-manager
type: Opaque
stringData:
  aws-secret-access-key: $AWS_SECRET_ACCESS_KEY
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: ale-issuer
  namespace: cert-manager
spec:
  acme:
    email: $ACME_EMAIL
    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: ale-issuer
    solvers:
      - http01:
          ingress:
            class: nginx
      - dns01:
          route53:
            region: $AWS_REGION
            hostedZoneID: $AWS_HOSTED_ZONE_ID
            accessKeyID: $AWS_ACCESS_KEY_ID
            secretAccessKeySecretRef:
              name: aws-secret-access-key
              key: aws-secret-access-key
        selector:
          dnsZones:
            - $AWS_DOMAIN
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: ale-app-tls
  namespace: cert-manager
spec:
  dnsNames:
    - "*.$AWS_DOMAIN"
  issuerRef:
    kind: ClusterIssuer
    name: ale-issuer
  secretName: ale-app-tls
EOF

エールでIngress設定

https://app.[ドメイン]にアクセスして、エールで管理者を生成し、インストールを完了してください。

プレビュードメインフィールドには接続したルートドメインを入力します。

左サイドバーのクラスターページ設定タブで、ネットワークセクションに以下の値を入力し、適用をクリックします。

  • プレビュードメイン: 接続したルートドメイン
  • HTTPS使用
    • チェック: インターネット環境
    • チェック解除: イントラネット/閉鎖網環境
  • 証明書シークレット名: ale-app-tls
  • 証明書シークレットネームスペース: cert-manager
  • 証明書発行者: ale-issuer
  • イングレスクラス: nginx
  • ロードバランサータイプ: NodePort

ダッシュボードの左上にあるスペース名をクリックすると、運用システムにアクセスできます。

運用システムメニューは、運用システムへのアクセス権限を持つアカウントにのみ表示されます。

エール利用開始

運用システム左上のBackをクリックするか、https://app.[ドメイン]にアクセスしてエールに接続し、登録完了プロセスを経ると開発者ダッシュボードを使用できます。

ビルドされたイメージの保存先として、AWS ECRなどのマネージドコンテナレジストリを使用できます。コンテナレジストリが接続されていない場合、ローカル環境で稼働中のDockerエンジンでイメージを管理します。

運用システムおよび開発者ダッシュボードの使用法は以下のカードをご参照ください。