콘솔에서 Service Gateway 서비스를 사용하는 방법을 설명합니다.
서비스 게이트웨이를 생성하는 방법은 다음과 같습니다.
생성한 서비스 게이트웨이는 Network > Service Gateway 화면에서 확인할 수 있습니다. 서비스 게이트웨이를 선택하면 하단에 서비스 게이트웨이 정보가 나타납니다.
서비스 게이트웨이를 변경하는 방법은 다음과 같습니다. 이름, 설명만 변경할 수 있습니다.
서비스 게이트웨이를 삭제하려면 Network > Service Gateway 화면에서 삭제할 서비스 게이트웨이를 선택하고 서비스 게이트웨이 삭제 버튼을 클릭합니다.
생성된 서비스 게이트웨이의 IP 주소가 192.168.1.42
라 할 경우 다음과 같은 방법으로 서비스에 접근이 가능합니다.
VM Instance에서 서비스 게이트웨이 IP로 접속하면 서비스 게이트웨이 생성 시 선택된 서비스로 연결되어 서비스 사용이 가능합니다.
/etc/hosts
에 IP 주소와 URL을 추가하시기 바랍니다.~# wget http://192.168.1.42/v1/AUTH_8222a22c22244badbf876dcd521f3f98/test-obs/test_file.txt
서비스 게이트웨이를 이용하여 서비스 접근 시 URL을 지원하지 않습니다. URL 접근이 필요한 경우 아래 예시와 같이 /etc/hosts
파일에 URL을 추가해야 합니다.
예시) URL을 이용하여 오브젝트 스토리지에서 파일 다운로드
/etc/hosts
파일에 아래와 같이 서비스 게이트웨이의 IP 주소와 Object Storage의 URL을 추가합니다.
192.168.1.42 kr1-api-object-storage.nhncloudservice.com
IP 주소 대신 /etc/hosts
에 추가한 URL로 접속
~# wget https://kr1-api-object-storage.nhncloudservice.com/v1/AUTH_8222a22c22244badbf876dcd521f3f98/test-obs/test_file.txt
오브젝트 스토리지에 관련된 내용은 예제 설명을 위한 수준에서만 기술합니다. 오브젝트 스토리지의 자세한 사용 방법은 사용자 가이드 > Storage > Oject Storage를 참고하시기 바랍니다.
오브젝트 스토리지 API를 사용하려면 인증 토큰을 발급받아야 합니다. 인터넷 사용이 불가능한 격리된 환경의 VPC에서 Object Storage를 사용하려면 인증 토큰도 서비스 게이트웨이를 이용하여 발급받아야 하며, 다음 절차에 따라서 서비스 게이트웨이를 생성해야 합니다.
Object Storage를 선택하여 생성한 서비스 게이트웨이의 IP 주소가 192.168.1.42이고 IaaS API Identity를 선택하여 생성한 서비스 게이트웨이의 IP 주소로 192.168.1.57을 할당받은 경우, VM Instance의 /etc/hosts
파일에 아래와 같이 IP 주소와 URL을 추가합니다.
[참고] 오브젝트 스토리지의 API URL 주소는 콘솔 화면의 Storage > Object Storage에서 API 엔드포인트 설정 버튼을 클릭하여 확인할 수 있습니다.
[주의] 리전마다 사용하는 오브젝트 스토리지 API의 URL 주소는 다르기 때문에 API 엔드포인트 설정의 URL을 반드시 확인해 주시기 바랍니다.
192.168.1.42 api-identity-infrastructure.nhncloudservice.com
192.168.1.57 kr1-api-object-storage.nhncloudservice.com
오브젝트 스토리지의 API 비밀번호 설정을 하고 인증 토큰을 발급받습니다.
API 비밀번호 설정
[참고] 상세한 사용 방법은 사용자 가이드 > Storage > Object Storage > API 가이드를 참고하시기 바랍니다.
인증 토큰 발급 요청
NHN Cloud 로그인 ID와 앞서 설정한 API 비밀번호 설정의 비밀번호를 이용하여 아래와 같이 IaaS API Identify 서비스용으로 생성한 서비스 게이트웨이 URL에 토큰 발급을 요청합니다.
auth.passwordCredentials.username
에는 NHN Cloud 로그인 ID 사용auth.passwordCredentials.password
에는 API 비밀번호 설정에 입력한 비밀번호 사용~# curl -X POST -H 'Content-Type:application/json' https://api-identity-infrastructure.nhncloudservice.com/v2.0/tokens -d '{"auth": {"tenantId": "2fda9d4b88244a0a92ff23841198e2e6", "passwordCredentials": {"username": "example@nhn.com", "password": "example123"}}}'
인증 토큰 발급 응답
아래 응답에서 access.token.id
항목의 값이 인증 토큰입니다. access.token.expires
에 기록된 시간까지 인증 토큰이 유효합니다.
{"access":{"token":{"id":"gAAAAABiVnmCOJVJhh1W2eXGo3aL0eaZxXmd-SMDMIE3zmip2lXy6eH0BlZAlTZBG20dWEm7TF4zi4YIOTKnc6yKh_wqZsyxgMWKkpVNShzE-k6GaSThBP54QeUePSjC2t-R10X6G4xL_Wecl-V-lV-bnOfVo6Ccpz6rv9eLYJnbJw7KrIMSSiY","expires":"2022-04-13T19:19:30Z","tenant":{"id":"2fda9d4b8821111192ff23841198e2e6","name":"tTMgSSSF","groupId":"XXj2zkH7777modGU","description":"","enabled":true,"project_domain":"NORMAL","swift":true},"issued_at":"2022-04-13T07:32:14.000441"},"serviceCatalog":[{"endpoints":[{"region":"KR1","publicURL":"https://api-identity.infrastructure.cloud.toast.com/v2.0"}],"type":"identity","name":"keystone"},{"endpoints":[{"region":"KR2","publicURL":"https://kr2-api-storage.cloud.toast.com/v1/AUTH_2fda9d4b88244a0a92ff23841198e2e6"},{"region":"KR1","publicURL":"https://api-storage.cloud.toast.com/v1/AUTH_2fda9d4b88244a0a92ff23841198e2e6"}],"type":"object-store","name":"swift"}],"user":{"id":"80884888887b45dbaf9b815117130671","username":"5111111c-b111-4b11-b11b-01111f81111f","name":"5211122c-bfc4-4115-b11b-05b52f84
인증 토큰 발급을 마쳤으면 오브젝트 스토리지 API를 사용할 수 있습니다. 오브젝트 스토리지에 example이라는 컨테이너를 생성하고 test_file.txt를 넣어 놨다고 가정할 경우, 아래와 같은 API 사용법으로 컨테이너에 있는 파일을 조회할 수 있습니다.
요청
X-Auth-Token
에 인증 토큰을 추가하여 요청
~# curl -X GET -H 'X-Auth-Token:gAAAAABiVnmCOJVJhh1W2eXGo3aL0eaZxXmd-SMDMIE3zmip2lXy6eH0BlZAlTZBG20dWEm7TF4zi4YIOTKnc6yKh_wqZsyxgMWKkpVNShzE-k6GaSThBP54QeUePSjC2t-R10X6G4xL_Wecl-V-lV-bnOfVo6Ccpz6rv9eLYJnbJw7KrIMSSiY' https://kr1-api-object-storage.nhncloudservice.com/v1/AUTH_2fda9d4b88244a0a92ff23841198e2e6/example
응답
오브젝트 스토리지 컨테이너에 있는 파일 목록 확인
test_file.txt