エンジニアのちょいネタ

システムエンジニアをしています。日々、分かったちょいネタを記事にしていきます。

AWS-CDKを使ってALBをデプロイしたとき、0.0.0.0/32 tcp(80)が許可されてしまうのを防ぎたいとき

ALBにリスナーを追加する時に、openパラメータをfalseにすれば0.0.0.0/32 tcp(80)が追加されることがなくなります。

コードにするとこうです。

    alb.addListener(`${prefix}-Alb-Listner`, {
      port: 443,
      open: false,
      protocol: ApplicationProtocol.HTTPS,
      defaultTargetGroups: [targetGroup],
      certificates: [certificate],
    });

 

このIssueに書いてありました。

github.com

PHPのXDebug

過去バージョンのPHPでは最新のXDebugは動作しない。どのバージョンが対応するかどうかはこのページを参照しよう。

 

xdebug.org

 

バージョン番号の確認は、このページで確認できますね。

xdebug.org

 

Dockerfile にはこのように書いてます

 

FROM php:7.1-apache

RUN \
  { apt-get update; \
    apt-get install -y zlib1g-dev libzip-dev; \
    docker-php-ext-install zip; \
    docker-php-ext-install mysqli; \
    docker-php-ext-install pdo_mysql; \
    docker-php-ext-configure zip; \
    docker-php-ext-configure mysqli ; \
    docker-php-ext-configure pdo_mysql ; \
    pecl install xdebug-2.6.1; \
    docker-php-ext-enable xdebug; \
}

AWS S3のウェブサイトホスティングを使っていて、リダイレクトさせたい時

404が発生した時にリダイレクトさせる

[
    {
        "Condition": {
            "HttpErrorCodeReturnedEquals": "404"
        },
        "Redirect": {
            "HostName": "リダイレクト先ホスト",
            "HttpRedirectCode": "301",
            "Protocol": "https",
            "ReplaceKeyWith": ""
        }
    }
]

 

特定のURLをリダイレクトさせる

[
    {
        "Condition": {
            "KeyPrefixEquals": "hoge/"
        },
        "Redirect": {
            "HostName": "リダイレクト先ホスト",
            "HttpRedirectCode": "302",
            "Protocol": "https",
            "ReplaceKeyWith": "test.html"
        }
    }

]

 

AWS DynamoDBをローカルPCで使う場合

aws cli で操作したい時は、--endpoint-url http://localhost:8000 を付ければ操作できます。

 

You must specify a region. You can also configure your region by running "aws configure".

このようなメッセージが表示された時は、AWSのprofileを指定しておけばOKだと思います。

 

export AWS_PROFILE=hogehoge

aws dynamodb command --endpoint-url http://localhost:8000

 

docker compose build した時のログを全て見たい

--progress plain をつけるだけです。このように実行します。

docker compose build --no-cache --progress plain yourservicename

 

コマンドラインリファレンスにも書かれていますね

docs.docker.jp

 

勿論、docker build にもあります

docs.docker.jp

GitHubのPersonal Access Token(PAT)が使えるかどうかcurlで確認する

PATを設定しても、どうもGitHubAPIにアクセスできない。PATは正しいんだろうか?と思うことがある。そんな時は、curlで確認してみましょう。

 

このようなシェルを書いて実行すれば結果がわかります。PATをTOKEN=で設定します。

 


TOKEN=ghp_xxxxxxxxxxxxx
OWNER=hoge
REPO=hoge-repo
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $TOKEN"\
-H "X-GitHub-Api-Version: 2022-11-28" \

Memcachedのtoolを使う

DockerでMemcachedを使った時、データや設定を確認したいことがあると思います。そんな時に、memcached-toolを使いましょう。このツール、perlで書かれており、perlがインストールされていて、memcachedにアクセスできる状態であえば使うことができます。

コードはここにあります。

github.com

 

これをローカルPCなどに保存し、実行すれば確認することができます。これで、telnetからは解放されるでしょう。