Deploy IronSecureDoc to AWS with C# Container Instance
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 에서 콘솔을 여세요.

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

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

나머지 값은 기본값으로 두고 [생성]을 선택하세요.
5단계: 작업 정의 생성
클러스터가 생성되면 작업 정의를 선택합니다.

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

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

인프라 요구 사항 섹션에서 시작 유형 , CPU , 메모리 , 작업 역할 및 작업 실행 역할 에 대해 다음 값을 입력하십시오.
- 시작 유형: Only
AWS Fargate - CPU:
1 vCPU - 메모리:
2 GB - 작업 역할:
ecsTaskExecutionRole - 작업 실행 역할:
ecsTaskExecutionRole

컨테이너 - 1 섹션에서 이름 , 이미지 URI , 컨테이너 포트 , 포트 이름 및 환경 변수 에 다음 값을 입력하십시오.
- 이름:
mycontainer - 이미지 URI: 최신 버전을 위해
ironsoftwareofficial/ironsecuredoc사용하거나 태그ironsoftwareofficial/ironsecuredoc:2024.7.1으로 지정하세요 - 컨테이너 포트:
8080 - 포트 이름:
8080 - 환경 변수 추가:
ENVIRONMENT:ProductionHTTP_PORTS:8080IronSecureDoc_LicenseKey:YOUR-LICENSE-KEY
IronSecureDoc_LicenseKey의 경우 보안상의 이유로 환경 변수 에 직접 추가하는 것을 권장하지 않습니다. 암호화된 Amazon S3 버킷에서 환경 파일을 가져오는 것이 좋습니다. Amazon ECS 컨테이너로 민감한 데이터 전달을 참조하세요.

나머지 값은 기본값으로 두고 [생성]을 선택하세요.
6단계: 서비스 생성
클러스터 페이지로 돌아가서 클러스터를 선택하세요(IronSecureDoc 참조).

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

환경 섹션에서 컴퓨팅 옵션 과 시작 유형 에 대해 다음 값을 입력합니다.
- 컴퓨팅 옵션:
Launch type선택 - 시작 유형:
FARGATE선택

배포 구성 섹션에서 애플리케이션 유형 , 제품군 , 개정판 , 서비스 이름 및 원하는 작업 에 대해 다음 값을 입력합니다.
- 애플리케이션 유형:
Service선택 - 작업 정의:
- 패밀리: 생성된 작업 정의 선택
ironsecuredoc - 개정: 작업 정의 개정 선택
1 (LATEST)
- 패밀리: 생성된 작업 정의 선택
- 서비스 이름:
myservice - 원하는 작업:
1

네트워킹을 위해서는 VPC 와 보안 그룹이 존재하지 않는 경우 생성해야 할 수 있다는 점에 유의하십시오.
나머지 값은 기본값으로 두고 [생성]을 선택하세요.
배포가 시작되면 배포가 진행 중임을 나타내는 알림이 표시됩니다. 서비스가 배포되면 또 다른 알림이 표시됩니다.
서비스를 확인한 후 작업을 엽니다.

작업 구성에서, API가 제대로 작동하는지 확인하기 위해 curl 명령을 실행하여 공용 IP를 사용할 수 있으며, 이는 pong를 반환해야 합니다.
curl http://18.118.166.206:8080/v1/document-services/pingcurl http://18.118.166.206:8080/v1/document-services/ping
축하해요! 몇 가지 설정만 구성하면 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://을 실행하면 'pong'이 반환되어 IronSecureDoc 서비스가 정상적으로 실행되고 있음을 나타냅니다.
각 배포에 대해 새 VPC 및 보안 그룹을 만들어야 하나요?
기본 VPC 및 보안 그룹이 없는 경우 적절한 네트워킹 및 보안 구성을 위해 이를 만들어야 합니다. 이 설정은 IronSecureDoc과 같은 애플리케이션의 안전한 작동에 필수적입니다.





