Edgeの修正
    • PDF

    Edgeの修正

    • PDF

    Article Summary

    概要

    作成された CDN Edge設定を変更します。

    • 運用中、停止状態でのみリクエストできます。
    • サービスエリアやサービスドメインは変更できません。

    リクエスト

    リクエスト URL

    PUT
    https://edge.apigw.ntruss.com/api/v1/cdn-edges/{edgeId}
    

    リクエストボディ

    EdgeConfig

    パラメータ名要否タイプ制約事項説明
    profileIdYesLongプロファイル ID
    edgeNameYesStringアルファベット、数字、特殊文字の「-」、「_」のみ使用可能
    distributionConfigYesCdnDistributionConfigリリースの設定
    originalCopyConfigYesCdnOriginalCopyConfigソース設定
    cachingConfigYesCdnCachingConfigキャッシュ設定
    managedRuleYesManagedRuleマネージドルールの設定
    headerPoliciesYesList<HeaderPolicy>ヘッダの設定
    optimizationConfigYesOptimizationConfig最適化設定
    accessControlYesAccessControlアクセス制御の設定

    CdnDistributionConfig

    パラメータ名要否タイプ制約事項説明
    protocolTypeYesStringHTTP, HTTPS, ALLサービスプロトコル
    regionTypeYesStringKOREA, JAPAN, GLOBALサービス地域
    serviceDomainYesServiceDomainサービスドメイン
    edgeLoggingYesEdgeLoggingEdgeロギングの設定

    ServiceDomain

    パラメータ名要否タイプ制約事項説明
    domainTypeYesStringNCP_DOMAIN_AUTO, NCP_DOMAIN_CUSTOM, CUSTOM_DOMAINドメインの使用タイプ
    domainNameYesStringdomainTypeを custom domainで使用時にドメイン形式を使用
    certificateNoCertificateHTTPSと個人ドメインを一緒に使用する場合、必須

    Certificate

    パラメータ名要否タイプ制約事項説明
    idYesLongCertificate Managerに登録された証明書の certificateNo

    EdgeLogging

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無
    bucketPrefixNoString
    objectStorageNoObjectStorageenabledを trueに設定する場合、必須

    ObjectStorage

    パラメータ名要否タイプ制約事項説明
    regionYesStringKR, USWN, SGN, JPN, DEN韓国(KR)、米国西部(USWN)、シンガポール(SGN)、日本(JPN)、ドイツ(DEN)
    bucketNameYesStringObject Storageのバケット名

    CdnOriginalCopyConfig

    パラメータ名要否タイプ制約事項説明
    originalCopyLocationYesOriginalCopyLocationソースドメイン設定
    forwardHostHeaderYesForwardHostHeaderForward Host Header
    originalCopyProtocolYesOriginalCopyProtocolソースプロトコル設定
    originalCopyPathNoStringソースパス
    originShieldYesOriginShieldオリジンシールドの設定
    originFailoverConfigNoOriginFailoverConfigフェイルオーバーポリシーの設定

    OriginalCopyLocation

    パラメータ名要否タイプ制約事項説明
    typeYesStringOBJECT_STORAGE, CUSTOM, NONEソースタイプ
    regionNoStringKR, HK, SGN, JPN, USWN, DEN韓国(KR)、香港(HK)、シンガポール(SGN)、日本(JPN)、米国西部(USWN)、ドイツ(DEN)、Object Storageを使用する場合、必須
    bucketNameNoStringtypeが Object Storageの場合、必須Object Storageのバケット名
    customLocationNoStringtypeが customの場合、必須bucketName、customLocationは typeに応じて1つのみ使用可能

    ForwardHostHeader

    パラメータ名要否タイプ制約事項説明
    typeYesStringINCOMING_HOST_HEADER, ORIGIN_HOSTNAME, CUSTOM
    customHostHeaderNoStringtypeが customの場合、必須

    OriginalCopyProtocol

    パラメータ名要否タイプ制約事項説明
    typeYesStringHTTP, HTTPSソースのプロトコル
    portYesIntegerソースポート

    OriginShield

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無
    regionNoStringKR, HK, SGN, JPN, USWN, DEN韓国(KR)、香港(HK)、シンガポール(SGN)、日本(JPN)、米国西部(USWN)、ドイツ(DEN)、enabledを trueに設定する場合、必須

    OriginFailoverConfig

    パラメータ名要否タイプ制約事項説明
    ruleNameYesString
    statusCodesYesList<Integer>404, 500, 502, 503, 504
    originalCopyLocationYesOriginalCopyLocation

    CdnCachingConfig

    パラメータ名要否タイプ制約事項説明
    defaultCachingYesDefaultCaching基本キャッシュの設定
    negativeTtlYesbooleantrue, false使用有無、エラーレスポンスキャッシュの設定
    bypassQueryStringYesBypassQueryString
    cacheKeyHostnameYesStringINCOMING_HOST_HEADER, ORIGIN_HOSTNAME
    cacheKeyIgnoreQueryStringYesCacheKeyIgnoreQueryString
    removeVaryHeaderYesbooleantrue, false使用有無
    edgeAuthYesEdgeAuthトークンを利用してユーザーのリクエストを検証
    cachingRulesYesList<CachingRule>キャッシュ詳細設定

    DefaultCaching

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無
    ruleDefinitionTypeYesStringCACHING, BYPASS_CACHE, ORIGIN_CACHE_CONTROL_HEADER
    cacheRevalidateConfigYesCacheRevalidateConfig

    CacheRevalidateConfig

    パラメータ名要否タイプ制約事項説明
    typeYesStringIF_POSSIBLE, ALWAYSServe stale if unable to validate(IF_POSSIBLE), Always revalidate with origin(ALWAYS)
    ageTypeYesStringSECONDS, MINUTES, HOURS, DAYS
    ageYesIntegerageTypeによって時間単位の変更

    BypassQueryString

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無
    queryStringsNoList<String>enabledを trueに設定する場合、必須

    CacheKeyIgnoreQueryString

    パラメータ名要否タイプ制約事項説明
    typeYesStringALL_IGNORED, ALL_ALLOWED, ALLOW_SPECIFIC_STRING
    queryStringsNoList<String>typeを ALLOW_SPECIFIC_STRINGで使用する場合、必須

    EdgeAuth

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無
    typeYesStringSIGNED_URL, JWT, MEDIA_VAULTサービスエリアをグローバルで選択時、MEDIA_VAULTのみ使用可能
    サービスエリア、韓国/日本はすべて使用可能
    tokenNameNoStringスペースなしで英語の小文字のみ使用可能、enabledを trueに設定する場合、必須
    tokenKeyNoStringenabledを trueに設定する場合、必須
    bypassValuesNoList<String>MEDIA_VAULT非対応認証除外する拡張子(最大20個)
    例) .ts、.jpg、.exe
    tokenBypassValuesNoList<String>MEDIA_VAULT非対応認証値をソースに渡す拡張子(最大20個)
    例) playlist.m3u8、index.m3u8、.ts、.png

    CachingRule

    パラメータ名要否タイプ制約事項説明
    ruleNameYesString
    ruleTypeYesStringDIRECTORY, FILE_EXTENSION, ADVANCED
    ruleConditionsYesList<String>
    ruleDefinitionTypeYesStringCACHING, BYPASS_CACHE, ORIGIN_CACHE_CONTROL_HEADER
    cacheRevalidateConfigYesCacheRevalidateConfig
    ruleBasedRoutingConfigYesRuleBasedRoutingConfig
    browserCacheYesBrowserCache
    cacheKeyQueryParameterYesCacheKeyQueryParameter
    accessDenyYesbooleantrue, false
    urlRedirectYesUrlRedirect
    urlRewriteYesUrlRewrite

    RuleBasedRoutingConfig

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無
    originalCopyLocationNoOriginalCopyLocationenabledを trueに設定する場合、必須

    BrowserCache

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無
    typeNoStringALLOW_CACHE、NO_CACHE、enabledを trueに設定する場合、必須
    ageTypeNoStringSECONDS、MINUTES、HOURS、DAYS、enabledを trueに設定する場合、必須
    ageNoIntegerenabledを trueに設定する場合、必須

    CacheKeyQueryParameter

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無
    typeYesStringALL_IGNORED, ALL_ALLOWED, ALLOW_SPECIFIC_STRING, IGNORE_SPECIFIC_STRING
    queryParametersNoList<String>typeを ALLOW_SPECIFIC_STRING、IGNORE_SPECIFIC_STRINGで使用する場合、必須

    UrlRedirect

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無、UrlRedirectと UrlRewriteは同時使用不可
    destinationProtocolNoStringHTTP、HTTPS、enabledを trueに設定する場合、必須
    destinationHostnameNoStringenabledを trueに設定する場合、必須
    destinationPathNoStringenabledを trueに設定する場合、必須
    responseCodeNoStringMOVED_PERMANENTLY_301、FOUND_302、enabledを trueに設定する場合、必須

    UrlRewrite

    パラメータ名要否タイプ制約事項説明
    enabledYesbooleantrue, false使用有無、UrlRedirectと UrlRewriteは同時使用不可
    rewriteTargetNoStringenabledを trueに設定する場合、必須

    ManagedRule

    パラメータ名要否タイプ制約事項説明
    corsYesbooleantrue, false使用有無
    http2Yesbooleantrue, false使用有無
    trueClientIpHeaderYesbooleantrue, false使用有無
    hstsYesbooleantrue, false使用有無

    HeaderPolicy

    パラメータ名要否タイプ制約事項説明
    typeYesStringORIGIN_REQUEST, CLIENT_RESPONSE
    ruleNameYesString
    headerYesHeader

    Header

    パラメータ名要否タイプ制約事項説明
    typeYesStringADD, MODIFY, REMOVE
    nameYesString
    valueYesString

    OptimizationConfig

    パラメータ名要否タイプ制約事項説明
    httpCompressionYesbooleantrue, false使用有無
    largeFileOptimizationYesbooleantrue, false使用有無

    AccessControl

    パラメータ名要否タイプ制約事項説明
    typeYesWHITELIST, BLACKLISTすべてのアクセス制御ルールは1つのポリシーのみ使用可能
    ipPoliciesYesList<String>IPアドレス形式のみ使用可能
    geoPoliciesYesList<String>ISO 3166-1 alpha-2の国家コードを使用可能
    refererPoliciesYesList<String>ドメイン形式のみ使用可能

    レスポンス

    すべてのレスポンスは、HTTP Status Codeで成功または失敗を返します。

    HTTPステータスコードコードのメッセージ説明
    200Success照会成功
    401Unauthorized認証失敗
    500Internal Server Errorサーバエラー

    リクエスト例

    https://edge.apigw.ntruss.com/api/v1/cdn-edges/123
    
    {
        "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サーバエラー発生

    この記事は役に立ちましたか?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.