この記事を書こうと思った目的
- AWSの機能を、ひと通り触ってみたかったから
- AWSがどんなものなのか、触ってAWSをわかりたかった
- 暇だったから(実はこれが主な理由 ⇒ 不純な動機w)
AWSを触った感想
- 個人だと、AWSを使う必要性はほとんどない
- AWSは便利だけど、ずっと使い続けてたらかなりコストが
かかる(サービスを3つ常時起動で、毎月1万とんでいった) - 楽しかった
システム構成
作業手順
![説明図-3-2-2-2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/33e60316-9809-e9ad-e8ef-ed8678e180ac.jpeg)目次
- 1. RDSの作成
- 2. 本番サーバーの作成
- 3. 踏み台サーバーの作成
- 4. ALBの作成
- 5. CloudWatchの作成
- 6. WAFの作成
- 7. Slackチャンネルの作成
- 8. Lamdaの作成
- 9. API Gatewayの作成
- 10. Route53の作成
このシステムの構成要素
OS環境 | Mac OS Catalina 10.15.15 |
Laravel バージョン | 8 |
PHP バージョン | 7.3 |
mysql バージョン | 8.0 |
インストール先ディレクトリ | /usr/local/ |
ユーザー名 | ec2-user |
EC2インスタンスの種類 | Amazon Linux 2 |
EC2インスタンス名 | 通信方式 SSH接続 |
準備するもの
- マイLaravelアプリ
- Githubアカウントのアカウント名・マイリポジトリ名
- EC2インスタンス2つ
- 作成済みのVPC
- ムームードメイン・スタードメインなどで取得したドメイン名
1. RDSの作成
プライベートサブネットを作成する
マネジメントコンソールでVPCと入力 → サブネット → サブネットの作成をクリック 下のように設定し、サブネットの作成をクリック ![スクリーンショット 2021-06-20 23.50.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/2a9f7f8e-6c7d-15fd-74cb-796b16c7434e.png)1.セキュリティグループを作成
セキュリティグループを、MySQL/Auroraにする ![スクリーンショット 2021-06-21 0.00.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/266ecb29-ba89-db99-7a09-1e075bc6182b.png)2.DBサブネットグループを作成
マネジメントコンソールでRDSと検索し、RDSを開く → サブネットグループをクリック ![スクリーンショット 2021-07-01 16.11.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/bb757d62-14a7-0338-1927-4efaf894af46.png) サブネットグループを作成 ![スクリーンショット 2021-07-01 16.22.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/8cbcc9b5-f5f4-71df-1c7a-d69281eb4543.png) アベイラビリティゾーン・サブネットは2つずつ選び、作成 ![スクリーンショット 2021-07-01 16.23.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/96d554ec-dc1b-f5c2-21bc-1ef839bc6411.png)3.DBパラメータグループを作成
RDSのパラメータグループ → パラメータグループの作成 ![スクリーンショット 2021-07-01 16.30.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/75781dfe-4c61-219d-12ee-902631d49cdc.png)4.DBオプショングループを作成
RDSのオプショングループ → グループを作成 ![スクリーンショット 2021-07-01 16.39.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/294dbdad-8f86-28eb-590d-c9bb7a3086d9.png)5.データベースを作成
マネジメントコンソールのRDS → データベース → データベースの作成 ![スクリーンショット 2021-07-01 16.48.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/fdab831b-d9f7-97e9-4aa5-3c37ad71a7f3.png) ![スクリーンショット 2021-07-01 16.49.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/250fea5f-d5e7-ce41-28f4-e099d09f5474.png)設定したユーザー名/パスワード/DB名(DBインスタンス識別子)は、メモに書いておく ![スクリーンショット 2021-07-01 17.47.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/45740ab5-2597-37a3-c864-9c87cf7e992d.png) ストレージはそのままにする ![スクリーンショット 2021-07-01 17.03.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/da76e79f-2846-c9a0-9656-a397fcf50b24.png)
vpcとサブネットグループの設定 ![スクリーンショット 2021-07-01 17.04.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/5c090e18-857b-781f-0b7d-6655bc79c380.png) アベイラビリティーゾーンは1aにする → 追加の接続設定をクリック ![スクリーンショット 2021-07-01 17.33.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/3a599c17-9fcd-e898-9261-6a6ff2e833aa.png) 作ったパラメータグループ・オプショングループを設定 →データベースの作成をクリック ![スクリーンショット 2021-07-01 17.55.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/d54eaa5e-b59b-ecae-c7a7-2f77e14b0bb2.png)
2. 本番サーバーの作成
ElasticIPをEC2インスタンスにアタッチ ![スクリーンショット 2021-06-12 16.04.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/b6cd62d8-e1e9-cbb5-5680-be9c3670c7ea.png)ターミナルを立ち上げ、キーのあるディレクトリに移動し、
キーの権限を追加
chmod 400 キー名.pem
EC2インスタンスをsshで起動
ssh -i ~/キーがあるディレクトリ名/キー名.pem ec2-user@ElasticIPのアドレス
①apacheをインストール
sudo yum update
sudo yum install httpd
apacheが自動起動するように設定
sudo systemctl enable httpd.service
途中でこのコマンドが出たら、yと入力 ![スクリーンショット 2021-06-12 21.08.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/45c1987b-922a-93ee-4eed-e6ababf92a22.png)
②php・phpのライブラリをインストールする
sudo amazon-linux-extras install -y php7.2
sudo yum install -y php php-mbstring
mysql8.0をインストールする
sudo yum remove mariadb-libs
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum install --enablerepo=mysql80-community mysql-community-server
sudo touch /var/log/mysqld.log
sudo systemctl start mysqld
sudo systemctl enable mysqld
ディレクトリ/usr/local/に権限を付与し、
composerをインストールする
cd /usr/local
sudo chmod 777 /usr/local
sudo curl -sS https://getcomposer.org/installer | php
composerのpathを通す
sudo mv composer.phar /usr/local/bin/composer
laravelをインストールし、Laravelアプリ作成
composer global require "laravel/installer:^4.0"
composer create-project laravel/laravel apple
Nodeのインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
nvm install node
jestreamのインストール
composer require laravel/jetstream
php artisan jetstream:install livewire
npm install && npm run dev
php artisan serve
重要ファイルに、権限を追加する
sudo chmod 777 public
sudo chmod 777 storage
sudo chmod 777 bootstrap
sudo chmod 777 .env
envファイルを修正
vi .env
データベース名・パスワード・ユーザー名・エンドポイント(DB_HOST)を入力する ![スクリーンショット 2021-07-01 18.39.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/2bd9af46-df2e-d07b-0e60-3cd72a21e2df.png) エンドポイントの確認方法 : RDS → データベース →作ったデータベース名をクリックし、確認する ![スクリーンショット 2021-07-01 18.19.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/227408d4-cace-0d93-5f4d-2652219ed315.png)
httpd.confの修正
sudo vi /etc/httpd/conf/httpd.conf
httpd.confをこう修正する
<Directory "/usr/local/apple/resources/views/">
AllowOverride All
/Directory>
EC2を再起動する
sudo shutdown -r now
3. 踏み台サーバーの設定
AMIを作成する コピーしたいAMIのインスタンスを選択 → アクション → イメージとテンプレート → イメージを作成を選択 ![スクリーンショット 2021-06-13 19.34.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/37e39fd1-fe28-5efd-2575-9dc2f1d3fc16.png) AMIの名前を入力する ![スクリーンショット 2021-07-07 23.56.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/2255b562-a442-d064-0e52-40734519ae3f.png)タグを追加 → AMIの名前を入力 → イメージを作成 ![スクリーンショット 2021-07-07 23.56.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/58a72f21-473e-dcc8-4758-20f70e151090.png)
AMIの画面で、起動をクリックし、EC2インスタンスを作成する
4. ALBの作成
マネジメントコンソールに ロードバランサーと入力 → ロードバランサー → ロードバランサーの作成をクリック ![スクリーンショット 2021-06-19 22.15.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/710d2467-1b18-df35-7b94-ca128a12f8e9.png) Application Load Balancerの作成をクリック ![スクリーンショット 2021-06-19 22.19.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/7e3e8ba4-ecf6-3a08-e138-228404a7ab58.png)アベイラビリティーゾーン二つにチェックする ![スクリーンショット 2021-06-19 22.21.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/c13f7cb7-ab6c-15d1-81bc-db072db64bf0.png) セキュリティグループを作成する ![スクリーンショット 2021-06-13 20.52.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/317f65e2-6138-c5dc-91fd-db4dbb1347a6.png) ターゲットグループに名前を入力し、次の手順へ ![スクリーンショット 2021-06-19 22.37.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/31ea25e1-0794-5fe6-fd68-43db9106ea69.png) 設定したいインスタンスにチェックを入れ、登録済みに追加をクリック → 作成をクリック ![スクリーンショット 2021-06-19 22.43.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/394c249a-66be-7919-4acf-1ac190465a48.png)
5. CloudWatchの作成
1. ロールの作成
ロールの作成をクリックし、Systems Managerをクリック ![スクリーンショット 2021-06-15 20.18.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/22edc217-1dea-fe20-6105-fa3860397bbf.png)SSMと入力し、AmazonEC2RoleforSSMを選ぶ ![スクリーンショット 2021-06-15 20.16.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/576e96e9-6b38-4763-df1e-e914e092174b.png) ロールを作成したら、コンソール画面からec2-start-stopRoleを選び、信頼関係 →信頼関係の編集をクリック ![スクリーンショット 2021-06-15 20.21.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/b01f88a9-cca2-cf6b-0d02-46364628e0c1.png) Serviceのところを、こう修正する ![スクリーンショット 2021-06-15 20.23.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/9c8954aa-6a21-5864-8234-e509271cd410.png)
2. 自動終了の設定をする
スケジュールを選び、Cron式に終了したい時間をUTCの時間で入力する ![スクリーンショット 2021-06-15 18.51.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/9d1eba53-4c52-adb2-e643-bc959a9721aa.png)・UTCの時間で参考にしたURL
https://blog.mukairiku.net/2013/07/協定世界時utcと日本標準時jstの対応表.html
自動起動の設定をする
ドロップダウンリストの下の、ドキュメントに、AWS-StartEC2Instanceと入力し、AWS-StartEC2Instanceをクリック ![スクリーンショット 2021-06-15 19.11.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/fd3b397d-4360-878d-bd06-d26db23304c2.png)6. ALBを紐付けたWAFの作成
マネジメントコンソールでWAFと入力し、WAF &Shieldをクリック ![スクリーンショット 2021-06-18 16.34.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/9f7a3484-a6b2-c072-a9a6-746c04518311.png) 左のメニューから、Web ACLsを選ぶ ![スクリーンショット 2021-06-17 19.57.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/11a09c1d-1ef0-fd6c-2d1d-36c9f96277a3.png) Create Web ACLをクリック ![スクリーンショット 2021-06-18 16.31.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/00515cc5-5875-a315-33d7-a2d2068385fd.png)名前を入力し、Regional resourcesを選び、Nextをクリック ![スクリーンショット 2021-06-18 16.43.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/85e3b681-a4bc-4226-87e0-925a9eaadcf6.png)
Nextをクリック ![スクリーンショット 2021-06-18 16.46.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/c04f2cea-bfd4-c707-5330-7a6f3091b8d5.png) Nextをクリック ![スクリーンショット 2021-06-18 16.48.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/d4147d78-a593-5234-a49b-20736f791c39.png) Enable sampled requestsを選び、Nextをクリック![スクリーンショット 2021-06-18 16.48.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/9e2520a0-9800-d43c-1db2-11bbae8c0150.png) 作ったWebACLの、Rulesをクリック → Add rules → Add managed rule groupsをクリック ![スクリーンショット 2021-06-18 21.12.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/c12e72f7-7c2d-2718-bb85-683241be71ce.png) AWS managed rule groupsをクリック ![スクリーンショット 2021-06-18 21.14.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/a5b9038c-56c3-43f9-d31d-ef3b0dccc5f6.png)
Add managed rule groupsで `Anonymous IP list Linux operating system PHP application SQL database`を ![スクリーンショット 2021-06-18 21.26.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/55bcdaa1-bfd9-937f-cfd0-574758667c6d.png) にする
add rules → Saveをクリック ![スクリーンショット 2021-06-18 21.54.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/fe3b5645-b7c2-e5cc-b6fd-7e202024b3ea.png)
7. Slack の作成
こちらのリンクをクリック https://slack.com/intl/ja-jp/help/articles/206845317-Slack-ワークスペースを作成するワークスペースを作成するをクリック → サイトに書いてある作業をする ![スクリーンショット 2021-07-11 17.43.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/ac8c3d69-daf6-4f14-e588-bc8862e451df.png)
8. Lamdaの作成
1. Lamdaのポリシーを作成
マネジメントコンソールでIAM → ポリシー → ポリシーを作成 → サービスの選択をクリック → EC2を選ぶ ![スクリーンショット 2021-07-11 17.58.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/28b1f2af-8c45-7fae-0d2e-b74685fb5f83.png) 書き込みにチェック ![スクリーンショット 2021-07-11 18.06.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/087e9a65-928f-92aa-ef90-783e0eed654f.png) 294が選択されましたをクリック ![スクリーンショット 2021-07-11 18.07.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/96084b1e-2630-5585-a8c5-4d0e87974157.png) 書き込みの、この3つだけにチェックする ![スクリーンショット 2021-07-11 18.11.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/6fea1c67-9b17-0232-8490-ccbb4b6b55ee.png) 赤字の部分をクリック ![スクリーンショット 2021-07-11 18.14.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/ccd243fa-954a-289d-4eef-c108025ded63.png) すべてのリソースを選ぶ ![スクリーンショット 2021-07-11 18.17.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/995adabd-f4d0-87a8-4706-e3af8a799ed7.png) さらにアクセス許可を追加する → サービスの選択 → Cloud WatchLogs → 書き込みにチェック ![スクリーンショット 2021-07-11 18.20.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/f45b78a5-2b52-e4e6-ca3e-84ebb04100a1.png) 赤字の部分をクリック → すべてのリソースを選択を選ぶ → 次のステップへをクリック タグを追加 → 名前を入力する ![スクリーンショット 2021-07-11 18.25.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/207995b8-56cc-ac0c-17ac-c5fa67767f2c.png) ポリシーの名前を入力 → ポリシーの作成をクリック ![スクリーンショット 2021-07-11 18.28.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/ebe8cebc-1eaf-618a-0027-411ce3518a0f.png)Lamdaのロールを作成
マネジメントコンソールでIAM → ロール → ロールの作成 → Lamda ![スクリーンショット 2021-07-11 17.51.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/80831b30-7621-004e-0759-1e062253c8be.png) 先ほど作ったポリシー名を入力し、チェックする → 次のステップ ![スクリーンショット 2021-07-11 18.33.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/2f810866-9580-1628-589e-18ac2088998c.png) 名前を入力し、ロールの作成をクリック ![スクリーンショット 2021-07-11 18.36.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/a2000b6c-9ec5-2ce3-ed1e-6cdea9c08601.png)Lamda関数を作成
AWSマネジメントコンソールでLamdaと入力 → 関数の作成をクリックランタイムはnode.jsを選び、デフォルトの実行ロールの変更をクリック → 既存のロールを使用する → 作ったロールを選ぶ → 関数の作成 ![スクリーンショット 2021-07-11 10.59.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/7db60ed1-2bc7-603e-75ae-2e6aaa09af3d.png) index.jsをクリックし、コードにこれを入力する
'use strict';
const AWS = require('aws-sdk');
// 操作したいEC2インスタンスIDを入力する。※各自が入力する
const instance_list = ["i-xxxxxxxxxxxxxxxxx", "i-xxxxxxxxxxxxxxxxx"]
// EC2 インスタンスを起動する
function startEC2Instance(region, instanceId) {
const ec2 = new AWS.EC2({ region: region });
const params = {
InstanceIds: instance_list,
DryRun: false,
};
return new Promise((resolve, reject) => {
ec2.startInstances(params, (err, data) => {
if (err) reject(err);
else resolve(data);
});
});
}
// EC2 インスタンスを停止する
function stopEC2Instance(region, instanceId) {
const ec2 = new AWS.EC2({ region: region });
const params = {
InstanceIds: instance_list,
DryRun: false,
};
return new Promise((resolve, reject) => {
ec2.stopInstances(params, (err, data) => {
if (err) reject(err);
else resolve(data);
});
});
}
// EC2 インスタンスのステータスを確認する
function describeStatusEC2Instance(region, instanceId) {
const ec2 = new AWS.EC2({ region: region });
const params = {
InstanceIds: instance_list,
DryRun: false,
};
return new Promise((resolve, reject) => {
ec2.describeInstanceStatus(params, (err, data) => {
if (err) reject(err);
else resolve(data);
});
});
}
// 関数指定してインスタンスを制御します。
function executeControl(ec2Function) {
const result = { EC2: null};
const a = ec2Function(process.env.EC2_REGION, process.env.EC2_INSTANCE_ID)
.then(data => {
result.EC2 = { result: 'OK', data: data };
}).catch(err => {
result.EC2 = { result: 'NG', data: err };
});
const b = null
return Promise.all([a, b]).then(() => result );
}
function getSuccessfulResponse(message, result) {
return {
"response_type": "in_channel",
"attachments": [
{
"color": "#32cd32",
"title": 'Success',
"text": message,
},
{
"title": 'Result',
"text": '```' + JSON.stringify(result, null, 2) + '```',
},
],
};
}
function getErrorResponse(message) {
return {
"response_type": "ephemeral",
"attachments": [
{
"color": "#ff0000",
"title": 'Error',
"text": message,
},
],
};
}
exports.handler = (event, context, callback) => {
if (!event.token || event.token !== process.env.SLASH_COMMAND_TOKEN)
callback(null, getErrorResponse('Invalid token'));
if (!event.text)
callback(null, getErrorResponse('Parameter missing'));
if (event.text.match(/start/)) {
executeControl(startEC2Instance)
.then(result => { callback(null, getSuccessfulResponse('Starting...', result)); });
} else if (event.text.match(/stop/)) {
executeControl(stopEC2Instance)
.then(result => { callback(null, getSuccessfulResponse('Stopping...', result)); });
} else if (event.text.match(/status/)) {
executeControl(describeStatusEC2Instance)
.then(result => { callback(null, getSuccessfulResponse('Checking statuses...', result)); });
} else {
callback(null, getErrorResponse('Unknown parameters'));
}
};
キー | 値 |
EC2_REGION | ap-northeast-1 |
SLASH_COMMAND_TOKEN | hogehoge |
9. API Gatewayの作成
マネジメントコンソールでAPI Gateway → APIを作成でこう選択する → APIの作成 ![スクリーンショット 2021-07-13 19.37.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/dc799779-89d2-121c-2e5e-e59357150398.png) メソッドの作成 ![スクリーンショット 2021-07-11 11.43.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/59f404b3-88f1-1bc8-551e-2ef9f2a9dafb.png) GETを選ぶ ![スクリーンショット 2021-07-11 11.44.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/718f91f7-c195-2938-8023-cc16c159ee9e.png) 関数名・リージョンを入力 → 保存 ![スクリーンショット 2021-07-11 11.45.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/70c0a2b7-4f95-666d-6e09-2105d428d5bf.png) メソッドリクエストをクリック ![スクリーンショット 2021-07-11 11.51.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/b2b60390-3fc2-d4f5-ebc6-7147cdb0ef09.png) リクエストの検証をクリック → クエリ文字列パラメータおよびヘッダーの検証を選択 → URL クエリ文字列パラメータのタブをクリック ![スクリーンショット 2021-07-11 11.52.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/d43fe938-62c6-576b-b7f3-3b68ae451e06.png) 以下のデータを入力text |
token |
{
"token": "$input.params('token')",
"text": "$input.params('text')"
}
Slash Commandと入力し、Slash Commandを選んで追加をクリック ![スクリーンショット 2021-07-11 12.04.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/e60c8567-4239-9065-33da-6183d876a98f.png)
ec2-devと入力 → スラックコマンドインテグレーションを追加するをクリック ![スクリーンショット 2021-07-11 12.06.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/95d2bb3b-7aa3-8f5c-c9e2-e342715de600.png)
URLに、メモしていたAPI GatewayのURLを入力 + トークンをメモする → インテグレーションを保存するをクリック ![スクリーンショット 2021-07-11 12.07.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/85ef4fce-2efd-41f8-802e-e68639bcc0c1.png) Lamda関数の環境変数を、Slackで取得したトークンに修正する
Lamda関数 → 新しいバージョンの発行をクリック ![スクリーンショット 2021-07-11 12.11.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/3414c1dd-6a1e-8e94-652f-bc23add60a63.png) 自分の好きな名前を入力 ![スクリーンショット 2021-07-11 12.12.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/299173e0-d116-8f34-6a21-302b4a4f7697.png) Slackチャンネルで /ec2-dev startと入力 → 成功すればこう表示される ![スクリーンショット 2021-07-13 20.33.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/21dc00f3-11d8-695d-7edd-0c93fa7a3a6c.png) 停止は、/ec2-dev stop
10. Route53の作成
マネジメントコンソールで、Route53と検索し、ホストゾーンをクリック ホストゾーンの作成をクリック ![スクリーンショット 2021-06-16 22.31.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/52b9fb10-ccb3-a055-8af7-1eeae87579eb.png) パブリックホストゾーンを選び、ドメイン名に作ったドメインを入力し、ホストゾーンの作成をクリック ![スクリーンショット 2021-06-16 22.33.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/d4cef956-ed29-49d4-4e80-9edd5c16c18c.png) ホストゾーンにレコードを追加する マネジメントコンソール → Route53 → ホストゾーン →設定したホストゾーンをクリック ![スクリーンショット 2021-06-16 22.43.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/6ca52afb-dad0-1e88-1cd5-e3f8945c4652.png) レコードを作成をクリック ![スクリーンショット 2021-06-16 22.48.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/f0f04fdf-11a0-b341-c8d0-497ea102eef6.png) infoに、本番サーバーにアタッチしたインスタンスのElasticIPを入力 → 『レコードを作成』をクリック ![スクリーンショット 2021-06-16 22.56.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/e5a87298-3ab6-2a15-81a2-481221d8333d.png) ドメインを契約しているネームサーバーに、Route53のネームサーバーを登録する マネジメントコンソール → Route53 → ホストゾーン →設定したホストゾーンをクリック → NSに書かれている URLを、ドメインのネームサーバーに登録する ![スクリーンショット 2021-06-16 23.00.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628823/78d5531c-626f-0437-1be8-ccdacd8ec0a6.png)DNSの設定確認をする
dig 自分が設定したドメイン名