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 クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Amazon Quantum Ledger Database(QLDB)でサンプル台帳の作成と検証
Quantum Ledger Database(QLDB)を触ったことなかったの …
-
-
VyOSでssm-userからvyosユーザーに切り替える
EC2 VyOSで/etc/resolv.confを設定しました VyOSにSS …
-
-
新しいVPCウィザード(2022年)がすんごく便利になってました
VPCウィザードがすんごく便利になってました。 ウィザードの左ペインで設定を選択 …
-
-
Amazon API GatewayのIAM認証の動作を確認しました
API GatewayのIAM認証は、IAMユーザーが実行できるように認証する、 …
-
-
AWS Lambdaで「Process exited before completing request」
AWS lambdaで「Process exited before comple …
-
-
Amzon Linux のApacheでRedmineとWordPressをバーチャルホストで共存する
EC2とRDSを節約しようと思いまして、Redmineを動かしてるとこに検証用W …
-
-
Rocket.ChatをAmazon EC2 Ubuntuサーバーで起動
こちらRocket.Chatを1行でAWS上に導入を参照させていただきました。 …
-
-
AWS Network Firewallの入門
公式のGetting started with AWS Network Fire …
-
-
AWS Lambda(Python3.7)でPandocを実行する
昨日まで(AWS Batch) 昨日までは、Pandocを実行して、S3バケット …
-
-
Amazon S3アクセスポイント経由からアクション可能なポリシー
S3アクセスポイントを使うことで、複雑で長いバケットポリシーを避け、アクセスポイ …