

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

# 에서 AL2023 사용 AWS
<a name="aws"></a>

다른 AWS 서비스와 함께 사용하도록 AL2023을 설정할 수 있습니다. 예를 들어 [Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/)(Amazon EC2) 인스턴스를 실행할 때 AL2023 AMI를 선택할 수 있습니다.

이러한 설정 절차에서는 AWS Identity and Access Management (IAM) 서비스를 사용합니다. IAM에 대한 자세한 내용은 다음 참조 자료를 참조하세요.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/iam/)
+ [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/)

**Topics**
+ [시작하기 AWS](#getting-started-aws)
+ [Amazon EC2 AL2023](ec2.md)
+ [컨테이너에서 AL2023 사용](container.md)
+ [AWS Elastic Beanstalk의 AL2023](beanstalk.md)
+ [AWS CloudShell에서 AL2023 사용](cloudshell.md)
+ [AL2023 기반 Amazon ECS AMI를 사용하여 컨테이너화된 워크로드 호스팅](ecs.md)
+ [AL2023에서 Amazon Elastic File System 사용](efs.md)
+ [AL2023에서 Amazon EMR 사용](emr.md)
+ [에서 AL2023 사용 AWS Lambda](lambda.md)

## 시작하기 AWS
<a name="getting-started-aws"></a>

### 에 가입 AWS 계정
<a name="sign-up-for-aws"></a>

이 없는 경우 다음 단계를 AWS 계정완료하여 생성합니다.

**에 가입하려면 AWS 계정**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)을 엽니다.

1. 온라인 지시 사항을 따르세요.

   등록 절차 중 전화 또는 텍스트 메시지를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.

   에 가입하면 AWS 계정*AWS 계정 루트 사용자*이 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 [루트 사용자 액세스 권한이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)을 수행하는 것입니다.

AWS 는 가입 프로세스가 완료된 후 확인 이메일을 보냅니다. 언제든지 [https://aws.amazon.com/](https://aws.amazon.com/)으로 이동하고 **내 계정**을 선택하여 현재 계정 활동을 확인하고 계정을 관리할 수 있습니다.

### 관리자 액세스 권한이 있는 사용자 생성
<a name="create-an-admin"></a>

에 가입한 후 일상적인 작업에 루트 사용자를 사용하지 않도록 관리 사용자를 AWS 계정보호 AWS IAM Identity Center, AWS 계정 루트 사용자활성화 및 생성합니다.

**보안 AWS 계정 루트 사용자**

1.  **루트 사용자를** 선택하고 AWS 계정 이메일 주소를 입력하여 계정 소유자[AWS Management Console](https://console.aws.amazon.com/)로에 로그인합니다. 다음 페이지에서 비밀번호를 입력합니다.

   루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 *AWS Sign-In 사용 설명서*의 [루트 사용자로 로그인](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)을 참조하세요.

1. 루트 사용자의 다중 인증(MFA)을 활성화합니다.

   지침은 *IAM 사용 설명서*의 [AWS 계정 루트 사용자(콘솔)에 대한 가상 MFA 디바이스 활성화를 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html).

**관리자 액세스 권한이 있는 사용자 생성**

1. IAM Identity Center를 활성화합니다.

   지침은 *AWS IAM Identity Center 사용 설명서*의 [AWS IAM Identity Center설정](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)을 참조하세요.

1. IAM Identity Center에서 사용자에게 관리 액세스 권한을 부여합니다.

   를 자격 증명 소스 IAM Identity Center 디렉터리 로 사용하는 방법에 대한 자습서는 사용 *AWS IAM Identity Center 설명서*[의 기본값으로 사용자 액세스 구성을 IAM Identity Center 디렉터리](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) 참조하세요.

**관리 액세스 권한이 있는 사용자로 로그인**
+ IAM IDentity Center 사용자로 로그인하려면 IAM Identity Center 사용자를 생성할 때 이메일 주소로 전송된 로그인 URL을 사용합니다.

  IAM Identity Center 사용자를 사용하여 로그인하는 데 도움이 필요하면 *AWS Sign-In 사용 설명서*[의 AWS 액세스 포털에 로그인](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)을 참조하세요.

**추가 사용자에게 액세스 권한 할당**

1. IAM Identity Center에서 최소 권한 적용 모범 사례를 따르는 권한 세트를 생성합니다.

   지침은 *AWS IAM Identity Center 사용 설명서*의 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)를 참조하세요.

1. 사용자를 그룹에 할당하고, 그룹에 Single Sign-On 액세스 권한을 할당합니다.

   지침은 *AWS IAM Identity Center 사용 설명서*의 [그룹 추가](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)를 참조하세요.

### 프로그래밍 방식 액세스 권한 부여
<a name="install-aws-prereq.programmatic-access"></a>

사용자는 AWS 외부에서와 상호 작용하려는 경우 프로그래밍 방식으로 액세스해야 합니다 AWS Management Console. 프로그래밍 방식 액세스를 부여하는 방법은에 액세스하는 사용자 유형에 따라 다릅니다 AWS.

사용자에게 프로그래밍 방식 액세스 권한을 부여하려면 다음 옵션 중 하나를 선택합니다.


****  

| 프로그래밍 방식 액세스가 필요한 사용자 | 목적 | 방법 | 
| --- | --- | --- | 
| IAM | (권장) 콘솔 자격 증명을 임시 자격 증명으로 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/linux/al2023/ug/aws.html)  | 
|  작업 인력 ID (IAM Identity Center에서 관리되는 사용자)  | 임시 자격 증명을 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/linux/al2023/ug/aws.html)  | 
| IAM | 임시 자격 증명을 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. | IAM 사용 설명서의 [AWS 리소스에서 임시 자격 증명 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)의 지침을 따릅니다. | 
| IAM | (권장되지 않음)장기 자격 증명을 사용하여 AWS CLI, AWS SDKs 또는 AWS APIs. |  사용하고자 하는 인터페이스에 대한 지침을 따릅니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/linux/al2023/ug/aws.html)  | 

# Amazon EC2 AL2023
<a name="ec2"></a>

다음 절차 중 하나를 사용하여 AL2023 AMI로 Amazon EC2 인스턴스를 시작합니다. 표준 AMI 또는 미니멀 AMI를 선택합니다. 표준 AMI와 미니멀 AMI 차이에 대한 자세한 내용은 [AL2023 표준(기본) AMI와 미니멀 AMI 비교](AMI-minimal-and-standard-differences.md)을 참조하세요.

