Deploy IronSecureDoc to AWS with C# Container Instance

This article was translated from English: Does it need improvement?
Translated
View the article in English

Amazon Elastic Container Service(Amazon ECS)는 확장성이 뛰어나고 속도가 빠른 컨테이너 관리 서비스로, 컨테이너를 쉽게 실행, 중지 및 관리할 수 있도록 해줍니다. AWS Fargate에서 서비스 또는 작업을 실행하면 Amazon ECS에서 관리하는 서버리스 인프라에 컨테이너를 호스팅할 수 있습니다. Fargate에 대한 자세한 내용은 Amazon ECS용 AWS Fargate를 참조하세요.

1단계: AWS 계정에 로그인합니다.

AWS 포털에 로그인하세요.

AWS 계정이 없으시면 새 AWS 계정을 등록하세요 .

2단계: 가상 프라이빗 클라우드 생성

Amazon VPC(Amazon Virtual Private Cloud)를 사용하면 사용자가 정의한 가상 네트워크에 AWS 리소스를 배포할 수 있습니다. 컨테이너 인스턴스는 VPC에서 실행하는 것을 강력히 권장합니다.

기본 VPC가 있는 경우 이 섹션을 건너뛰고 다음 작업인 보안 그룹 생성으로 이동할 수 있습니다. 기본 VPC가 있는지 확인하려면 Amazon EC2 사용 설명서의 Amazon EC2 콘솔에서 지원되는 플랫폼을 참조하세요. 그렇지 않은 경우 아래 단계에 따라 계정에 기본 VPC가 아닌 VPC를 생성할 수 있습니다.

VPC 생성 방법에 대한 자세한 내용은 Amazon VPC 사용 설명서의 VPC 생성 섹션을 참조하고, 다음 표를 사용하여 선택할 옵션을 결정하세요.

옵션Value
리소스 생성VPC 전용
이름선택적으로 VPC 이름을 지정할 수 있습니다.
IPv4 CIDR 블록IPv4 CIDR 수동 입력
CIDR 블록 크기는 /16에서 /28 사이여야 합니다.
IPv6 CIDR 블록IPv6 CIDR 블록 없음
차용기본

Amazon VPC에 대한 자세한 내용은 Amazon VPC란 무엇인가요?를 참조하세요. Amazon VPC 사용자 가이드에 나와 있습니다.

3단계: 보안 그룹 생성

보안 그룹은 연결된 컨테이너 인스턴스에 대한 방화벽 역할을 하며, 컨테이너 인스턴스 수준에서 인바운드 및 아웃바운드 트래픽을 모두 제어합니다. 보안 그룹에 규칙을 추가하여 사용자의 IP 주소에서 SSH를 사용하여 컨테이너 인스턴스에 연결할 수 있습니다. 또한 어디에서든 HTTP 및 HTTPS를 이용한 인바운드 및 아웃바운드 액세스를 허용하는 규칙을 추가할 수 있습니다. 작업에 필요한 포트를 열도록 규칙을 추가하세요. 컨테이너 인스턴스는 Amazon ECS 서비스 엔드포인트와 통신하기 위해 외부 네트워크 액세스가 필요합니다.

보안 그룹을 생성하는 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서의 보안 그룹 생성 섹션을 참조하고 다음 표를 사용하여 선택할 옵션을 결정하십시오.

옵션
지역키 페어를 생성한 동일한 리전
이름ecs-instances-default-cluster처럼 기억하기 쉬운 이름을 사용하세요.
VPC기본 VPC("(기본값)"으로 표시됨)
메모
계정이 Amazon EC2 Classic을 지원하는 경우 이전 작업에서 생성한 VPC를 선택하십시오.

4단계: ECS 클러스터 생성

AWS 포털 홈페이지에서 검색 상자에 "ECS"를 입력하고 "Elastic Container Service"를 선택하세요. 또는 https://console.aws.amazon.com/ecs/v2 에서 콘솔을 여세요.

