Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New Resource]: Cloud function & Object storage & API gateway #425

Open
hanmir13 opened this issue May 24, 2024 · 3 comments
Open

[New Resource]: Cloud function & Object storage & API gateway #425

hanmir13 opened this issue May 24, 2024 · 3 comments

Comments

@hanmir13
Copy link

hanmir13 commented May 24, 2024

Description

NCP에서 제공하는 서비스들에 비해 NCP terraform provider가 제공하는 리소스가 많이 부족한것 같습니다.

Cloud function, Object storage, API gateway 리소스들의 추가가 계획되어있나요?

  • NCP는 terraform외의 IaC를 제공하지 않나요?
@a3626a
Copy link

a3626a commented Jun 3, 2024

#159
#395
Object Storage 지원에 대해서 여러 수요가 있는 것으로 확인되지만
3년 전에 이슈가 등록되었음에도 개발될 여지가 보이지 않고, 빠른 시간 안에 기능이 필요한 관계로
저희는 NCP 팀에 의존하지 않고 테라폼을 사용하는 독립적인 방안을 검토해보았습니다.

Object Storage는 S3 Compatible하게 개발됐기 때문에
어려움은 있을지언정, 이론적으로 AWS Terraform Provider와 연동될 수 있습니다.

이러한 접근법을 AWS Terraform Provider에서는 "Supporing 3rd Party S3"라고 합니다. 관련된 논의나 PR은 해당 레포지토리에서 이 키워드로 검색하시면 쉽게 찾으실 수 있을 것입니다.

아래 코드를 실행하면

# NCP의 Object Storage를 AWS provider를 이용하여 관리합니다.
provider "aws" {
  alias  = "for_ncp"

  access_key = var.access_key
  secret_key = var.secret_key
  region = "us-east-1"
  skip_credentials_validation = true
  skip_metadata_api_check = true
  skip_requesting_account_id = true

  endpoints {
    # NCP 공공존임에 유의
    s3  = "https://kr.object.gov-ncloudstorage.com"
  }
}

resource "aws_s3_bucket" "bucket_poc" {
  provider = aws.for_ncp
  bucket   = "hello-bucket-4"
  acl      = "public-read-write"
}

Object Storage가 S3와 완전히 호환되지 않으므로 "UnsupportedOperation" 오류가 발생합니다. 이에 대한 처리는 이미 AWS Terraform Provider에 다른 3rd Party S3에 대해서 하드 코딩 되어 있습니다. 따라서 NCP의 오류 코드에 대한 추가적인 예외처리를 구현하여 AWS Terraform Provider에 PR을 작성한 상태입니다. (수정 버전에서는 위 코드가 의도대로 동작합니다)

이 접근 방식에 관심이 있으시다면 해당 PR에 이모지를 남겨 우선 순위를 높일 수 있습니다.

Please vote on this pull request by adding a 👍 reaction to the original post to help the community and maintainers prioritize this pull request.

@a3626a
Copy link

a3626a commented Jun 6, 2024

위 PR이 병합되었으니 곧 공식 terraform aws provider에서 위 전략을 활용하실 수 있을 것입니다.

@wonchulee
Copy link
Collaborator

wonchulee commented Sep 23, 2024

Object Storage는 #395 (comment) , PR 내용 참고부탁드립니다.
Cloud function, API gateway는 Terraform 개발 전 해결해야하는 이슈가 존재합니다. 따라서 지원에 시간이 소요될 수 있는 점 참고 부탁드립니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants