ラベル Api-Gateway の投稿を表示しています。 すべての投稿を表示
ラベル Api-Gateway の投稿を表示しています。 すべての投稿を表示

2022年2月17日木曜日

Freenom x Api Gateway x Route53

 


Route53:


作成したドメイン








Freenomの作成したドメイン:


















以下、Route53で作成時に割り当てられたDNSを指定する





















カスタムドメイン名 -> ドメイン名(freenomで作成したドメイン名を記載) ->作成
















ドメイン名   :freenomで作成したドメインを入力

ACM証明書  :作成済みのACMを選択

      ->ドメイン名を作成を押す




















APIマッピングのタブを選択

APIマッピングを設定を押す











作成済みのAPIを選択

保存を押す









Route53にて、対象のドメインにて、レコードを作成を押す













レコードタイプ:A-IPv4アドレスを選択

エイリアスに切り替える

アジアパシフィック(ap-northest-1: 今回作成したリージョン )

作成した、Api-Gatewayのアドレスを選択

レコードの作成を押す。















以下のアドレスが追記されたことがわかる。










アクセスした様子:




2020年5月21日木曜日

APiGateway x Route53

参照先:
https://aws.amazon.com/jp/blogs/architecture/using-api-gateway-as-a-single-entry-point-for-web-applications-and-api-microservices/?nc1=h_ls

ApiGatewayについて

参照先:


リソース:Apiのパスを表す。
①デフォルトが “ /  “のみなので、http://api-endpoint.comにした場合は、アクセス先になる。
②http://api-endpoint.com/testと追加を行うと、パスを深くすることも可能。
リソース内に、メソッドを定義している。


メソッド:
httpプロトコルを使用して、サーバに対して要求することを指す。
testに対して、POSTメソッドを定義すると、http://api-endpoint.com/testに対して
POSTリクエストがあった時に定義される

HTTPメソッド
メソッド
意味
GET
リソースの取得
POST
子リソースの作成、リソースへのデータ追加、その他処理
PUT
リソースの更新、リソースの作成
DELETE
リソースの削除
HEAD
リソースのヘッダ (メタデータの取得)
OPTIONS
リソースがサポートしているメソッドの取得
TRACE
プロキシ動作の確認
CONNECT
プロキシ動作のトンネル接続への変更


CRUD:
CRUDはCreate, Read, Update, Deleteのこと。
HTTPメソッドのうちGET、POST、PUT、DELETEは「CRUD」を満たす
CURD名
意味
メソッド
Create
作成
POST/PUT
Read
読み込み
GET
Update
更新
PUT
Delete
削除
DELETE


Content-Type: 
使いそうなのだけ抜粋
Content-Type
Kind
text/plain
テキストファイル
application/xml
HTMLファイル
application/json
JSONファイル


以下はメソッドの一覧である。
○は仕様として定義されているもの、△はAppendixとして示されており、正式な仕様ではないものである。
メソッド
HTTPバージョン

意味

1.0
1.1

GET
○
○
URIで指定した情報を要求。URIがファイル名のときはそのファイルの中身を、プログラム名のときはそのプログラムの出力を返す
HEAD
○
○
GETと同じだがHTTPヘッダのみを返す
POST
○
○
クライアントからデータを(名前と値)のセットで渡す。フォームデータを送るときなどに使用
OPTIONS

○
通信オプションの通知など
PUT
△
○
URIで指定したサーバ上のファイルを置き換える
DELETE
△
○
URIで指定したサーバ上のファイルを削除する
TRACE

○
サーバが受け取った要求行とヘッダ行をそのまま送り返す
PATCH

△
PUTと同じだが、差分のみを置き換える
LINK

△
他の情報との関連付け
UNLINK

△
LINKで設定した関連を外す

API-gatewayカスタムドメイン

1)カスタムドメイン名を選択する


2)作成を選択


3)以下、設定値を入力
①ドメイン名:該当する記載にする
②エンドポイントタイプ:リージョン
③TLS最小バージョン:TLS1.2
④ACM証明書:ACMで作成した証明書(該当する物)を選択

5)作成を押す


6)該当するドメインを選択
7)APIマッピングの選択を選ぶ


8)以下、設定値を入力
①API:作成済の(該当する)API Gatewayを選択する
②ステージ:該当するものを選択
③パス:API Gatewayでしたパスを選択。