Search ECS

"클러스터 생성"을 선택하세요.

Create cluster

"클러스터 이름"을 입력하세요. 인프라 섹션에서 "AWS Fargate(서버리스)"만 선택하십시오.

Create cluster values

나머지 값은 기본값으로 두고 [생성]을 선택하세요.

5단계: 작업 정의 생성

클러스터가 생성되면 작업 정의를 선택합니다.

Create task definition

"새 작업 정의 생성"을 선택한 다음 "새 작업 정의 생성"을 선택합니다.

Create new task definition

작업 정의 구성 섹션에서 작업 정의 제품군 값을 입력합니다.

Task definition configuration section

인프라 요구 사항 섹션에서 시작 유형 , CPU , 메모리 , 작업 역할작업 실행 역할 에 대해 다음 값을 입력하십시오.

  • 시작 유형: Only AWS Fargate
  • CPU: 1 vCPU
  • 메모리: 2 GB
  • 작업 역할: ecsTaskExecutionRole
  • 작업 실행 역할: ecsTaskExecutionRole

Infrastructure requirements

컨테이너 - 1 섹션에서 이름 , 이미지 URI , 컨테이너 포트 , 포트 이름환경 변수 에 다음 값을 입력하십시오.

  • 이름: mycontainer
  • 이미지 URI: 최신 버전을 위해 ironsoftwareofficial/ironsecuredoc 사용하거나 태그 ironsoftwareofficial/ironsecuredoc:2024.7.1으로 지정하세요
  • 컨테이너 포트: 8080
  • 포트 이름: 8080
  • 환경 변수 추가:
    • ENVIRONMENT: Production
    • HTTP_PORTS: 8080
    • IronSecureDoc_LicenseKey: YOUR-LICENSE-KEY

IronSecureDoc_LicenseKey의 경우 보안상의 이유로 환경 변수 에 직접 추가하는 것을 권장하지 않습니다. 암호화된 Amazon S3 버킷에서 환경 파일을 가져오는 것이 좋습니다. Amazon ECS 컨테이너로 민감한 데이터 전달을 참조하세요.

Container section

나머지 값은 기본값으로 두고 [생성]을 선택하세요.

6단계: 서비스 생성

클러스터 페이지로 돌아가서 클러스터를 선택하세요(IronSecureDoc 참조).

Select your cluster

"서비스" 탭을 선택한 다음 "생성"을 선택합니다.

Create service

환경 섹션에서 컴퓨팅 옵션시작 유형 에 대해 다음 값을 입력합니다.

  • 컴퓨팅 옵션: Launch type 선택
  • 시작 유형: FARGATE 선택

Service environment

배포 구성 섹션에서 애플리케이션 유형 , 제품군 , 개정판 , 서비스 이름원하는 작업 에 대해 다음 값을 입력합니다.

  • 애플리케이션 유형: Service 선택
  • 작업 정의:
    • 패밀리: 생성된 작업 정의 선택 ironsecuredoc
    • 개정: 작업 정의 개정 선택 1 (LATEST)
  • 서비스 이름: myservice
  • 원하는 작업: 1

Service deployment configuration

네트워킹을 위해서는 VPC보안 그룹이 존재하지 않는 경우 생성해야 할 수 있다는 점에 유의하십시오.

나머지 값은 기본값으로 두고 [생성]을 선택하세요.

배포가 시작되면 배포가 진행 중임을 나타내는 알림이 표시됩니다. 서비스가 배포되면 또 다른 알림이 표시됩니다.

서비스를 확인한 후 작업을 엽니다.

Open created task

작업 구성에서, API가 제대로 작동하는지 확인하기 위해 curl 명령을 실행하여 공용 IP를 사용할 수 있으며, 이는 pong를 반환해야 합니다.

