概要
CDN Edgeを新規作成します。
- アカウントごとに Edgeを最大100個まで作成できます。
リクエスト
リクエスト URL
POST
https://edge.apigw.ntruss.com/api/v1/cdn-edge
リクエストボディ
EdgeConfig
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
profileId | Yes | Long | | プロファイル ID |
edgeName | Yes | String | 英数字と記号の「-」、「_」のみ使用可能 | |
distributionConfig | Yes | CdnDistributionConfig | | デプロイの設定 |
originalCopyConfig | Yes | CdnOriginalCopyConfig | | オリジンの設定 |
cachingConfig | Yes | CdnCachingConfig | | キャッシュの設定 |
managedRule | Yes | ManagedRule | | マネージドルールの設定 |
headerPolicies | Yes | List<HeaderPolicy> | | ヘッダの設定 |
optimizationConfig | Yes | OptimizationConfig | | 最適化の設定 |
accessControl | Yes | AccessControl | | アクセス制御の設定 |
CdnDistributionConfig
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
protocolType | Yes | String | HTTP, HTTPS, ALL | サービスプロトコル |
regionType | Yes | String | KOREA、JAPAN、GLOBAL(性能優先)、GLOBAL(可用性優先) | サービス地域 |
serviceDomain | Yes | ServiceDomain | | サービスドメイン |
edgeLogging | Yes | EdgeLogging | | Edgeロギングの設定 |
ServiceDomain
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
domainType | Yes | String | NCP_DOMAIN_AUTO, NCP_DOMAIN_CUSTOM, CUSTOM_DOMAIN | ドメインの使用タイプ |
domainName | Yes | String | domainTypeを custom domain使用時にドメイン形式を使用 | |
certificate | No | Certificate | HTTPSとプライベートドメインを一緒に使用する場合は必須 | |
Certificate
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
id | Yes | Long | | Certificate Managerに登録された証明書の certificateNo |
EdgeLogging
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無 |
bucketPrefix | No | String | | |
objectStorage | No | ObjectStorage | enabledを trueに設定時、必須 | |
ObjectStorage
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
region | Yes | String | KR, USWN, SGN, JPN, DEN | 韓国(KR)、米国西部(USWN)、シンガポール(SGN)、日本(JPN)、ドイツ(DEN) |
bucketName | Yes | String | | Object Storageバケット名 |
CdnOriginalCopyConfig
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
originalCopyLocation | Yes | OriginalCopyLocation | | オリジンドメインの設定 |
forwardHostHeader | Yes | ForwardHostHeader | | Forward Host Header |
originalCopyProtocol | Yes | OriginalCopyProtocol | | オリジンプロトコルの設定 |
originalCopyPath | No | String | | オリジンのパス |
originShield | Yes | OriginShield | | オリジンシールドの設定 |
originFailoverConfig | No | OriginFailoverConfig | | フェイルオーバーポリシーの設定 |
OriginalCopyLocation
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
type | Yes | String | OBJECT_STORAGE, CUSTOM, NONE | オリジンのタイプ |
region | No | String | KR, SGN, JPN, USWN, DEN | 韓国(KR)、シンガポール(SGN)、日本(JPN)、米国西部(USWN)、ドイツ(DEN)、Object Storage使用時に必須 |
bucketName | No | String | typeが Object Storageの場合、必須 | Object Storageバケット名 |
customLocation | No | String | typeが customの場合、必須 | bucketName、customLocationは typeに応じて1つだけ使用可能 |
ForwardHostHeader
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
type | Yes | String | INCOMING_HOST_HEADER, ORIGIN_HOSTNAME, CUSTOM | |
customHostHeader | No | String | typeが customの場合、必須 | |
OriginalCopyProtocol
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
type | Yes | String | HTTP, HTTPS | オリジンのプロトコル |
port | Yes | Integer | | オリジンのポート |
OriginShield
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無 |
region | No | String | KR, SGN, JPN, USWN, DEN | 韓国(KR)、シンガポール(SGN)、日本(JPN)、米国西部(USWN)、ドイツ(DEN)、enabledを trueに設定時に必須 |
OriginFailoverConfig
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
ruleName | Yes | String | | |
statusCodes | Yes | List<Integer> | 404, 500, 502, 503, 504 | |
originalCopyLocation | Yes | OriginalCopyLocation | | |
CdnCachingConfig
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
defaultCaching | Yes | DefaultCaching | | 基本キャッシュ設定 |
negativeTtl | Yes | boolean | true, false | 使用の有無、エラーレスポンスキャッシュの設定 |
bypassQueryString | Yes | BypassQueryString | | |
cacheKeyHostname | Yes | String | INCOMING_HOST_HEADER, ORIGIN_HOSTNAME | |
cacheKeyIgnoreQueryString | Yes | CacheKeyIgnoreQueryString | | |
removeVaryHeader | Yes | boolean | true, false | 使用の有無 |
edgeAuth | Yes | EdgeAuth | | トークンを利用してユーザーのリクエストを検証 |
cachingRules | Yes | List<CachingRule> | | キャッシュの詳細設定 |
DefaultCaching
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無 |
ruleDefinitionType | Yes | String | CACHING, BYPASS_CACHE, ORIGIN_CACHE_CONTROL_HEADER | |
cacheRevalidateConfig | Yes | CacheRevalidateConfig | | |
CacheRevalidateConfig
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
type | Yes | String | IF_POSSIBLE, ALWAYS | Serve stale if unable to validate(IF_POSSIBLE), Always revalidate with origin(ALWAYS) |
ageType | Yes | String | SECONDS, MINUTES, HOURS, DAYS | |
age | Yes | Integer | | ageTypeに応じて時間単位を変更 |
BypassQueryString
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無 |
queryStrings | No | List<String> | enabledを trueに設定時、必須 | |
CacheKeyIgnoreQueryString
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
type | Yes | String | ALL_IGNORED, ALL_ALLOWED, ALLOW_SPECIFIC_STRING | |
queryStrings | No | List<String> | typeを ALLOW_SPECIFIC_STRINGにすると必須 | |
EdgeAuth
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無 |
type | Yes | String | SIGNED_URL, JWT, MEDIA_VAULT | サービス地域でグローバルを選択すると MEDIA_VAULTのみ使用可能 サービス地域が韓国/日本の場合はすべて使用可能 |
tokenName | No | String | スペースは使用できず、英字の小文字のみ使用可能、enabledを trueに設定すると必須 | |
tokenKey | No | String | enabledを trueに設定時、必須 | |
bypassValues | No | List<String> | MEDIA_VAULTはサポートしない | 認証対象外の拡張子(最大20個) 例) .ts、.jpg、.exe |
tokenBypassValues | No | List<String> | MEDIA_VAULTはサポートしない | 認証値をオリジンに渡す拡張子(最大20個) 例) playlist.m3u8, index.m3u8, .ts, .png |
CachingRule
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
ruleName | Yes | String | | |
ruleType | Yes | String | DIRECTORY, FILE_EXTENSION, ADVANCED | |
ruleConditions | Yes | List<String> | | |
ruleDefinitionType | Yes | String | CACHING, BYPASS_CACHE, ORIGIN_CACHE_CONTROL_HEADER | |
cacheRevalidateConfig | Yes | CacheRevalidateConfig | | |
ruleBasedRoutingConfig | Yes | RuleBasedRoutingConfig | | |
browserCache | Yes | BrowserCache | | |
cacheKeyQueryParameter | Yes | CacheKeyQueryParameter | | |
accessDeny | Yes | boolean | true, false | |
urlRedirect | Yes | UrlRedirect | | |
urlRewrite | Yes | UrlRewrite | | |
RuleBasedRoutingConfig
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無 |
originalCopyLocation | No | OriginalCopyLocation | enabledを trueに設定時、必須 | |
BrowserCache
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無 |
type | No | String | ALLOW_CACHE、NO_CACHE、enabledを trueに設定すると必須 | |
ageType | No | String | SECONDS、MINUTES、HOURS、DAYS、enabledを trueに設定すると必須 | |
age | No | Integer | enabledを trueに設定時、必須 | |
CacheKeyQueryParameter
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無 |
type | Yes | String | ALL_IGNORED, ALL_ALLOWED, ALLOW_SPECIFIC_STRING, IGNORE_SPECIFIC_STRING | |
queryParameters | No | List<String> | typeを ALLOW_SPECIFIC_STRING、IGNORE_SPECIFIC_STRINGにすると必須 | |
UrlRedirect
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無、UrlRedirectと UrlRewriteは同時使用できない |
destinationProtocol | No | String | HTTP、HTTPS、enabledを trueに設定すると必須 | |
destinationHostname | No | String | enabledを trueに設定時、必須 | |
destinationPath | No | String | enabledを trueに設定時、必須 | |
responseCode | No | String | MOVED_PERMANENTLY_301、FOUND_302、enabledを trueに設定すると必須 | |
UrlRewrite
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
enabled | Yes | boolean | true, false | 使用の有無、UrlRedirectと UrlRewriteは同時使用できない |
rewriteTarget | No | String | enabledを trueに設定時、必須 | |
ManagedRule
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
cors | Yes | boolean | true, false | 使用の有無 |
http2 | Yes | boolean | true, false | 使用の有無 |
trueClientIpHeader | Yes | boolean | true, false | 使用の有無 |
hsts | Yes | boolean | true, false | 使用の有無 |
HeaderPolicy
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
type | Yes | String | ORIGIN_REQUEST, CLIENT_RESPONSE | |
ruleName | Yes | String | | |
header | Yes | Header | | |
Header
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
type | Yes | String | ADD, MODIFY, REMOVE | |
name | Yes | String | | |
value | Yes | String | | |
OptimizationConfig
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
httpCompression | Yes | boolean | true, false | 使用の有無 |
largeFileOptimization | Yes | boolean | true, false | 使用の有無 |
AccessControl
パラメータ名 | 必須の有無 | タイプ | 制限事項 | 説明 |
---|
type | Yes | WHITELIST, BLACKLIST | すべてのアクセス制御ルールは1つのポリシーのみ使用可能 | |
ipPolicies | Yes | List<String> | IPアドレス形式のみ使用可能 | |
geoPolicies | Yes | List<String> | ISO 3166-1 alpha-2国コードを使用可能 | |
refererPolicies | Yes | List<String> | ドメイン形式のみ使用可能 | |
レスポンス
すべてのレスポンスは、HTTP Status Codeで成功または失敗を返します。
HTTPステータスコード | コードのメッセージ | 説明 |
---|
200 | Success | 照会成功 |
401 | Unauthorized | 認証失敗 |
500 | Internal Server Error | サーバエラー |
例
リクエスト例
https://edge.apigw.ntruss.com/api/v1/cdn-edge
{
"profileId": 234,
"edgeName": "sample-edge",
"distributionConfig": {
"protocolType": "ALL",
"regionType": "KOREA",
"serviceDomain": {
"domainType": "NCP_DOMAIN_AUTO",
"domainName": null,
"certificate": null
},
"edgeLogging": {
"enabled": true,
"objectStorage": {
"region": "KR",
"bucketName": "sample-bucket"
},
"bucketPrefix": "log/sample"
}
},
"originalCopyConfig": {
"originalCopyLocation": {
"type": "OBJECT_STORAGE",
"region": "KR",
"bucketName":"sample-bucket",
"customLocation": null
},
"forwardHostHeader": {
"type": "ORIGIN_HOSTNAME",
"customHostHeader": null
},
"originalCopyProtocol": {
"type": "HTTP",
"port": 80
},
"originalCopyPath": null,
"originShield": {
"enabled": true,
"region": "USWN"
},
"originFailoverConfig": null
},
"cachingConfig": {
"defaultCaching": {
"enabled": true,
"ruleDefinitionType": "CACHING",
"cacheRevalidateConfig": {
"type": "IF_POSSIBLE",
"ageType": "HOURS",
"age": "10"
}
},
"negativeTtl": true,
"bypassQueryString": {
"enabled": true,
"queryStrings": ["aaa", "bbb", "ccc"]
},
"cacheKeyHostname": "INCOMING_HOST_HEADER",
"cacheKeyIgnoreQueryString": {
"type": "ALL_ALLOWED",
"queryStrings": []
},
"removeVaryHeader": true,
"edgeAuth": {
"enabled": true,
"type": "SIGNED_URL",
"tokenName": "name",
"tokenKey": "902bceb96b2139771716910ff0b9befb"
},
"cachingRules": [{
"ruleName": "sample",
"ruleType": "DIRECTORY",
"ruleConditions": ["/sample/*"],
"ruleDefinitionType": "CACHING",
"cacheRevalidateConfig": {
"type": "IF_POSSIBLE",
"ageType": "SECONDS",
"age": 100
},
"ruleBasedRoutingConfig": {
"enabled": true,
"originalCopyLocation": {
"type": "OBJECT_STORAGE",
"region": "KR",
"bucketName": "sample-bucket",
"customLocation": null
}
},
"browserCache": {
"enabled": true,
"type": "ALLOW_CACHE",
"age": 100,
"ageType": "SECONDS"
},
"cacheKeyQueryParameter": {
"enabled": true,
"type": "IGNORE_SPECIFIC_STRING",
"queryParameters": ["aaa", "bbb", "ccc"]
},
"accessDeny": false,
"urlRedirect": {
"enabled": true,
"destinationProtocol": "HTTP",
"destinationHostname": "ncloud.com",
"destinationPath": "/home",
"responseCode": "FOUND_302"
},
"urlRewrite": {
"enabled": false,
"rewriteTarget": null
}
}]
},
"managedRule": {
"cors": true,
"http2": true,
"trueClientIpHeader": true,
"hsts": false
},
"headerPolicies": [{
"type": "ORIGIN_REQUEST",
"ruleName": "Modify Origin Reqeust Header",
"header": {
"type": "ADD",
"name": "name",
"value": "value"
}
}, {
"type": "CLIENT_RESPONSE",
"ruleName": "Modify Client Response Header",
"header": {
"type": "MODIFY",
"name": "name",
"value": "value"
}
}],
"optimizationConfig": {
"httpCompression": true,
"largeFileOptimization": true
},
"accessControl": {
"type": "WHITELIST",
"ipPolicies": ["1.1.1.1", "2.2.2.2", "3.3.3.3"],
"geoPolicies": ["AL", "SK", "ZM"],
"refererPolicies": ["ncloud.com", "naver.com"]
}
}
レスポンス例
{
"code": "0000",
"message": "Success",
"result": {
"edgeId": 123
}
}
エラーコード
Errorコード | 説明 |
---|
0032 | 許可されていないリクエスト |
9999 | サーバエラー発生 |
あなたのフィードバックをありがとう!私たちのチームはあなたに戻って取得します