**Topics**
+ [Amazon EC2 콘솔에서 AL2023 시작](#launch-from-ec2-console)
+ [SSM 파라미터 및를 사용하여 AL2023 시작 AWS CLI](#launch-via-aws-cli)
+ [를 사용하여 최신 AL2023 AMI 시작 CloudFormation](#launch-from-cloudformation)
+ [특정 AMI ID로 AL2023 실행](#launch-by-ami-id)
+ [AL2023 AMI 사용 중단 및 수명 주기](#ami-deprecation)
+ [AL2023 인스턴스에 연결](connecting-to-instances.md)
+ [AL2023 표준 AMI와 최소 AMI 비교](AMI-minimal-and-standard-differences.md)

## Amazon EC2 콘솔에서 AL2023 시작
<a name="launch-from-ec2-console"></a>

Amazon EC2 콘솔에서 AL2023 AMI를 시작합니다.

**참고**  
ARM 기반 인스턴스에서 AL2023은 Graviton2 이상 프로세서를 사용하는 인스턴스 유형만 지원합니다. AL2023은 A1 인스턴스를 지원하지 않습니다.

다음 단계를 거쳐 Amazon EC2 콘솔의 AL2023 AMI로 Amazon EC2 인스턴스를 시작합니다.

**AL2023 AMI로 EC2 인스턴스를 시작하는 방법**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **AMI**를 선택합니다.

1. 드롭다운 메뉴에서 **공개 이미지**(Public images)를 선택합니다.

1. 검색 필드에 **al2023-ami**를 입력합니다.
**참고**  
**소유자 별칭**에 **amazon**이 표시되는지 확인하세요.

1. 목록에서 이미지를 선택합니다. **소스**에서 AMI가 표준인지 미니멀인지 확인할 수 있습니다. AL2023 AMI 이름은 다음 형식으로 해석할 수 있습니다.

   `'al2023-[ami || ami-minimal]-2023.0.[release build date].[build number]-kernel-[version number]-[arm64 || x86_64]'`

1. 다음 이미지는 AL2023 AMI 일부 목록입니다.  
![\[소스 아래에 있는 AL2023 AMI 목록.\]](http://docs.aws.amazon.com/ko_kr/linux/al2023/ug/images/launch-instance.png)

Amazon EC2 인스턴스를 시작하는 방법에 대한 내용은 *Amazon EC2 사용 설명서*의 [Amazon EC2 Linux 인스턴스 시작](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) 섹션을 참조하세요.

## SSM 파라미터 및를 사용하여 AL2023 시작 AWS CLI
<a name="launch-via-aws-cli"></a>

에서 AMI의 SSM 파라미터 값을 사용하여 AL2023의 새 인스턴스를 시작할 AWS CLI수 있습니다. 구체적으로 설명하면, 다음 목록의 동적 SSM 파라미터 값 중 하나를 SSM 파라미터 `/aws/service/ami-amazon-linux-latest/` 값/ 앞에 넣으세요. 이렇게 하면 AWS CLI인스턴스를 시작할 수 있습니다.
+ arm64 아키텍처 `al2023-ami-kernel-default-arm64`
+ arm64 아키텍처 (미니멀 AMI) `al2023-ami-minimal-kernel-default-arm64`
+ x86\$164 아키텍처 `al2023-ami-kernel-default-x86_64`
+ x86\$164 아키텍처 (미니멀 AMI) `al2023-ami-minimal-kernel-default-x86_64`

**참고**  
*이탤릭체* 항목은 예제 파라미터입니다. 이를 사용자의 정보로 대체합니다.

```
$ aws ec2 run-instances \
  --image-id \
    resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64 \
  --instance-type m5.xlarge \
  --region us-east-1 \
  --key-name aws-key-us-east-1 \
  --security-group-ids sg-004a7650
```

`--image-id` 플래그가 SSM 파라미터의 값을 지정합니다.

`--instance-type` 플래그는 인스턴스의 유형과 크기를 지정합니다. 이 플래그는 선택한 AMI 유형과 호환되어야 합니다.

`--region` 플래그는 인스턴스를 생성하는 AWS 리전 를 지정합니다.

`--key-name` 플래그는 인스턴스에 연결하는 데 사용되는 AWS 리전키를 지정합니다. 인스턴스를 만든 리전에 있는 키를 사용하지 않으면 SSH를 사용하여 인스턴스에 연결할 수 없습니다.

`--security-group-ids` 플래그는 인바운드 및 아웃바운드 네트워크 트래픽에 대한 액세스 권한을 결정하는 보안 그룹을 지정합니다.

**중요**  
에서는 포트를 통해 원격 시스템에서 인스턴스에 액세스할 수 있는 기존 보안 그룹을 지정 AWS CLI 해야 합니다TCP:22. 지정된 보안 그룹이 없으면 새 인스턴스는 기본 보안 그룹에 배치됩니다. 기본 보안 그룹의 인스턴스는 VPC 내의 다른 인스턴스만 연결할 수 있습니다.

자세한 내용을 알아보려면 *AWS Command Line Interface 사용 설명서*의 [Amazon EC2 인스턴스 시작, 목록 작성 및 종료](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-ec2-instances.html)를 참조하세요.

## 를 사용하여 최신 AL2023 AMI 시작 CloudFormation
<a name="launch-from-cloudformation"></a>

를 사용하여 AL2023 AMI를 시작하려면 다음 템플릿 중 하나를 CloudFormation사용합니다.

**참고**  
`x86_64` 및 `Arm64` AMI는 각각 다른 인스턴스 유형이 필요합니다. 자세한 내용은 [Amazon EC2 인스턴스 유형](https://aws.amazon.com/ec2/instance-types/)을 참조하세요.

`JSON` 템플릿:

```
{
  "Parameters": {
    "LatestAmiId": {
      "Type": "AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>",
      "Default": "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64"
    }
  },
  "Resources": {
    "MyEC2Instance": {
      "Type": "AWS::EC2::Instance",
      "Properties": {
        "InstanceType": "t2.large",
        "ImageId": {
          "Ref": "LatestAmiId"
        }
      }
    }
  }
}
```

`YAML` 템플릿:

```
Parameters:
  LatestAmiId:
    Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
    Default: '/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64'

Resources:
  Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      InstanceType: 't2.large'
      ImageId: !Ref LatestAmiId
```

필요한 경우 “Default” 섹션 마지막에 있는 AMI 파라미터를 교체하세요. 다음과 같은 파라미터 값을 사용할 수 있습니다.
+ arm64 아키텍처 `al2023-ami-kernel-6.1-arm64`
+ arm64 아키텍처 (미니멀 AMI) `al2023-ami-minimal-kernel-6.1-arm64`
+ x86\$164 아키텍처 `al2023-ami-kernel-6.1-x86_64`
+ x86\$164 아키텍처 (미니멀 AMI) `al2023-ami-minimal-kernel-6.1-x86_64`

다음은 동적 커널 사양입니다. 기본 커널 버전은 주요 커널 버전이 업데이트될 때마다 자동으로 변경됩니다.
+ arm64 아키텍처 `al2023-ami-kernel-default-arm64`
+ arm64 아키텍처 (미니멀 AMI) `al2023-ami-minimal-kernel-default-arm64`
+ x86\$164 아키텍처 `al2023-ami-kernel-default-x86_64`
+ x86\$164 아키텍처 (미니멀 AMI) `al2023-ami-minimal-kernel-default-x86_64`

## 특정 AMI ID로 AL2023 실행
<a name="launch-by-ami-id"></a>

AMI ID를 사용하여 특정 AL2023 AMI를 시작할 수 있습니다. Amazon EC2 콘솔의 AMI 목록을 보고 어떤 AL2023 AMI ID가 필요한지 확인할 수 있습니다. 또는를 사용할 수 있습니다 AWS Systems Manager. Systems Manager를 사용하는 경우 이전 섹션에 나온 AMI 별칭 중에서 선택하세요. 자세한 내용은 [AWS Systems Manager Parameter Store를 사용하여 최신 Amazon Linux AMI IDs](https://aws.amazon.com/blogs/compute/query-for-the-latest-amazon-linux-ami-ids-using-aws-systems-manager-parameter-store/).

## AL2023 AMI 사용 중단 및 수명 주기
<a name="ami-deprecation"></a>

새 AL2023 릴리스에는 새 AMI가 포함됩니다. AMI를 등록하면 지원 중단 날짜가 표시됩니다. AL2023 AMI 지원 중단일은 각 개별 커널 릴리스의 [AL2023의 커널 라이브 패치](live-patching.md) 기간과 일치하는 출시된 시점으로부터 90일입니다.

**참고**  
90일 개별 AMI 지원 중단을 의미하며 AL2023 [릴리스 케이던스](release-cadence.md) 또는 제품 지원 기간을 의미하지는 않습니다.

AMI의 지원 중단에 대한 자세한 내용은 *Amazon EC2 사용 설명서*에서 [AMI 지원 중단](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-deprecate.html) 섹션을 참조하세요.

업데이트된 AMI를 정기적으로 사용하여 인스턴스를 시작하면 업데이트된 커널을 포함한 최신 보안으로 업데이트된 인스턴스를 시작할 수 있습니다. 구 AMI 버전을 실행하여 업데이트한다면 인스턴스에 최신 보안 업데이트가 적용되지 않는 기간이 있습니다. 최신 AMI를 사용 중인지 확인하려면 SSM 파라미터를 사용하는 것이 좋습니다.

SSM 파라미터를 사용하여 인스턴스를 시작하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [SSM 파라미터 및를 사용하여 AL2023 시작 AWS CLI](#launch-via-aws-cli)
+ [를 사용하여 최신 AL2023 AMI 시작 CloudFormation](#launch-from-cloudformation)

# AL2023 인스턴스에 연결
<a name="connecting-to-instances"></a>

SSH 또는 AWS Systems Manager 를 사용하여 AL2023 인스턴스에 연결합니다.

**SSH를 사용하여 인스턴스에 연결**  
SSH를 사용하여 인스턴스에 연결하는 방법에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [SSH를 사용하여 Linux 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) 섹션을 참조하세요.

**를 사용하여 인스턴스에 연결 AWS Systems Manager**  
를 사용하여 AL2023 인스턴스에 AWS Systems Manager 연결하는 방법에 대한 지침은 *Amazon EC2 사용 설명서*의 [세션 관리자를 사용하여 Linux 인스턴스에 연결을 참조하세요](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/session-manager.html).

**Amazon EC2 Instance Connect 사용**  
AL2023 AMI(최소 AMI 제외)에는 EC2 인스턴스 연결 에이전트가 기본적으로 설치되어 있습니다. 최소 AMI에서 실행된 AL2023 인스턴스 EC2 인스턴스 연결을 사용하려면 `ec2-instance-connect` 패키지를 설치해야 합니다. EC2 인스턴스 연결 사용에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [EC2 인스턴스 연결을 사용하여 Linux 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-eic.html) 섹션을 참조하세요.

# AL2023 표준 AMI와 최소 AMI 비교
<a name="AMI-minimal-and-standard-differences"></a>

표준(기본값) 또는 최소 AL2023 AMI를 사용하여 Amazon EC2 인스턴스를 시작할 수 있습니다. 표준 또는 최소 AMI 유형의 Amazon EC2 인스턴스를 시작하는 방법에 대한 지침은 [Amazon EC2 AL2023](ec2.md) 섹션을 참조하세요. 

표준 AL2023 AMI는 가장 일반적으로 사용되는 애플리케이션 및 도구와 함께 설치됩니다. 빠르게 시작하고 싶어서 AMI 사용자 지정을 사용하지 않는다면 표준 AMI를 사용하는 것이 좋습니다.

최소 AL2023 AMI는 운영 체제(OS)를 실행하는 데 필요한 가장 기본적인 도구와 유틸리티만 포함한 약식 기본 버전입니다. OS 설치 공간을 최대한 줄이려면 미니멀 AMI를 사용하는 것이 좋습니다. 미니멀 AMI로 디스크 공간 사용률을 조금 줄이고 장기적인 비용 효율성을 향상시킬 수 있습니다. 크기가 작은 OS를 사용하고 도구와 애플리케이션을 수동으로 설치해도 좋다면 미니멀 AMI가 적합합니다.

컨테이너 이미지는 AL2023 미니멀 AMI 패키지 세트에 더 가깝습니다.

# Amazon Linux 2023 Images에 설치된 패키지 비교
<a name="image-comparison"></a>

AL2023 AMI, 최소 AMI 및 컨테이너 이미지에 있는 RPM 간의 비교입니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/linux/al2023/ug/image-comparison.html)

# 컨테이너에서 AL2023 사용
<a name="container"></a>

**참고**  
 Amazon ECS에서 AL2023으로 컨테이너 워크로드를 호스팅하는 방법에 대한 자세한 내용은 [AL2023 Amazon ECS 컨테이너 호스트](ecs.md) 섹션을 참조하세요.

 사용 사례에 따라 컨테이너 내에서 AL2023을 사용할 수 있는 몇 가지 방법이 있습니다. [AL2023 기본 컨테이너 이미지](base-container.md)는 Amazon Linux 2 컨테이너 이미지와 AL2023 최소 AMI와 가장 유사합니다.

 고급 사용자에게는 [기본 컨테이너](barebones-containers.md)를 빌드하는 방법을 설명하는 설명서와 함께 AL2023.2 릴리스에 도입된 최소 컨테이너 이미지를 제공합니다.

 AL2023에서도 AL2023 기반 컨테이너 이미지 또는 Linux 배포판 기반 컨테이너 등 컨테이너 워크로드를 호스팅할 수 있습니다. [AL2023 Amazon ECS 컨테이너 호스트](ecs.md) 또는 설치된 컨테이너 런타임 패키지를 사용할 수 있습니다. `docker`, `containerd`, 및 `nerdctl` 패키지를 AL2023에 설치하고 사용할 수 있습니다.

**Topics**
+ [AL2023 기본 컨테이너 이미지 사용](base-container.md)
+ [AL2023 최소 컨테이너 이미지](minimal-container.md)
+ [기본 AL2023 컨테이너 이미지 빌드](barebones-containers.md)
+ [Amazon Linux 2023 컨테이너 이미지에 설치된 패키지 비교](al2023-container-image-types.md)
+ [Amazon Linux 2023 미니멀 AMI와 컨테이너 이미지에 설치된 패키지 비교](al2023-container-ami.md)

# AL2023 기본 컨테이너 이미지 사용
<a name="base-container"></a>

AL2023 컨테이너 이미지는 AL2023 AMI에 포함된 동일한 소프트웨어 구성 요소로부터 빌드됩니다. 이는 Docker 워크로드의 기본 이미지로 어느 환경에나 사용할 수 있습니다. [Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/) Amazon EC2) 애플리케이션에 Amazon Linux AMI를 이미 사용하고 있는 경우, Amazon Linux 컨테이너 이미지를 사용하여 애플리케이션을 컨테이너화할 수 있습니다.

로컬 개발 환경에서 Amazon Linux 컨테이너 이미지를 사용한 다음 Amazon Elastic Container Service(Amazon ECS)를 AWS 사용하여 애플리케이션을 로 푸시합니다. [https://docs.aws.amazon.com/AmazonECS/latest/userguide/](https://docs.aws.amazon.com/AmazonECS/latest/userguide/) 자세한 정보는 *Amazon Elastic Container Registry 사용 설명서*의 [Amazon ECS에서 Amazon ECR 이미지 사용](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_ECS.html)을 참조하세요.

Amazon Linux 컨테이너 이미지는 Amazon ECR Public에서 사용할 수 있습니다. 지정된 AWS 대리인을 통해 또는 GitHub의 amazon-linux-2023 리포지토리에 문제를 제출하여 AL2023에 대한 피드백을 제공할 수 있습니다. [https://github.com/amazonlinux/amazon-linux-2023/issues](https://github.com/amazonlinux/amazon-linux-2023/issues) 

****Amazon ECR Public에서 Amazon Linux 컨테이너 이미지를 가져오려면****

1. Docker 클라이언트를 Amazon Linux Public 레지스트리에 인증합니다. 인증 토큰은 12시간 동안 유효합니다. 자세한 내용은 *Amazon Elastic Container Registry 사용 설명서*의 [프라이빗 레지스트리 권한](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html)을 참조하세요.
**참고**  
**get-login-password** 명령은 최신 버전의 AWS CLI 버전 2를 사용하여 지원됩니다. 자세한 내용은 *AWS Command Line Interface 사용 설명서*에서 [AWS Command Line Interface설치](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

   ```
   $ aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws
   ```

   출력값은 다음과 같습니다.

   ```
   Login succeeded
   ```

1. **docker pull** 명령을 실행하여 Amazon Linux 컨테이너 이미지를 가져옵니다. Amazon ECR Public Gallery에서 Amazon Linux 컨테이너 이미지를 보려면 [Amazon ECR Public Gallery - amazonlinux](https://gallery.ecr.aws/amazonlinux/amazonlinux)를 참조하세요.
**참고**  
AL2023 Docker 컨테이너 이미지를 가져올 때 다음 형식 중 하나로 태그를 사용할 수 있습니다.  
최신 AL2023 컨테이너 이미지 버전을 다운로드하려면 `:2023` 태그를 사용하세요.
다음 형식으로 AL2023 특정 버전을 다운로드하세요.  
`:2023.[0-7 release quarter].[release date].[build number]`
다음은 `:2023` 태그를 사용하여 가장 최근의 AL2023 컨테이너 이미지를 가져오는 예시입니다.

   ```
   $ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023
   ```

1. (선택 사항) 로컬에서 컨테이너를 실행합니다.

   ```
   $ docker run -it --security-opt seccomp=unconfined public.ecr.aws/amazonlinux/amazonlinux:2023 /bin/bash
   ```

**Docker Hub에서 AL2023 컨테이너 이미지를 가져오려면**

1. **docker pull** 명령을 사용하여 AL2023 컨테이너 이미지를 가져옵니다.

   ```
   $ docker pull amazonlinux:2023
   ```

1. (선택 사항) 로컬에서 컨테이너를 실행합니다.

   ```
   $ docker run -it amazonlinux:2023 /bin/bash
   ```
**참고**  
AL2023 컨테이너 이미지는 `dnf` 패키지 관리자로만 소프트웨어 패키지를 설치할 수 있습니다. 즉, 다른 소프트웨어에 사용할 수 있는 `amazon-linux-extras` 명령이나 이와 비슷한 명령이 없습니다.

# AL2023 최소 컨테이너 이미지
<a name="minimal-container"></a>

**참고**  
 표준 AL2023 컨테이너 이미지는 대부분의 사용 사례에 적합하며, 최소 컨테이너 이미지에 맞추는 것이 AL2023 기본 컨테이너 이미지에 맞추는 것보다 번거롭습니다.

 AL2023.2에 도입된 AL2023 최소 컨테이너 이미지는 다른 패키지를 설치하는 데 필요한 최소 패키지만 포함한다는 점에서 기본 컨테이너 이미지와 다릅니다. 최소 컨테이너 이미지는 편리한 패키지 세트가 아닌 최소 패키지 세트로 설계되었습니다.

 AL2023 미니멀 컨테이너 이미지는 AL2023에 이미 설치된 소프트웨어 구성 요소를 기반으로 구축되었습니다. 최소 컨테이너 이미지의 주요 차이점은 `microdnf`를 사용하여 완전한 기능을 갖춘 Python 기반의 `dnf`가 아닌 `dnf` 패키지 관리자를 제공하는 것입니다. 이를 통해 AL2023 AMI 및 기본 컨테이너 이미지에 포함된 `dnf` 패키지 관리자의 전체 기능 세트가 없다는 단점이 있지만, 최소 컨테이너 이미지를 더 작게 만들 수 있습니다.

 AL2023 최소 컨테이너 이미지는 `provided.al2023` AWS Lambda 런타임 환경의 기반을 형성합니다.

 최소 컨테이너 이미지에 포함된 패키지의 자세한 목록은 [Amazon Linux 2023 컨테이너 이미지에 설치된 패키지 비교](al2023-container-image-types.md) 섹션을 참조하세요.

## 미니멀 컨테이너 이미지 사이즈
<a name="container-minimal-size"></a>

 AL2023 최소 컨테이너 이미지는 AL2023 기본 컨테이너 이미지보다 패키지 수가 적기 때문에 크기도 훨씬 작습니다. 아래 표는 Amazon Linux의 현재 및 이전 릴리스의 컨테이너 이미지 옵션을 비교한 것입니다.

**참고**  
 이미지 크기는 [Amazon Linux Amazon ECR 퍼블릭 갤러리](https://gallery.ecr.aws/amazonlinux/amazonlinux)에 있는 것과 같습니다.


| 이미지 | 버전 | 이미지 크기 | Note | 
| --- | --- | --- | --- | 
| Amazon Linux 1(AL1) | 2018년 3월 0일 2023년 9월 18일 | 62.3MB | x86-64 전용 | 
| Amazon Linux 2 | 2.0.20230926.0 | 64.2MB | aarch64은 x86-64보다 1.6MB 큽니다.  | 
| Amazon Linux 기본 컨테이너 이미지 | 2023년 2월 23일1002.0 | 52.4MB |  | 
| Amazon Linux 2023 미니멀 컨테이너 이미지 | 2023.2.20231002.0-미니멀 | 35.2MB |  | 

## AL2023 미니멀 컨테이너 이미지 사용
<a name="using-container-minimal"></a>

 ECR에서 AL2023 최소 컨테이너 이미지를 사용할 수 있으며 `2023-minimal` 태그는 항상 최신 AL2023 기반 최소 컨테이너 이미지를 의미하지만, `minimal` 태그는 AL2023 이후에 출시된 최신 Amazon Linux 버전으로 업데이트될 수 있습니다.

 다음 예제와 함께 `docker`를 사용하여 이러한 태그를 가져올 수 있습니다.

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:minimal
```

```
$ docker pull public.ecr.aws/amazonlinux/amazonlinux:2023-minimal
```

다음은 최소 컨테이너 이미지를 가져와 GCC를 설치하는 `Dockerfile`의 예제입니다.

```
FROM public.ecr.aws/amazonlinux/amazonlinux:2023-minimal
RUN dnf install -y gcc && dnf clean all
```

# 기본 AL2023 컨테이너 이미지 빌드
<a name="barebones-containers"></a>

AL2023 컨테이너 이미지는 AL2023 AMI에 포함된 동일한 소프트웨어 구성 요소로부터 빌드됩니다. 여기에는 기본 컨테이너 계층이 Amazon EC2 인스턴스(예: 패키지 관리자 `dnf`)에서 실행되는 것과 유사하게 작동할 수 있게 하는 소프트웨어가 포함되어 있습니다. 이 섹션에서는 애플리케이션에 대한 최소한의 종속성만 포함하는 컨테이너를 처음부터 구성하는 방법을 설명합니다.

**참고**  
표준 AL2023 컨테이너 이미지는 대부분의 사용 사례에 적합합니다. 표준 컨테이너 이미지를 사용하면 이미지 위에 쉽게 빌드할 수 있습니다. 기본 컨테이너 이미지를 사용하면 이미지 위에 빌드하기 더 어렵습니다.

**애플리케이션에 대한 종속성을 최소화한 컨테이너를 만들려면**

1. 런타임 종속 항목을 확인하세요. 이는 애플리케이션에 따라 다릅니다.

1. `FROM scratch`을 빌드하는 `Dockerfile` / `Containerfile`를 구성하세요. 다음 `Dockerfile` 예제를 사용하여 `bash` 쉘과 그 종속성만 포함하는 컨테이너를 빌드할 수 있습니다.

   ```
   FROM public.ecr.aws/amazonlinux/amazonlinux:2023 as build
   RUN mkdir /sysroot
   RUN dnf --releasever=$(rpm -q system-release --qf '%{VERSION}') \
     --installroot /sysroot \
     -y \
     --setopt=install_weak_deps=False \
     install bash
   
   FROM scratch
   COPY --from=build /sysroot /
   WORKDIR /
   ENTRYPOINT ["/bin/bash"]
   ```

   1. `Dockerfile`은 다음과 같은 방법으로 실행합니다.

     1.  `build`라는 이름의 AL2023 컨테이너를 실행합니다. 이 컨테이너는 기본 컨테이너를 부트스트랩하는 데 사용되며, 자체 배포되지 않고 배포할 컨테이너를 생성합니다.

     1.  `/sysroot` 디렉터리 생성 이 디렉터리에서 `build` 컨테이너가 기본 컨테이너에 필요한 종속성을 설치합니다. 다음 단계는 `/sysroot` 경로가 기본 이미지의 루트 디렉터리가 되도록 패키징됩니다.

         이 방식으로 `--installroot` 옵션을 `dnf`로 사용하면 다른 AL2023 이미지가 만들어집니다. `dnf` 기능으로 설치 프로그램과 이미지 생성 도구를 사용할 수 있습니다.

     1.  `dnf`를 호출하여 `/sysroot`에 패키지를 설치합니다.

         이 `rpm -q system-release --qf '%{VERSION}'` 명령은 `system-release` 패키지를 쿼리(`-q`)하고 쿼리 형식(`--qf`)을 설정하여 쿼리되는 패키지 버전(`%{VERSION}` 변수는 `RPM` 버전의 `rpm` 변수)을 출력합니다. 

         `build` 컨테이너에서 `system-release` 버전의 `--releasever` 인수를 `dnf`로 설정하면 업데이트된 Amazon Linux 컨테이너 기본 이미지가 릴리스될 때마다 `Dockerfile`을 사용하여 기본 컨테이너를 다시 빌드할 수 있습니다.

         를 2023.10.20260325과 같은 `--releasever` Amazon Linux 2023 버전으로 설정할 수 있습니다. 이렇게 하면 `build` 컨테이너가 최신 AL2023 버전으로 실행되지만 현재 AL2023 릴리스와 관계없이 2023.10.20260325에서 베어본 컨테이너를 빌드합니다.

         `--setopt=install_weak_deps=False` 구성 옵션으로 권장하거나 권장되는 종속성이 아닌 *필수* 종속성만 `dnf`에 설치할 수 있습니다.

     1. 설치된 시스템을 빈 (`FROM scratch`) 컨테이너의 루트에 복사합니다.

     1. `/bin/bash` 경우 `ENTRYPOINT`를 원하는 바이너리로 설정합니다.

1. 빈 디렉터리를 만들고 2단계의 예제 내용을 `Dockerfile` 파일에 추가합니다.

   ```
   $ mkdir al2023-barebones-bash-example
   	$ cd al2023-barebones-bash-example
   	$ cat > Dockerfile <<EOF
   FROM public.ecr.aws/amazonlinux/amazonlinux:2023 as build
   RUN mkdir /sysroot
   RUN dnf --releasever=$(rpm -q system-release --qf '%{VERSION}') \
     --installroot /sysroot \
     -y \
     --setopt=install_weak_deps=False \
     install bash && dnf --installroot /sysroot clean all
   
   FROM scratch
   COPY --from=build /sysroot /
   WORKDIR /
   ENTRYPOINT ["/bin/bash"]
   EOF
   ```

1. 다음 명령을 실행하여 컨테이너를 빌드합니다.

   ```
   $ docker build -t al2023-barebones-bash-example
   ```

1. 다음 명령으로 컨테이너를 실행하면 `bash` 전용 컨테이너가 얼마나 작은지 알 수 있습니다.

   ```
   $ docker run -it --rm al2023-barebones-bash-example
   bash-5.2# rpm
   bash: rpm: command not found
   bash-5.2# du -sh /usr/
   bash: du: command not found
   bash-5.2# ls
   bash: ls: command not found
   bash-5.2# echo /bin/*
   /bin/alias /bin/bash /bin/bashbug /bin/bashbug-64 /bin/bg /bin/catchsegv /bin/cd /bin/command /bin/fc /bin/fg /bin/gencat /bin/getconf /bin/getent /bin/getopts /bin/hash /bin/iconv /bin/jobs /bin/ld.so /bin/ldd /bin/locale /bin/localedef /bin/pldd /bin/read /bin/sh /bin/sotruss /bin/sprof /bin/type /bin/tzselect /bin/ulimit /bin/umask /bin/unalias /bin/wait /bin/zdump
   ```

좀 더 실용적인 예를 들면, 다음 방법으로 `Hello World!`를 표시하는 C 응용 프로그램 컨테이너를 빌드합니다.

1. 빈 디렉터리를 만들고 C 소스 코드 및 `Dockerfile`을 추가합니다.

   ```
   $ mkdir al2023-barebones-c-hello-world-example
   $ cd al2023-barebones-c-hello-world-example
   $ cat > hello-world.c <<EOF
   #include <stdio.h>
   int main(void)
   {
     printf("Hello World!\n");
     return 0;
   }
   EOF
   
   $ cat > Dockerfile <<EOF
   FROM public.ecr.aws/amazonlinux/amazonlinux:2023 as build
   COPY hello-world.c /
   RUN dnf -y install gcc
   RUN gcc -o hello-world hello-world.c
   RUN mkdir /sysroot
   RUN mv hello-world /sysroot/
   RUN dnf --releasever=$(rpm -q system-release --qf '%{VERSION}') \
     --installroot /sysroot \
     -y \
     --setopt=install_weak_deps=False \
     install glibc && dnf --installroot /sysroot clean all
   
   FROM scratch
   COPY --from=build /sysroot /
   WORKDIR /
   ENTRYPOINT ["/hello-world"]
   EOF
   ```

1. 다음 명령을 실행하여 컨테이너를 빌드합니다.

   ```
   $ docker build -t al2023-barebones-c-hello-world-example .
   ```

1. 다음 명령을 실행하여 컨테이너를 실행합니다.

   ```
   $ docker run -it --rm al2023-barebones-c-hello-world-example
   Hello World!
   ```

# Amazon Linux 2023 컨테이너 이미지에 설치된 패키지 비교
<a name="al2023-container-image-types"></a>

AL2023 기본 컨테이너 이미지에 있는 RPM과 AL2023 최소 컨테이너 이미지에 있는 RPM 간의 비교입니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/linux/al2023/ug/al2023-container-image-types.html)

# Amazon Linux 2023 미니멀 AMI와 컨테이너 이미지에 설치된 패키지 비교
<a name="al2023-container-ami"></a>

AL2023 최소 AMI에 있는 RPM과 AL2023 기본 및 최소 컨테이너 이미지에 있는 RPM 간의 비교입니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/linux/al2023/ug/al2023-container-ami.html)

# AWS Elastic Beanstalk의 AL2023
<a name="beanstalk"></a>

 AWS Elastic Beanstalk은 웹 애플리케이션 및 서비스를 배포하고 확장하는 서비스입니다. 코드를 업로드하면 Elastic Beanstalk가 용량 프로비저닝, 로드 밸런싱, Auto Scaling부터 애플리케이션 상태 모니터링에 이르기까지 자동으로 배포합니다. 자세한 내용은 [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/)를 참조하세요.

 Elastic Beanstalk를 사용하려면 애플리케이션을 생성하고, 애플리케이션 소스 번들 포맷(예: Java .war 파일)으로 애플리케이션 버전을 업로드한 다음, 애플리케이션에 대한 몇 가지 정보를 입력합니다. Elastic Beanstalk로 환경을 실행한 다음 코드 실행에 필요한 AWS 리소스를 생성하고 구성합니다. 자세한 내용은 [AWS Elastic Beanstalk 개발자 안내서](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html)를 참조하세요.

 Amazon EC2 인스턴스에서 Elastic Beanstalk Linux 플랫폼이 실행되며며 이 인스턴스는 Amazon Linux에서 실행됩니다. 2023년 8월 4일 현재, Elastic Beanstalk는 Amazon Linux 2023 기반에서 Docker, Tomcat, Java SE, Node.js, PHP 및 Python 등의 플랫폼 브랜치를 지원합니다. Elastic Beanstalk는 앞으로 더 많은 Elastic Beanstalk 플랫폼에 AL2023을 지원하기 위해 노력하고 있습니다.

 Elastic Beanstalk 플랫폼 지원 및 AL2023에 구축된 현재 플랫폼의 전체 목록은 [https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome)의 [Elastic Beanstalk 리눅스 플랫폼](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux.html) 섹션에서 확인할 수 있습니다.

 최신 Elastic Beanstalk 플랫폼 및 기존 플랫폼 버전에 대한 릴리스 노트는 [Elastic Beanstalk 릴리스 노트](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/relnotes.html)에 있습니다.

# AWS CloudShell에서 AL2023 사용
<a name="cloudshell"></a>

 AWS CloudShell은 브라우저 기반의 사전 인증된 쉘로, AWS Management Console에서 바로 시작할 수 있습니다. AWS Management Console에서 CloudShell로 이동하는 몇 가지 방법이 있습니다. 자세한 내용은 [AWS CloudShell 시작하는 방법](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html#how-to-get-started)을 참조하세요.

 현재 Amazon Linux 2 기반인 AWS CloudShell을 AL2023으로 마이그레이션합니다. 전체 AWS 리전에서 AL2023으로의 마이그레이션은 2023년 12월 4일부터 전면 시행될 예정입니다. AL2023으로 마이그레이션하는 CloudShell에 대한 자세한 내용은 [Amazon Linux 2에서 Amazon Linux 2023으로 AWS CloudShell 마이그레이션하기](https://docs.aws.amazon.com/cloudshell/latest/userguide/cloudshell-AL2023-migration.html)을 참조하세요.

# AL2023 기반 Amazon ECS AMI를 사용하여 컨테이너화된 워크로드 호스팅
<a name="ecs"></a>

**참고**  
 컨테이너에서 AL2023을 사용하는 방법에 대한 자세한 내용은 [AL2023 컨테이너](container.md) 섹션을 참조하세요.

 Amazon Elastic Container Service(Amazon ECS)는 컨테이너 애플리케이션을 쉽게 배포, 관리 및 확대할 수 있도록 도와주는 완전 관리형 컨테이너 오케스트레이션 서비스입니다. 완전 관리형 서비스인 Amazon ECS에는 AWS 구성과 운영 모범 사례가 내장되어 있습니다. AWS 및 Amazon Elastic Container Registry(Amazon ECR), Docker 등의 서드 파티 도구와도 통합됩니다. 이러한 통합을 통해 환경이 아닌 애플리케이션 구축에 더욱 집중할 수 있습니다. 컨트롤 플레인을 관리하는 복잡한 과정 없이 클라우드의 AWS 리전에서 컨테이너 워크로드를 실행하고 확장할 수 있습니다.

AL2023 기반 Amazon ECS 최적화 AMI를 사용하면 AL2023에서 컨테이너 워크로드를 호스팅할 수 있습니다. 자세한 내용은 [Amazon ECS 최적화 AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 섹션을 참조하세요.

## AL2와 비교한 AL2023 Amazon ECS 변경 사항
<a name="ecs-al2-changes"></a>

 AL2와 함께, AL2023은 Amazon ECS Linux 인스턴스로 실행하는 데 필요한 기본 패키지를 제공합니다. AL2에서 `amazon-linux-extras`를 통해 `containerd`, `docker` 및 `ecs-init` 패키지를 사용할 수 있었지만 AL2023에는 이러한 패키지가 Core 리포지토리에 포함되어 있습니다.

 버전이 지정된 리포지토리 기능으로 결정적 업그레이드 기능을 사용하면 모든 AL2023 AMI는 특정 리포지토리 버전에서만 사용할 수 있게 됩니다. 이는 AL2023 Amazon ECS 최적화 AMI에서도 마찬가지입니다. 환경에 대한 모든 업데이트를 배포 전에 주의 깊게 관리하고 테스트할 수 있을 뿐만 아니라 문제 발생 시 이전 AMI 콘텐츠로 쉽게 되돌릴 수 있습니다. 이 AL2023 기능에 대한 자세한 내용은 [AL2023에서 버전 관리 리포지토리를 통한 결정적 업그레이드](deterministic-upgrades.md)를 참조하세요.

 AL2023 버전은 AL2에서 지원되는 cgroup v1 인터페이스를 통해 cgroup v2로 전환됩니다. 자세한 내용은 [통합 제어 그룹 계층 구조 (cgroup v2)](cgroupv2.md) 섹션을 참조하세요.

**참고**  
 [2023.2.20230920](https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.2.20230920.html) 이전 AL2023 버전(첫 번째 AL2023.2 릴리스)에는 cgroup 내에서 메모리 부족(OOM) 처리를 위한 `systemd`에 버그가 포함되어 있습니다. cgroup의 모든 프로세스는 OOM 킬러가 한 번에 하나의 프로세스를 선택하는 대신 항상 종료되었으며, 이는 의도한 동작입니다.  
 이는 AL2 동작과 달리 회귀 현상이었으며, AL2023 2023.2.20230920 릴리스를 기준으로 수정되었습니다.

 Amazon ECS 최적화 AMI를 빌드하는 코드는 [amazon-ecs-ami GitHub 프로젝트](https://github.com/aws/amazon-ecs-ami)에서 확인할 수 있습니다. [릴리스 노트](https://github.com/aws/amazon-ecs-ami/releases)에서는 어떤 AL2023 버전이 어떤 Amazon ECS AMI 버전에 매핑되는지 설명합니다.

## AL2023 Amazon ECS에 최적화된 AMI 사용자 지정
<a name="custom-ecs-amis"></a>

**중요**  
 Amazon ECS 최적화 AL2023 AMI 사용을 권장합니다. 자세한 내용은 *Amazon Elastic Container Service 개발자 안내서*의 [Amazon ECS 최적화 AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 섹션을 참조하세요.

 Amazon ECS에서 사용자 지정 AMI를 생성할 때 사용하는 것과 동일한 빌드 스크립트를 사용할 수 있습니다. 자세한 내용은 [Amazon ECS 최적화 Linux AMI 빌드 스크립트](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-build-scripts.html) 섹션을 참조하세요.

# AL2023에서 Amazon Elastic File System 사용
<a name="efs"></a>

Amazon Elastic File System(Amazon EFS)은 완전히 탄력적인 서버리스 파일 스토리지를 제공하므로 스토리지 용량과 성능을 프로비저닝하거나 관리하지 않고도 파일 데이터를 공유할 수 있습니다. Amazon EFS는 애플리케이션을 중단하지 않고 페타바이트급까지 온디맨드 규모로 확장할 수 있도록 구축되었으며 파일을 추가하고 제거할 때 확장 및 축소됩니다. Amazon EFS에는 간단한 웹 서비스 인터페이스가 있으므로 파일 시스템을 빠르고 쉽게 생성하고 구성할 수 있습니다. 모든 파일 스토리지 인프라를 관리하는 서비스이므로 사용자는 복잡한 파일 시스템 구성을 배포, 패치 및 유지 보수하는 번잡함에서 벗어날 수 있습니다.

Amazon EFS에서는 Network File System 버전 4(NFSv4.1 및 NFSv4.0) 프로토콜을 지원하므로 오늘날 사용하는 애플리케이션 및 도구도 Amazon EFS에서 원활하게 작동합니다. Amazon EC2, Amazon ECS 및 AWS Lambda 를 비롯한 여러 컴퓨팅 인스턴스가 동시에 Amazon EFS 파일 시스템에 액세스할 수 있습니다. 따라서, EFS 파일 시스템은 다수의 인스턴스 또는 서버에서 실행되는 워크로드와 애플리케이션의 공통 데이이터 소스를 제공합니다.

## AL2023에 `amazon-efs-utils` 설치
<a name="efs-utils"></a>

 `amazon-efs-utils` 패키지는 AL2023 리포지토리에 설치하여 Amazon EFS 파일 시스템에 액세스할 수 있습니다.

**AL2023에 `amazon-efs-utils` 패키지를 설치하세요.**
+ 다음 명령을 사용하여 `amazon-efs-utils`를 설치합니다.

  ```
  $ dnf -y install amazon-efs-utils
  ```

## AL2023에 Amazon EFS 파일 시스템 마운트
<a name="mount-efs"></a>

 `amazon-efs-utils`를 설치했다면 Amazon EFS 파일 시스템을 AL2023 인스턴스에 마운트할 수 있습니다.

**AL2023에 Amazon EFS 파일 시스템 마운트**
+ 다음 명령을 사용하여 파일 시스템 id로 마운트합니다.

  ```
  sudo mount -t efs file-system-id efs-mount-point/
  ```

 전송 중인 데이터가 TLS를 사용하거나 파일 시스템 ID 대신 DNS 이름 또는 마운트 대상 IP를 사용하여 암호화되도록 파일 시스템을 마운트할 수도 있습니다. 자세한 내용은 [EFS 마운트 도우미로 Amazon Linux 인스턴스에 마운트](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-helper-ec2-linux.html)를 참조하세요.

# AL2023에서 Amazon EMR 사용
<a name="emr"></a>

 Amazon EMR은 Apache Hadoop 및 AWS가 제공하는 서비스를 사용하여 많은 데이터를 쉽고 효율적으로 처리할 수 있도록 지원하는 웹 서비스입니다. 

## AL2023 기반 Amazon EMR 릴리스
<a name="emr-ami"></a>

 Amazon EMR 릴리스 7.0.0은 AL2023에 빌드된 첫 번째 릴리스였습니다. 이번 릴리스에서 AL2023은 Amazon EMR의 기본 운영 체제로, Amazon EMR에 AL2023의 모든 이점을 제공합니다. 자세한 내용은 [Amazon EMR 7.0.0 릴리스 노트](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-700-release.html)를 참조하세요.

## EKS 기반 Amazon EMR에 AL2023 지원
<a name="emr-on-eks"></a>

 EKS 6.13 기반 Amazon EMR은 AL2023을 옵션으로 도입한 첫 번째 릴리스입니다. 이번 릴리스에서는 Java 17 런타임과 함께 AL2023 운영 체제로 Spark를 실행할 수 있습니다. 자세한 내용은 [EKS 6.13 기반 Amazon EMR 릴리스 노트](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/emr-eks-6.13.0.html) 및 [EKS 기반 Amazon EMR 릴리스 노트](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/emr-eks-releases.html)를 참조하세요.

# 에서 AL2023 사용 AWS Lambda
<a name="lambda"></a>

 를 사용하면 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 AWS Lambda수 있습니다. 사용한 컴퓨팅 시간에 대해서만 요금을 지불하면 되고, 코드가 실행되지 않을 때는 요금이 부과되지 않습니다. 관리할 필요 없이 사실상 모든 애플리케이션 또는 백엔드 서비스의 코드를 가상으로 실행할 수 있습니다. 코드를 업로드하기만 하면 고가용성을 유지한 채로 코드를 실행하고 확장하는 데 필요한 모든 것을 Lambda가 알아서 처리해 줍니다.

## AL2023 `provided.al2023` 관리형 런타임 및 컨테이너 이미지
<a name="lambda-provided-al2023"></a>

 `provided.al2023` 기본 런타임은 [AL2023 최소 컨테이너 이미지](https://docs.aws.amazon.com/linux/al2023/ug/minimal-container.html)를 기반으로 하며 AL2023 기반 Lambda 관리형 런타임 및 [컨테이너 기본 이미지](https://gallery.ecr.aws/lambda/provided)를 제공합니다. `provided.al2023` 런타임은 AL2023 최소 컨테이너 이미지를 기반으로 하므로 약 109MB의 `provided.al2` 런타임보다 40MB 미만에서 상당히 작습니다.

 자세한 내용은 [Lambda 런타임](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) 및 [Lambda 컨테이너 이미지 작업](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html) 섹션을 참조하세요. 

## AL2023 기반 Lambda 런타임
<a name="lambda-al2023-based"></a>

 Node.js 20, Python 3.12, Java 21, .NET 8과 같은 관리형 언어 런타임의 향후 릴리스는 AL2023 기반이며, [AL2023 기반 런타임 공지](https://aws.amazon.com/blogs/compute/introducing-the-amazon-linux-2023-runtime-for-aws-lambda/)에 설명된 대로 `provided.al2023`를 기본 이미지로 사용합니다.

**AL2023 기반 Lambda 함수**
+ [Go에 작성된 AL2023 Lambda 함수](go.md#lambda-go)
+ [Rust에 작성된 AL2023 Lambda 함수](rust.md#lambda-rust)

 자세한 내용은 [ 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)의 *AWS Lambda Lambda 런타임*을 참조하세요.