AWS공용 런타임 (CRT) 라이브러리 - AWS SDKs및 도구

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

AWS공용 런타임 (CRT) 라이브러리

AWS공용 런타임 (CRT) 라이브러리는 SDK의 기본 라이브러리입니다. CRT는 C로 작성된 독립 패키지의 모듈식 제품군으로, 각 패키지는 우수한 성능을 제공하고 다양한 필수 기능을 위한 최소한의 설치 공간을 제공합니다. 이러한 기능은 모든 SDK에서 공통적이며 공유되므로 코드 재사용, 최적화 및 정확성이 향상됩니다. 패키지는 다음과 같습니다.

  • awslabs/aws-c-auth: AWS 클라이언트 측 인증 (표준 보안 인증 공급자 및 서명 (sigv4))

  • awslabs/aws-c-cal: 암호화 프리미티브 유형, 해시 (MD5, SHA256, SHA256 HMAC), 서명자, AES

  • awslabs/aws-c-common: 기본 데이터 구조, 스레딩/동기화 프리미티브 유형, 버퍼 관리, stdlib 관련 함수

  • awslabs/aws-c-compression: 압축 알고리즘 (허프만 인코딩/디코딩)

  • awslabs/aws-c-event-stream: 이벤트 스트림 메시지 처리 (헤더, 프렐루드, 페이로드, crc/trailer), 이벤트 스트림을 통한 원격 프로시저 호출 (RPC) 구현

  • awslabs/aws-c-http: HTTP/1.1 및 HTTP/2 사양의 C99 구현

  • awslabs/aws-c-io: 소켓 (TCP, UDP), DNS, 파이프, 이벤트 루프, 채널, SSL/TLS

  • awslabs/aws-c-iot: 디바이스와의 AWS IoT 클라우드 서비스 통합의 C99 구현

  • awslabs/aws-c-mqtt: 사물 인터넷 (IoT) 을 위한 간단한 표준 메시징 프로토콜

  • awslabs/aws-c-s3: Amazon S3 서비스와의 통신을 위한 C99 라이브러리 구현으로, 고대역폭 Amazon EC2 인스턴스의 처리량을 극대화하도록 설계되었습니다.

  • awslabs/aws-c-sdkutils:AWS 프로필 파싱 및 관리를 위한 유틸리티 라이브러리

  • awslabs/aws-checksums: 효율적인 소프트웨어 구현으로 대체되는 크로스 플랫폼 하드웨어 가속 CRC32c 및 CRC32

  • awslabs/aws-lc: Google BoringSSL 프로젝트 및 OpenSSL 프로젝트의 코드를 기반으로 AWS 암호화 팀에서 AWS 및 고객을 위해 유지 관리하는 범용 암호화 라이브러리

  • awslabs/s2n: TLS/SSL 프로토콜의 C99 구현, 보안을 최우선으로 하여 작고 빠르도록 설계되었습니다.

CRT는 Go를 제외한 모든 SDK를 통해 사용할 수 있습니다.

CRT 종속성

CRT 라이브러리는 복잡한 관계와 종속성 네트워크를 형성합니다. 소스에서 직접 CRT를 구축해야 하는 경우 이러한 관계를 아는 것이 도움이 됩니다. 하지만 대부분의 사용자는 자신의 언어 SDK (예: C++용 SDK 또는 Java용 AWS SDK) 또는 해당 언어의 IoT 장치 SDK AWS (예: AWSC++용 IoT SDK 또는 Java용 AWSIoT SDK) 를 통해 CRT 기능에 액세스합니다. 다음 다이어그램에서 언어 CRT 바인딩 상자는 특정 언어 SDK의 CRT 라이브러리를 래핑하는 패키지를 나타냅니다. 이 패키지는 다음과 같은 형식의 aws-crt-* 패키지 모음입니다. 여기서 '*'는 SDK 언어 (예: aws-crt-cpp 혹은 aws-crt-java ) 입니다.

다음은 CRT 라이브러리의 계층적 종속성을 보여줍니다.

개별 CRT 라이브러리가 서로 어떻게 상호 연관되는지를 보여주는 CRT 종속성 다이어그램.