> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ale.run/llms.txt
> Use this file to discover all available pages before exploring further.

# 인그레스 구성과 ale 접속

## DNS 레코드 등록

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/setup/ec2/images/04_21.png" />
</Frame>

> Route53 대시보드의 설정 대상 도메인 페이지에서 `Create record`를 클릭하고 다음과 같은 값의 레코드를 생성하세요.

* **레코드 이름**: \*
* **레코드 유형**: A
* **값**: EC2 인스턴스의 Public IP 주소

<Info>
  이 과정을 통해 대시보드에서 배포한 서비스에 레코드가 등록된 루트 도메인이 프리뷰 URL로 부여됩니다.
</Info>

<Note>
  다음의 명령어로 네임서버에 레코드가 반영되었는지 확인할 수 있습니다.
</Note>

```bash theme={null}
dig "<레코드로 등록한 도메인>"
```

## Cert Manager 설치

> 다음의 명령어를 실행해 **Cert Manager**를 설치하세요.

```bash theme={null}
helm repo add jetstack https://charts.jetstack.io
helm repo update
```

```bash theme={null}
helm install \
      cert-manager jetstack/cert-manager \
      --namespace cert-manager \
      --create-namespace \
      --version v1.15.3 \
      --set crds.enabled=true
```

## ClusterIssuer 설정 및 TLS 인증서 발급

> 다음의 명령어로 인증서 발급기 및 TLS 인증서를 생성합니다.

```bash theme={null}
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
```

## ale에서 Ingress 설정

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/setup/ec2/images/en/04_22.png" />
</Frame>

> `https://app.[도메인]`으로 `ale`에 접속한 후 관리자를 생성하고 설치를 완료해주세요.

<Note>
  프리뷰 도메인 필드에는 연결한 루트 도메인을 입력합니다.
</Note>

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/setup/ec2/images/04_23.png" />
</Frame>

> 최초 접속화면은 운영시스템의 설정메뉴입니다. 운영시스템 좌측 사이드바 클러스터 메뉴의 설정탭에서 네트워크 항목에 아래의 값을 입력하고 `적용하기`를 클릭하세요.

* **프리뷰 도메인**: 연결한 루트 도메인
* **HTTPS 사용**
  * **체크**: 인터넷 환경
  * **체크 해제**: 인트라넷/폐쇄망 환경
* **인증서 시크릿 이름**: ale-app-tls
* **인증서 시크릿 네임스페이스**: cert-manager
* **인증서 발급기**: ale-issuer
* **인그레스 클래스**: nginx
* **로드밸런서 유형**: NodePort

<Info>
  대시보드 좌측 상단의 스페이스 이름을 클릭한 후 운영시스템을 선택하면 운영시스템에 접속할 수 있습니다.

  <Frame>
    <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/setup/ec2/images/04_24.png" />
  </Frame>
</Info>

<Note>
  운영시스템 메뉴는, 운영시스템 접속권한을 부여받은 계정에서만 표시됩니다.
</Note>

## ale 대시보드 접속

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/setup/ec2/images/04_25.png" />
</Frame>

> 운영시스템 좌측 상단의 `Back`을 클릭하거나, `https://app.[도메인]`으로 `ale`에 접속해 가입 완료하기 과정을 거치면 개발자 대시보드를 사용할 수 있습니다.

<Tip>
  [빌드된 이미지의 저장소로 AWS ECR 등 관리형 컨테이너 레지스트리를 사용할 수 있습니다.](/ko/registry/aws-ecr) 컨테이너 레지스트리를 연결하지 않은 경우, 로컬환경에서 실행 중인 도커 엔진에서 이미지를 관리합니다.
</Tip>

<Info>
  운영시스템 및 개발자 대시보드의 사용법은 아래의 카드를 참고하세요.
</Info>

<CardGroup cols={2}>
  <Card title="운영시스템 가이드" icon="gear" href="/ko/operations/user-management" horizontal />

  <Card title="개발자 가이드" icon="code" href="/ko/developers/deploy" horizontal />
</CardGroup>
