

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 사용자 지정 cloud-init
<a name="cloud-init"></a>

cloud-init 패키지는 클라우드 컴퓨팅 환경에서 Linux 이미지 부트스트랩을 수행하는 오픈 소스 애플리케이션입니다. 자세한 내용은 [cloud-init 설명서](https://cloudinit.readthedocs.io/en/22.2.2/)를 참조하세요.

AL2023에 cloud-init 사용자 지정 버전이 포함되어 있습니다. cloud-init를 사용하면 부팅 시 인스턴스 작업을 지정할 수 있습니다.

인스턴스를 실행 시 사용자-데이터 필드를 통해 cloud-init에 작업이 전달됩니다. 즉, 여러 사용 사례에 공통 Amazon Machine Images (AMIs)를 사용하고 인스턴스 실행 시 이러한 AMI를 동적으로 구성할 수 있습니다. AL2023에서도 cloud-init을 사용하여 `ec2-user` 계정을 구성할 수 있습니다.

AL2023에서 `/etc/cloud/cloud.cfg.d`와 `/etc/cloud/cloud.cfg`의 cloud-init을 사용할 수 있습니다. `/etc/cloud/cloud.cfg.d` 디렉터리에 자체 cloud-init 파일을 만들 수 있습니다. Cloud-init는 이 디렉터리의 모든 파일을 사전순으로 읽습니다. 나중 파일이 이전 파일 값을 덮어씁니다. cloud-init로 인스턴스를 실행하면 cloud-init 패키지는 다음과 같은 구성 작업을 수행합니다.
+ 기본 로케일 설정
+ 호스트 이름 설정
+ 사용자 데이터 파싱 및 처리
+ 호스트 프라이빗 SSH 키 생성
+ 간편한 로그인 및 관리를 위해 사용자 공개 SSH 키를 `.ssh/authorized_keys`에 추가
+ 패키지 관리를 위한 리포지토리 준비
+ 사용자 데이터에 정의된 패키지 작업 처리
+ 사용자 데이터에 있는 사용자 스크립트를 실행
+ 해당하는 경우 인스턴스 스토어 볼륨 마운트
  + 기본적으로 `ephemeral0` 인스턴스 스토어 볼륨이 존재하고 유효한 파일 시스템이 있다면 인스턴스 스토어 볼륨은 `/media/ephemeral0`에 마운트됩니다. 그렇지 않다면 마운트되지 않습니다.
  + `m1.small` 및 `c1.medium` 인스턴스 유형인 경우 인스턴스와 연결된 모든 스왑 볼륨이 마운트됩니다.
  + 다음 cloud-init 명령을 사용하여 기본 인스턴스 스토어 볼륨 마운트를 재정의할 수 있습니다.

    ```
    #cloud-config 
    mounts:
    - [ ephemeral0 ]
    ```

    마운트 관리에 대한 자세한 내용은 cloud-init 설명서의 [마운트](https://cloudinit.readthedocs.io/en/22.2.2/topics/modules.html#mounts)(Mounts)를 참조하세요.
  + 인스턴스를 실행하면 TRIM을 지원하는 인스턴스 스토어 볼륨은 포맷되지 않습니다. 인스턴스 스토어 볼륨을 마운트하려면 먼저 인스턴스 스토어 볼륨의 파티션을 나누고 포맷해야 합니다.

    자세한 내용은 *Amazon EC2 사용 설명서*의 [인스턴스 스토어 볼륨 TRIM 지원](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html#InstanceStoreTrimSupport) 섹션을 참조하세요.
  +  인스턴스 실행 후 `disk_setup` 모듈을 사용하여 인스턴스 스토어 볼륨의 파티션을 나누고 포맷할 수 있습니다.

    자세한 내용은 cloud-init 설명서의 [디스크 설정](https://cloudinit.readthedocs.io/en/22.2.2/topics/modules.html#disk-setup)을 참조하세요.

SELinux에서 cloud-init를 사용하는 방법은 [cloud-init를 사용하여 `enforcing`을 활성화합니다.](enforcing-mode.md#cloud-init-enforcing)를 참조하세요.

cloud-init 사용자 데이터 형식에 대한 자세한 내용은 cloud-init 설명서의 [사용자 데이터 형식](https://cloudinit.readthedocs.io/en/22.2.2/topics/format.html#format)을 참조하세요.