9)保存を選択


10)API ドメイン名を控えておく


11)Route53にて、Aレコードを新規作成して以下の値を入力する。
①名前:該当するドメイン名を入力する
②タイプ:A -IP アドレス
③エイリアス先:上記で控えたAPI Gatewayのドメイン名を入力

12)作成を押す

2020年5月20日水曜日

API-Gateway(総合タイプ:VPCリンク)

1)アクションボタンからメソッド、リソースの生成方法については割愛。


2)以下、設定を行う
①総合タイプ:VPCリンク
②メソッド:ANY
③VPCリンク:作成済みのVPCリンクを選択
④エンドポイント:指定のURLにする。


3)VPCリンク:
Beanstalk作成時に自動生成されたELBを選択する。


注意点:
ステージにデプロイ後に、即時反映しないので、数分ほど様子をみること!!

2020年5月19日火曜日

API-gateway(設定メモ)

前提条件:VPCリンクの作成ができていること。
その他:アクションボタンからメソッド、リソースの生成方法については割愛。



1)以下の管理画面、API、websocketの3つの構成にしています。
①API
②smart(管理画面)
③websocket               

■API
①総合タイプ:VPCリンクを選択
②メソッド:ANY
③VPCリンク:VPCリンクで作成したAPI用のVPCリンクを選択する
④エンドポイント:エンドポイント記載する。(実施のAPIのエンドポイントを指定してます。)
■管理画面
①総合タイプ:VPCリンクを選択
②プロキシ統合の使用:チェック(問い合わせを行った時に、文字コードだけの表示になるので、チェックを入れてます。)
③メソッド:ANY
④VPCリンク:VPCリンクで作成した管理画面用のVPCリンクを選択する
⑤エンドポイント:エンドポイント記載する。(実施の管理画面のエンドポイントを指定してます。)



■Socket
①総合タイプ:VPCリンクを選択
②メソッド:ANY
③VPCリンク:VPCリンクで作成したsocket用のVPCリンクを選択する
④エンドポイント:エンドポイント記載する。(実施のエンドポイントを指定してます。)

注意点:
ステージにデプロイ後に、即時反映しないので、数分ほど様子をみること!!


Cloudfront(カスタムドメインを利用したい場合)

1)Create Distributionを選択


2)Web > Get Startedを選択


備考:Api-gatewayでステージングでデプロイしたAPIを利用する
https://xxxxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/prod/api
(Api-gatewayの画面です。)


3)Create Distribution:
①Origin Domain Name:xxxxxxxx.execute-api.ap-northeast-1.amazonaws.com
②Origin Path:/prod/api
③Minimum Origin SSL Protocol:TLSv1.2
④Origin Protocol Policy:Match Viewer


4)Default Cache Behavior Settings :
①View Protocol Policy:HTTP and HTTPS
②Allowed HTTP Methods:GET,HEAD
③Object Caching:Use Origin Cache Headers
④Minimum TTL : 0
⑤Maximum TTL : 31536000
⑥Default TTL : 86400
⑦Forward Cookies : Node
⑧Query String Forwarding and Caching : Node
⑨Smooth Streaming : No
⑩Restrict Viewer Access(Use Signed URLs or Signed Cookies) : No
⑪Compress Objects Automatically : No


5)Distribution Settings:
①Alternate Domain Names(CNAMEs): api.xxxxx-test.com(route53で割り当てたドメインを利用)
②SSL Certificate:Custom SSL Certificate (example.com):    *.xxxxxxx-test.com (5f3c6e6f-dc35-42ff-a274-baf735e82ff0)
③*.xxxxxx-test.com (5f3c6e6f-dc35-42ff-a274-baf735e82ff0)  ->ACMで以前に生成した物を利用
④Create Distributionbutionを押す。


作成後、https://api-xxxxx-test.com でアクセス可能になるのと
証明書についてもACMで生成した物を利用していることが把握できる。

【AI×GitOps】Docker Composeから始めるRaspberry Pi 5 Kubernetesクラスタへの自動デプロイ設計

現在構築を進めている動画管理システム開発において、いきなりKubernetes(K8s)に展開するのではなく、 Docker Composeを中間地点に挟んで段階的にK8s+Argo CD(GitOps)へ移行するアーキテクチャ設計 をまとめました。 Bionic(AIアシスタン...