Classic/VPC環境で利用できます。
運用中または停止状態のエッジを設定をします。入力した内容で既存の設定が上書きされます。
参考
エッジ編集の際は、下記の内容をご確認ください。
- サービス地域、サービスドメインの設定は変更できません。
- エッジ名はコンソールでのみ変更できます。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
メソッド | URI |
---|---|
PUT | /api/v1/cdn-edges/{edgeId} |
リクエストヘッダ
Global Edge APIで共通して使用されるヘッダの詳細は、Global Edgeのリクエストヘッダをご参照ください。
リクエストパスパラメータ
リクエストパスパラメータの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
edgeId |
Long | Required | エッジ ID
|
リクエストボディ
リクエストボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
profileId |
Long | Required | プロファイル ID
|
edgeName |
String | Required | エッジ名
|
distributionConfig |
Object | Required | デプロイ設定: CdnDistributionConfig |
originalCopyConfig |
Object | Required | オリジン設定: CdnOriginalCopyConfig |
cachingConfig |
Object | Required | キャッシュ設定: CdnCachingConfig |
managedRule |
Object | Required | マネージドルール: ManagedRule |
headerPolicies |
Array | Required | ヘッダ設定: HeaderPolicy
|
optimizationConfig |
Object | Required | 最適化設定: OptimizationConfig |
accessControl |
Object | Required | アクセス制御設定: AccessControl |
CdnDistributionConfig
CdnDistributionConfig
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
protocolType |
String | Required | サービスプロトコル
|
regionType |
String | Required | サービス地域
|
serviceDomain |
Object | Required | サービスドメインの設定
|
serviceDomain.domainType |
String | Required | サービスドメインタイプ
|
serviceDomain.domainName |
String | Conditional | ドメイン名
|
serviceDomain.certificate |
Object | Conditional | 証明書
|
serviceDomain.certificate.id |
Number | Conditional | 証明書スロット ID
|
edgeLogging |
Object | Required | エッジログ設定 |
edgeLogging.enabled |
Boolean | Required | 機能を使用するか
|
edgeLogging.bucketPrefix |
String | Optional | ログ保存パス |
edgeLogging.objectStorage |
Object | Conditional | ログストレージ情報
|
edgeLogging.objectStorage.region |
String | Conditional | サービスリージョン
|
edgeLogging.objectStorage.bucketName |
String | Conditional | バケット名 |
CdnOriginalCopyConfig
CdnOriginalCopyConfig
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
originalCopyLocation |
Object | Required | オリジンサーバ設定 |
originalCopyLocation.type |
String | Required | オリジンタイプ
|
originalCopyLocation.region |
String | Conditional | サービスリージョン
|
originalCopyLocation.bucketName |
String | Conditional | バケット名
|
originalCopyLocation.customLocation |
String | Conditional | オリジンドメイン名
|
forwardHostHeader |
Object | Required | ホストヘッダのフォワード設定 |
forwardHostHeader.type |
String | Required | フォワードタイプ
|
forwardHostHeader.customHostHeader |
String | Conditional | ホストヘッダ値
|
originalCopyProtocol |
Object | Required | オリジンプロトコルの設定 |
originalCopyProtocol.type |
String | Required | プロトコルタイプ
|
originalCopyProtocol.port |
Integer | Required | ポート番号 |
originalCopyPath |
String | Optional | オリジンパス
|
originFailoverConfig |
Object | Optional | オリジンフェイルオーバー設定 |
originFailoverConfig.ruleName |
String | Conditional | フェイルオーバールール名 |
originFailoverConfig.statusCodes |
Array | Conditional | オリジンレスポンスコードリスト
|
originFailoverConfig.originalCopyLocation |
Object | Conditional | リクエストをフォワードするバックアップオリジンサーバ情報 |
originFailoverConfig.originalCopyLocation.type |
String | Conditional | バックアップオリジンのタイプ
|
originFailoverConfig.originalCopyLocation.region |
String | Conditional | サービスリージョン
|
originFailoverConfig.originalCopyLocation.bucketName |
String | Conditional | バケット名
|
originFailoverConfig.originalCopyLocation.customLocation |
String | Conditional | オリジンドメイン名
|
CdnCachingConfig
CdnCachingConfig
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
defaultCaching |
Object | Required | キャッシュのデフォルト設定 |
defaultCaching.enabled |
Boolean | Required | 機能を使用するか
|
defaultCaching.ruleDefinitionType |
String | Required | キャッシュオプション
|
defaultCaching.cacheRevalidateConfig |
Object | Required | 古いオブジェクトの再検証設定
|
defaultCaching.cacheRevalidateConfig.type |
String | Required | 再検証のタイプ
|
defaultCaching.cacheRevalidateConfig.ageType |
String | Required | キャッシュ最大保管期間の単位
|
defaultCaching.cacheRevalidateConfig.age |
String | Required | キャッシュの最大保管期間
|
negativeTtl |
Boolean | Required | ネガティブ TTLを使用するか
|
bypassQueryString |
Object | Required | バイパスクエリ文字列の設定
|
bypassQueryString.enabled |
Boolean | Required | 機能を使用するか
|
bypassQueryString.queryStrings |
Array | Conditional | 対象の文字列リスト |
cacheKeyHostname |
String | Required | キャッシュキーホスト名タイプ
|
cacheKeyIgnoreQueryString |
Object | Required | キャッシュキークエリ文字列の設定
|
cacheKeyIgnoreQueryString.type |
String | Required | 設定のタイプ
|
cacheKeyIgnoreQueryString.queryStrings |
Array | Conditional | 対象の文字列リスト
|
urlLetterCaseIgnoreUse |
Boolean | Optional | キャッシュキーの大文字・小文字区別を無視するか
|
removeVaryHeader |
Boolean | Required | Varyヘッダ削除を使用するか
|
edgeAuth |
Object | Required | リクエスト認証の設定
|
edgeAuth.enabled |
Boolean | Required | 機能を使用するか
|
edgeAuth.type |
String | Conditional | 認証のタイプ
|
edgeAuth.tokenName |
String | Conditional | トークン名
|
edgeAuth.tokenKey |
String | Conditional | トークンキー値 |
edgeAuth.bypassValues |
Array | Optional | 認証除外拡張子リスト
|
edgeAuth.tokenBypassValues |
Array | Optional | 認証値をオリジンに渡す拡張子リスト
|
cachingRules |
Array | Required | キャッシュの詳細ルールを設定: CachingRule |
CachingRule
CachingRule
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
ruleName |
String | Required | キャッシュの詳細ルール名 |
ruleType |
String | Required | ルール条件タイプ
|
ruleConditions |
Array | Required | ルール条件リスト
|
ruleDefinitionType |
String | Required | キャッシュオプション
|
cacheRevalidateConfig |
Object | Required | 古いオブジェクトの再検証設定
|
cacheRevalidateConfig.type |
String | Required | 再検証のタイプ
|
cacheRevalidateConfig.ageType |
String | Required | キャッシュ最大保管期間の単位
|
cacheRevalidateConfig.age |
Integer | Required | キャッシュの最大保管期間
|
ruleBasedRoutingConfig |
Object | Required | ルールベースのオリジンルーティング設定
|
ruleBasedRoutingConfig.enabled |
Boolean | Required | 機能を使用するか
|
ruleBasedRoutingConfig.originalCopyLocation |
Object | Conditional | オリジンサーバ設定 |
ruleBasedRoutingConfig.originalCopyLocation.type |
String | Conditional | オリジンタイプ
|
ruleBasedRoutingConfig.originalCopyLocation.region |
String | Conditional | サービスリージョン
|
ruleBasedRoutingConfig.originalCopyLocation.bucketName |
String | Conditional | バケット名
|
ruleBasedRoutingConfig.originalCopyLocation.customLocation |
String | Conditional | オリジンドメイン名
|
browserCache |
Object | Required | ブラウザキャッシュの設定
|
browserCache.enabled |
Boolean | Required | 機能を使用するか
|
browserCache.type |
String | Conditional | ブラウザのキャッシュを許可するか
|
browserCache.ageType |
String | Conditional | キャッシュ最大保管期間の単位
|
browserCache.age |
Integer | Conditional | キャッシュの最大保管期間
|
cacheKeyQueryParameter |
Object | Required | キャッシュキークエリパラメータ設定
|
cacheKeyQueryParameter.enabled |
Boolean | Required | 機能を使用するか
|
cacheKeyQueryParameter.type |
String | Conditional | 設定タイプ
|
cacheKeyQueryParameter.queryParameters |
Array | Conditional | 対象の文字列リスト
|
accessDeny |
Boolean | Required | ルール条件(ruleConditions )へのアクセスをブロックするか
|
urlRedirect |
Object | Required | URLリダイレクト設定
|
urlRedirect.enabled |
Boolean | Required | 機能を使用するか
|
urlRedirect.destinationProtocol |
String | Conditional | リダイレクト目的地プロトコル
|
urlRedirect.destinationHostname |
String | Conditional | リダイレクト目的地ホスト
|
urlRedirect.destinationPath |
String | Conditional | リダイレクト目的地の詳細パス |
urlRedirect.responseCode |
String | Conditional | リダイレクトの状態コード
|
urlRewrite |
Object | Required | URLリライト設定
|
urlRewrite.enabled |
Boolean | Required | 機能を使用するか
|
urlRewrite.rewriteTarget |
String | Conditional | 目的地の詳細パス |
ManagedRule
ManagedRule
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
cors |
Boolean | Required | CORSヘッダ(オリジン間リソース共有ヘッダ)を追加するか
|
http2 |
Boolean | Required | HTTP/2(オープンネットワークプロトコル)を使用するか
|
trueClientIpHeader |
Boolean | Required | オリジンサーバへのリクエストフォワード時にヘッダにクライアント IPアドレスヘッダを追加するか
|
hsts |
Boolean | Required | ブラウザアクセスに HTTPSを使用するか
|
HeaderPolicy
HeaderPolicy
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
type |
String | Required | ヘッダタイプ
|
ruleName |
String | Required | ヘッダ設定名 |
header |
Object | Required | ヘッダの詳細設定 |
header.type |
String | Required | アクションタイプ
|
header.name |
String | Required | ヘッダ名 |
header.value |
String | Conditional | ヘッダ値
|
OptimizationConfig
OptimizationConfig
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
httpCompression |
Boolean | Required | Gzip、Brotli圧縮転送を使用するか
|
largeFileOptimization |
Boolean | Required | 大容量ファイル転送を使用するか
|
AccessControl
AccessControl
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
type |
String | Required | アクセス制御タイプ
|
ipPolicies |
Array | Required | クライアント IPアドレスまたは CIDRブロック
|
geoPolicies |
Array | Required | クライアント国コード
|
refererPolicies |
Array | Required | HTTPリクエストリファラヘッダ
|
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request PUT 'https://edge.apigw.ntruss.com/api/v1/cdn-edges/123' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
"profileId": 234,
"edgeName": "sample-edge",
"distributionConfig": {
"protocolType": "ALL",
"regionType": "KOREA",
"serviceDomain": {
"domainType": "NCP_DOMAIN_AUTO",
"domainName": null,
"certificate": null
},
"edgeLogging": {
"enabled": true,
"bucketPrefix": "log/sample",
"objectStorage": {
"region": "KR",
"bucketName": "sample-bucket"
}
}
},
"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,
"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": "902bceb96************10ff0b9befb"
},
"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",
"ageType": "SECONDS",
"age": 100
},
"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 Request 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 |
String | - | レスポンスコード |
message |
String | - | レスポンスメッセージ |
result |
Object | - | レスポンス結果 |
result.edgeId |
Integer | - | エッジ ID |
レスポンスステータスコード
Global Edge APIで共通して使用されるレスポンスステータスコードの詳細は、Global Edgeのレスポンスステータスコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
{
"code": "0000",
"message": "Success",
"result": {
"edgeId": 123
}
}