【生成AI活用】Dify×AWS LightSailでつくる、AI活用チャットボット環境構築と活用例

# ０. はじめに、概要

<br>

## はじめに

はじめまして。YOSHI-KUNと申します。
普段はエンジニアとして生成AIを用いたアプリケーション開発をメインに活動しています。

Advent Calendarということで、この機会なので書いていきます。

「注目の生成AIってどう使ったらいいんだろう」「どのように構築すればいいんだろう」という方を対象に進めていきたいと思います。

## 概要

１．OpenAIアカウントの作成、 APIの発行
２．AWS アカウントの作成、Lightsail画面の立ち上げ
３．LightsailでVMマシンを作成する

４．独自ドメイン名の取得
５．Static IPアドレスの発行
６．443ポートの設定
７．Static IPと独自ドメインの紐づけ

８．LightsailのVMマシンにSSH接続
９．スクリプトを実行し、HTTPS化する
１０．参考資料

# １．OpenAIアカウントの作成、 APIの発行

まずここで一つ。ChatGPTって皆さんご存じですか？<br>
いわゆる生成AIと呼ばれてるやつで、動画の感じでLINEのボットみたいなんだけど、めっちゃ人間っぽく返してくれるスゴイ奴。<br><br>


<iframe width="560" height="415" src="https://www.youtube.com/embed/sAw2icEfTIg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" loading="lazy" allowfullscreen></iframe>


[ChatGPT 動かせるサイト](https://chatgpt.com/)
[OpenAI 公式サイト](https://openai.com/)<br>

他にも音声の会話や動画を撮りながら計算するとか、ちょっと一つ上の領域に入り始めてらっしゃるOpenAIですが、もっと気軽に色々試せて、かつ安全に使えたらいいなと思ってこの記事を寄稿しています。

まずは以下のサイトでOpenAIのアカウントを作成しましょう。
[OpenAI Platform](https://platform.openai.com/signup)
<br>
作成できたら、以下の画面になると思います。右上の歯車マーク「Settings」をクリックしてください。
![スクリーンショット 2024-12-08 111615.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538775/bcdc7df1-2bf7-df0a-e983-67ba5a6d0993.png)

すると、左メニューから「Billing」を選択し、「Add payment details」からクレジットカードを登録。そして、$5~10くらいで支払いを済ませてください。
![スクリーンショット 2024-12-08 111911.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538775/d29a9992-b62b-3507-a687-4ec356e42c45.png)

するとこんな感じで、「Credit balance」が0から自分が指定した金額になると思います。
![スクリーンショット 2024-12-08 112134.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538775/66fd0fbe-f61d-8ea8-a60e-45abe00c6928.png)

ここまで確認できたら、左メニューから「API Keys」を選択、「Create new secret key」を押下。すると以下の画面になるので、「Name」「Project」を埋めて、「Create new secret key」を押すとAPIキーが発行されます。
![スクリーンショット 2024-12-08 112343.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538775/9af81f38-6ea7-7302-b7ec-1cf7024d1597.png)

:::note warn
注意
必ずAPIキーはコピー、保存して誰にも見られないようにすること。
:::

# ２．AWS アカウントの作成、lightsail画面の立ち上げ

次にインフラを整えていきます。まず以下のウェブサイトでAWSのアカウント作成、クレジットカードの登録を完了させてください。詳細はChatGPTが教えてくれると思います。
[Sign Up for AWS](https://signin.aws.amazon.com/signup?request_type=register)

AWSにサインインしたら、「Console Home」の上の「Search」から「Lightsail」と検索、Serviceの「Lightsail」を選択すると、この画面になる。
![スクリーンショット 2024-12-08 113549.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538775/64013a1b-b1fb-5709-2e37-638703e4d419.png)

# ３．LightsailでVMマシンを作成する
画面上の「Create instance」を押下、あとは動画のように設定してください。

<iframe width="560" height="315" src="https://www.youtube.com/embed/IuWvuXdd3xk?si=tQ_BT7dv4xIiDqJe" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>


# ４．独自ドメイン名の取得
左タブから、「Domains & DNS」を選択し、動画の通り登録する。

<iframe width="560" height="315" src="https://www.youtube.com/embed/SA3pElLQUII?si=ORCG23xfe04S_Flq" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

# ５．Static IPアドレスの発行

「Instance」から作成したインスタンスをクリック、動画のように設定する。

<iframe width="560" height="315" src="https://www.youtube.com/embed/KtZpZkxtvuQ?si=XI8jijOJdEzcd2ty" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

# ６．443ポートの設定

Static IPを設定した場所と同じ箇所で、動画のように設定する。

<iframe width="560" height="315" src="https://www.youtube.com/embed/JizHg-8xA8I?si=9YuTzqzpViHVCM_M" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

# ７．Static IPと独自ドメインの紐づけ

「Domain」タブを押下後、動画のように設定する。
<iframe width="560" height="315" src="https://www.youtube.com/embed/a-XZ6SZ7yxc?si=-X3YYqTz5wPEl0E9" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

# ８．LightsailのVMマシンにSSH接続

再度左タブから「Instance」を選択し、自分が動かしているインスタンス名をクリック。
画像の「Connecting using SSH」を選択
![ConnectSSH.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538775/abb97b06-c242-77e3-7dad-a5f389dd8e3f.png)

# ９．スクリプトを実行し、HTTPS化する
SSHの画面で、以下のコードを実行。mydomainは7で設定したドメイン、emailは自分のメールアドレス。

```shell:shellscript
curl -fsSL https://bit.ly/3YHdSo0 -o install-dify.sh
sudo sh ./install-dify.sh email domain
```

実行が完了するまで待つ。mydomainのURLで接続し、HTTPSとなっているか確認。

mydomainに接続し、Difyの初期設定を行うと、Difyの画面になる。
# １０．Difyの活用方法
のちほど記述
# 参考資料

この方達のお陰で、記事を作成できました。御礼申し上げます。

１－３
[絶対に失敗しないDifyデプロイの手順、AWS Lightsail編 sangmin氏](https://note.com/sangmin/n/nbb4db69784e8
)

４－７
[DifyをHTTPSでデプロイする しょーへー氏](https://zenn.dev/shoheiweb/articles/f5627d03019620)

８－９
[【絶対に失敗しないDify】HTTPS接続の編 sangmin氏](https://note.com/sangmin/n/n7126d67f2c97)