curl http://18.118.166.206:8080/v1/document-services/ping
curl http://18.118.166.206:8080/v1/document-services/ping
SHELL

Public IP

축하해요! 몇 가지 설정만 구성하면 Amazon Elastic Container Service에 공개적으로 액세스 가능한 애플리케이션을 배포할 수 있습니다.

자주 묻는 질문

문서 보안을 위해 AWS를 어떻게 설정할 수 있나요?

문서 보안을 위해 AWS를 설정하려면 Amazon ECS를 통해 컨테이너 인스턴스를 배포할 수 있습니다. 이는 가상 프라이빗 클라우드(VPC) 생성, 보안 그룹 설정 및 서버리스 인프라에 AWS Fargate를 사용하는 것을 포함합니다. IronSecureDoc은 안전한 문서 관리를 보장하기 위해 통합될 수 있습니다.

AWS에서 가상 프라이빗 클라우드(VPC)를 생성하는 목적은 무엇인가요?

AWS에서 VPC를 생성하면 AWS 리소스를 논리적으로 격리된 가상 네트워크에 시작할 수 있습니다. 이 설정은 네트워킹 환경을 제어할 수 있도록 하며 IronSecureDoc과 같은 서비스를 통해 문서 보안을 관리하는 데 중요합니다.

ECS 배포를 위해 보안 그룹을 설정하는 것이 왜 중요한가요?

보안 그룹을 설정하는 것은 ECS 컨테이너 인스턴스로의 들어오고 나가는 트래픽을 제어하는 데 필수적입니다. 이는 가상 방화벽으로 작동하며 AWS에 배포된 IronSecureDoc 서비스에 허용된 트래픽만 도달하도록 보장합니다.

AWS Fargate를 사용하여 컨테이너 인스턴스를 어떻게 배포하나요?

AWS Fargate를 사용하여 컨테이너 인스턴스를 배포하려면 먼저 ECS 클러스터를 생성해야 합니다. 그런 다음, CPU, 메모리 및 컨테이너 설정과 같은 요구 사항을 지정하는 작업 정의를 정의하십시오. 마지막으로, IronSecureDoc의 배포를 관리하기 위해 ECS 클러스터 내에서 서비스를 생성합니다.

Amazon ECS에서 작업 정의는 어떤 역할을 하나요?

Amazon ECS에서 작업 정의는 애플리케이션의 청사진 역할을 합니다. 이는 출시 유형, CPU, 메모리 및 컨테이너 정의와 같은 컨테이너를 실행하기 위한 요구 사항을 설명합니다. 이는 IronSecureDoc과 같은 애플리케이션을 배포하는 데 중요합니다.

AWS에서 환경 변수를 안전하게 관리할 수 있는 방법은 무엇인가요?

Amazon S3 암호화 버킷에서 IronSecureDoc 라이선스 키와 같은 민감한 데이터를 검색하여 AWS에서 환경 변수를 안전하게 관리할 수 있습니다. 이런 접근 방식은 권한 없는 액세스로부터 민감한 정보를 보호하는 데 도움을 줍니다.

ECS 서비스의 배포가 성공적으로 이루어졌는지 어떻게 확인할 수 있나요?

공용 IP를 사용하여 curl 명령을 실행하여 ECS 서비스의 배포를 확인할 수 있습니다. 예를 들어, curl http://:8080/v1/document-services/ping을 실행하면 'pong'이 반환되어 IronSecureDoc 서비스가 정상적으로 실행되고 있음을 나타냅니다.

각 배포에 대해 새 VPC 및 보안 그룹을 만들어야 하나요?

기본 VPC 및 보안 그룹이 없는 경우 적절한 네트워킹 및 보안 구성을 위해 이를 만들어야 합니다. 이 설정은 IronSecureDoc과 같은 애플리케이션의 안전한 작동에 필수적입니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
버전: 2024.10 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요?
샘플 실행 PDF가 암호화되는 것을 확인하세요.