EC2ユーザーデータからメタデータを取得してRocket.Chatで80ポートを使用する
Rocket.Chatのデフォルトポート番号は3000です。
80を使うようにするには、Caddyfileに以下を設定しておく必要があります。
http://サーバーURL
proxy / localhost:3000 {
websocket
transparent
}
ElasticIPアドレスを使って同じパブリックDNSを使用するのならいいかもですが、一時的に使いたい場合はパブリックDNSでもいいです。
EC2インスタンスは起動してから割り当てられたパブリックIPアドレスに紐づくパブリックDNSが生成されアクセスできるようになります。
パブリックDNSをメタデータで取得してCaddyfileを作成、サービスを再起動するユーザーデータを使用しました。
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash public_hostname=`curl --silent http://169.254.169.254/latest/meta-data/public-hostname` cat > /var/snap/rocketchat-server/current/Caddyfile <<-EOF http://$public_hostname proxy / localhost:3000 { websocket transparent } EOF systemctl restart snap.rocketchat-server.rocketchat-caddy |
他のパラメーターとともに起動テンプレートに設定して、「テンプレートからインスタンスを起動」をしてすぐに80ポートでアクセスできました。
よくユーザーデータからメタデータ取得というシナリオがドキュメントにありますが、実際例がなかったので記録しておきます。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
【PR】 「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
ALBの重み付けルーティングでカナリアリリースをしてみました
当ブログのAMIの更新と、ALBターゲットグループのヘルスチェックを変更したかっ …
-
-
ヤマムギ vol.10 (AWS)EC2モニタリングハンズオン 手順
このブログは2020/5/6に開催しました、「ヤマムギ vol.10 (AWS) …
-
-
Amazon CloudWatch Anomaly Detectionをダッシュボードに設定
Amazon CloudWatch クロスリージョンクロスアカウントダッシュボー …
-
-
API Gatewayで顧客レベルの使用量プランを設定する
API GatewayのAPIキーを使って使用量プランでのスロットリングも設定し …
-
-
AWS WAF Web ACLとルールをv1(Classic)からv2に自動移行しました
新しいものは、課題が解決されていたり、機能追加されたりするのでいいものです。 長 …
-
-
S3署名付きURL(GetObject)生成後にオブジェクトを上書きアップロードしたら
ダウンロードリクエストを実行したタイミングのオブジェクトがダウンロードされるので …
-
-
kintoneでEveryoneに権限が設定されているアプリをAWS Lambdaで一括チェックする
こないだ、kintone Cafeでユーザーが自由に作成している環境だと、どんな …
-
-
AWS CodeStarのプロジェクトテンプレートLambda+Pythonによって生成されるもの
勉強会のデモで、AWS CodeStarのプロジェクトテンプレートLambda+ …
-
-
AWS License ManagerでAMIからインスタンスの起動を制御
EC2 Image BuilderでRocket.ChatのAMIを作って起動テ …
-
-
Extend Switch Roles(Chromeのアドオン)で6つ以上のスイッチロール履歴
最近アカウントIDを忘れたりすることも多くなったので、切り替えに手間取ることがあ …