Edgeの作成
    • PDF

    Edgeの作成

    • PDF

    記事の要約

    概要

    CDN Edgeを新規作成します。

    • アカウントごとに Edgeを最大100個まで作成できます。

    リクエスト

    リクエスト URL

    POST 
    https://edge.apigw.ntruss.com/api/v1/cdn-edge
    

    リクエストボディ

    EdgeConfig

    パラメータ名必須の有無タイプ制限事項説明
    profileIdYesLongプロファイル ID
    edgeNameYesString英数字と記号の「-」、「_」のみ使用可能
    distributionConfigYesCdnDistributionConfigデプロイの設定
    originalCopyConfigYesCdnOriginalCopyConfigオリジンの設定
    cachingConfigYesCdnCachingConfigキャッシュの設定
    managedRuleYesManagedRuleマネージドルールの設定
    headerPoliciesYesList<HeaderPolicy>ヘッダの設定
    optimizationConfigYesOptimizationConfig最適化の設定
    accessControlYesAccessControlアクセス制御の設定

    CdnDistributionConfig

    パラメータ名必須の有無タイプ制限事項説明
    protocolTypeYesStringHTTP, HTTPS, ALLサービスプロトコル
    regionTypeYesStringKOREA、JAPAN、GLOBAL(性能優先)、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, SGN, JPN, USWN, DEN韓国(KR)、シンガポール(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, SGN, JPN, USWN, DEN韓国(KR)、シンガポール(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-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サーバエラー発生

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

    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.