【ISSUE】[AWS]プライベートAPIを作成(雑メモ)
2024年12月23日 8:40
実務でプライベートAPIを作成したので、忘れないように、構築する手順をメモとして書いていきます。
かなり雑に書いているので見にくいです。ごめんなさい
イメージとしては、以下のような感じです。
以下のサイトから画像は頂きました。
・Lambdaを開き、関数を作成する。
↓
・API Gatewayを開き、「APIを作成」をクリックする。
↓
・「REST API プライベート」の「構築」をクリックする。
↓
・「新しいAPI」を選択し、API名に任意の名前を入力、「APIエンドポイントタイプ」が「プライベート」となっていることを確認し、「APIを作成」をクリックする。
↓
・APIが作成されたら、サイドバーから「リソース」を選択し、「メソッドを作成」をクリックする。
↓
・メソッドタイプを「GET」とし、統合タイプに「Lambda関数」を選択し、Lambda関数のリージョンは「ap-northeast-1」を選択し、右側のメソッドには、先ほど作成した関数を選択し、「メソッドの作成」をクリックする。
↓
・メソッドが作成されたら、APIとLambda関数が接続されたかを確認するため、「テスト」から「テストの実行」をクリックする。
・「VPCエンドポイント」を開き、「エンドポイントの作成」をクリックする。
↓
・名前に任意の名前を入力し、サービスカテゴリは「AWSのサービス」を選択する。
↓
・サービスで「execute-api」を選択。これを選択しないとAPIを実行できない。VPCは実行したいec2が属するVPCを選択する。
↓
・サブネットもec2が所属するものを選択する。セキュリティグループはHTTPSがインバウンドで許可されていればなんでもOK。
↓
・ポリシーで「フルアクセス」を選択し、「エンドポイントの作成」をクリックする。
↓
・エンドポイントが作成される。エンドポイントIDをコピーしておく。
・API Gatewayで、先ほど作成したAPIを開き、サイドバーから「APIの設定」を選択し、「APIの詳細」の「編集」をクリックする。
↓
・「VPCエンドポイントID」に、先ほどコピーしたVPCエンドポイントIDを追加して、「変更を保存」をクリックする。
↓
・「VPC endpoint IDs」に、追加したVPCエンドポイントが表示される。
↓
・続いて、サイドバーから「リソースポリシー」を選択し、「ポリシーを作成」をクリックする。
↓
・以下のコードをポリシーの詳細に記入し、「変更を保存」をクリックする。
↓
・続いて、サイドバーの「リソース」を選択し、「APIをデプロイ」をクリックする。
↓
・「ステージ」で「新しいステージ」を選択する。
↓
・「ステージ名」で任意のステージ名を入力し、「デプロイ」をクリックする。
↓
・APIがデプロイされたら、URLをコピーしておく。
・コマンドプロンプトを起動し、ssh接続をして、以下のコマンドを入力して、EC2からAPIを呼び出せるかを確認する。
↓
・EC2にログインしないで、先ほどと同じコマンドを入力して、以下のメッセージが表示されるかを確認する。
↓
以上の手順が問題なくいけば、成功している。
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/apigateway-private-apis.html
https://taiyakikuroann.hatenablog.com/entry/2021/07/09/214956
https://www.higutthiengineer.com/2022/10/22/awsprivateapi/
https://oji-cloud.net/2020/03/13/post-4469/
https://dev.classmethod.jp/articles/private-api-is-not-private-for-you/
[cv:issue_marketplace_engineer]
診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。