AWS[AWS] VPCの使用状況の確認方法 概要 AWSのVPCにて、「どのリソース・インスタンスが存在するか」「どのIPアドレスが使用されているか」などを調べたいことがよくあるので、確認方法を記事として残しておく。 確認方法 マネジメントコンソール > EC2 > ネットワーク & セキュリティ > ネットワークインターフェイス 2024.09.09AWS
AWS[AWS] awsコマンドでModuleNotFoundError: No module named ‘docutils’となってしまう場合の解決方法 概要 先日、Mac OS環境でawsコマンドを実行したところModuleNotFoundError: No module named 'docutils'となり実行できなくなってしまった。 少し前にbrew updateを実行したので、その影響かもしれない。 解決方法 エラーメッセージに従いbrew reinstall docutilsを実行したところ、docutilsがインストールされawsコマ... 2024.08.26AWSMac
サーバSPFレコードを設定してもGmailにメールが届かない原因と解決方法 概要 最近Gmailのスパム対策が厳しくなったため、送信元ドメインのDNSにSPFレコードを設定することが推奨されている。 しかし、SPFレコードを設定してもGmailにメールが届かなかったり、届いても迷惑メール扱いされてしまうことがある。 原因 メールヘッダのFromとReturn-Pathのアドレスが一致していないとGmailに届きにくくなるので、FromとReturn-Pathには同じアドレ... 2024.06.17サーバ
Dockerdocker composeで生成されるコンテナのデフォルト名 概要 Docker Composeでコンテナを作成すると「プロジェクト名_サービス名_1」というコンテナ名が自動的に付けられる。(サービス名=compose.yamlのservicesに書いた名前) ただし、compose.yaml内でコンテナを指定するときはサービス名を使う。 よって、compose.yaml内ではサービス名、dockerコマンドでは自動的に付けられたコンテナ名、を使ってコンテナ... 2024.06.07Docker
Docker[docker] コンテナのネットワークとは?わかりやすく解説します。 概要 Dockerコンテナを他のコンテナやホストと通信させるためには、コンテナ=コンテナ、コンテナ=ホスト、のネットワークが必要である。 ネットワークには、Dockerがデフォルトで用意しているネットワークとDocker Composeなどでユーザーが作成したネットワークがある。 デフォルトのネットワーク Dockerはデフォルトで以下の3つのネットワークを作成する。 bridgeコンテナ間、コン... 2024.06.06Docker
Docker[docker] DockerfileのCMDとENTRYPOITNTの違い 概要 Dockerfileに記述できるCMDとENTRYPOITNTは、どちらも「コンテナ起動時に実行するコマンド」を記述するための命令である。どちらもDockerfileに1つだけ記述することができる。 CMDとENTRYPOITNTの違いは「コンテナ起動時の引数やcompose.yamlで上書きできるかどうか」である。 CMD: compose.yamlなどで上書き可能 ENTRYPOITNT... 2024.04.04Docker
Docker[docker] ボリュームマウントとバインドマウントの違い 概要 dockerではコンテナを削除するとデータが消えてしまうが、データを永続化することでコンテナが削除されてもデータを残すことができる。 データの永続化にはボリュームマウントとバインドマウントがあり、データが保存される場所が異なる。公式では、データの移行やバックアップが容易なボリュームマウントが推奨されている。ただし、開発環境ではファイルの変更をリアルタイムで反映できるバインドマウントを使うのが... 2024.03.25Docker
AWS[AWS] リザーブドインスタンスとSavings Plansの違い 概要 AWSのリザーブドインスタンスとSavings Plansは共に利用料金が割引になる料金モデルだが、対象サービスなどが異なる。 以下、簡単な表にまとめてみた。 リザーブドインスタンスとSavings Plansの主な違い リザーブドインスタンスSavings Plans割引内容「特定のインスタンスタイプとリージョン」の利用を1年契約または3年契約で結ぶ「xxxドル/時間」での利用を1年契約ま... 2024.03.09AWS
サーバ[MySQL]外部キー追加で「#1215 – 外部キー制約を追加できません。」となってしまう原因 概要 MySQLで既存のカラムに後から外部キーを追加しようとすると「1215 - 外部キー制約を追加できません。」となり追加できないことがある。 原因 親テーブルと子テーブルのカラムのデータ型が異なっていることが原因である。例えば以下のSQLの場合、users.item_idとitems.idのデータ型が違う場合は#1215エラーとなる。 ALTER TABLE `users` ADD CONST... 2023.12.14サーバ
サーバ[MySQL][Postgres]外部キーがあるテーブルをTRUNCATEする方法 概要 データベースで外部キーがあるテーブルをTRUNCATEしようとするとエラーとなってしまう。例えば、MySQLの場合はCannot truncate a table referenced in a foreign key constraintとなり、TRUNCATEすることができない。 解決方法 一時的に外部キー制約を無効化することで、TRUNCATEすることができる。 MySQLの場合 se... 2023.07.08サーバ