

# API Gateway で WebSocket API を作成する
<a name="apigateway-websocket-api-create-empty-api"></a>

WebSocket API は、API Gateway コンソールで AWS CLI [create-api](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-api.html) コマンドを使用するか、AWS SDK で `CreateApi` コマンドを使用して作成できます。以下の手順では、新しい WebSocket API を作成する方法を示しています。

**注記**  
WebSocket API は、TLS 1.2 と TLS 1.3 のみをサポートしています。以前の TLS バージョンはサポートされていません。

## AWS CLI コマンドを使用して WebSocket API を作成する
<a name="apigateway-websocket-api-create-using-awscli"></a>

次の [create-api](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-api.html) コマンドは、`$request.body.action` ルート選択式を含む API を作成します。

```
aws apigatewayv2 --region us-east-1 create-api --name "myWebSocketApi3" --protocol-type WEBSOCKET --route-selection-expression '$request.body.action'
```

出力は次のようになります。

```
{
    "ApiKeySelectionExpression": "$request.header.x-api-key",
    "Name": "myWebSocketApi3",
    "CreatedDate": "2018-11-15T06:23:51Z",
    "ProtocolType": "WEBSOCKET",
    "RouteSelectionExpression": "'$request.body.action'",
    "ApiId": "aabbccddee"
}
```

## API Gateway コンソールを使用した WebSocket API の作成
<a name="apigateway-websocket-api-create-using-console"></a>

WebSocket プロトコルを選択し、API に名前を付けることで、コンソールで WebSocket API を作成できます。

**重要**  
API を作成した後で、選択したプロトコルを変更することはできません。WebSocket API を REST API に変換することはできません。その逆も同様です。

**API Gateway コンソールを使用して WebSocket API を作成するには**

1. API Gateway コンソールにサインインし、[**Create API (API の作成)**] を選択します。

1. [**WebSocket API**] で [**Build (ビルド)**] を選択します リージョンのエンドポイントのみがサポートされます。

1. **[API 名]** に API の名前を入力します。

1. **[ルート選択式]** に値を入力します。例えば、`$request.body.action` と指定します。

   ルート選択式の詳細については、「[ルート選択式](websocket-api-develop-routes.md#apigateway-websocket-api-route-selection-expressions)」を参照してください。

1. 次のいずれかを行ってください。
   + ルートのない API を作成するには、**[空の API を作成]** を選択します。
   + **[次へ]** を選択して API にルートをアタッチします。

   API を作成したら、ルートをアタッチできます。