パパエンジニアのアウトプット帳

30歳に突入した1児のパパエンジニアのブログ

AWS

AWS Batch(AmazonLinux1)のボリュームサイズを増やす時はDockerのストレージ制限もお忘れなく

マネージド型コンピューティング環境(EC2)(AmazonLinux1)のAWS Batchのお話です。 AWS BatchでNo space left on deviceでエラーになった場合はディスク容量を増やせばとりあえずはいいのですが、EBSのサイズアップだけでなくDockerのストレージ制限もサイズ…

プライベートなS3バケットにあるファイルをCloudFront経由でアクセスできるようにする

なにかの度にやることがあるけど、スッと設定できずに403エラーになるのでメモで残しておく まず、下記にあるように静的ウェブサイトホスティングとは設定が異なるので見るページ間違えないこと CloudFront ディストリビューションを使用して Amazon S3 バケ…

VPCピアリング越しのAurora(PostgreSQL)にRedshiftのFederated Queryで接続する

お仕事でRedshiftのFederated Queryを試してみたのでそのメモ。 ネットで見つかるやつは大体パブリックなネットワークとか同じVPC内のやつなので、仕事の環境のようにVPCが分かれている環境の場合に繋ぐのに苦労した。 やることはほぼ参考記事と同じだけど、…

AWS Elasticsearch Serviceの監視項目

初めてElasticsearchを実運用するので監視は何を見ればいいのかと思ったのですが、調べてみると公式ドキュメントにあるのでそれを参照するだけです。はい。 https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/cloudwatch-alar…

AWS EBSのボリュームサイズ変更をやった

やったと言っても、クラメソさんの下記のブログの通りにやっただけなんですねどねっていう。 dev.classmethod.jp 今回の対象はAmazonLinux1だったので下記のコマンドを実行した。 # 現状の確認 $ df -h $ lsblk # パーミッション拡張 $ sudo growpart /dev/x…

プライベートなVPC内のEC2にSession Managerで接続する

Internet GatewayすらアタッチされていないVPCにSession Managerで接続するにはVPCエンドポイントを設定すればいいんだろうなとは思っていたが実際にはやったことないので試してみた。 セットアップは公式に書いてある通り大体やればいいのだけど、それでで…

ALBのログをAthenaで検索するために

Athenaのコンソールでテーブル定義ポチポチするの面倒だなーと思ったら公式ドキュメントにそのまま実行できるCREATE TABLEコマンドがあった。 docs.aws.amazon.com DATABASEも分けておきたいので、CREATE DATABASE文も一緒に書いておく。 あとデフォルトだと…

terraformでaws_rds_clusterのcreateに2hかかるとtimeoutする

スナップショットからの復元の場合はクラスター作成に時間がかかるのだが、terraformでやってると2hでポーリングがタイムアウトするという。 aws_rds_cluster.aurora57: Error waiting for RDS Cluster state to be "available": timeout while waiting for …

Auroraのスナップショット復元時間はどれくらいかかるのだろうか?

ちょっとスナップショットからAuroraを復元する必要があったので、試しにやってみたら時間がかかった。 なんでこんなに時間かかるのだろう?と調べているとまさにドンピシャな実験をされている方がいた(圧倒的感謝) blog.father.gedow.net だいたいこの検…

TerraformでAurora2を立てる時のengine、engine_versionの指定

TerraformでAurora2のRDSを立てようと思ったらengine_versionになに指定したらいいか分からなかったのでメモ。 create-db-cluster — AWS CLI 1.16.103 Command Reference --engine (string) The name of the database engine to be used for this DB cluster…

Serverless Framework for Rubyをやってみる

AWS LambdaにRubyがきたので、Lambdaをより使う意欲が出てきた。(今まではpythonがほとんどでたまにnodejsで書いていた) そこで、前からLambdaやるならServerless/Apexのどちらかかなーと思っていたのでまずはServerless Frameworkを試してみる。 serverle…

lambda(python)で定期的にAthenaのMSCK REPAIR TABLEを行う

Athenaを使うようにして、パーティションの更新を都度行うのが面倒だったので自動的に行われるようにした。 下記のようなlambda関数を作成して、Cloudwatchでcron式で定期実行ルールを設定した。 import boto3 client = boto3.client('athena') def lambda_h…

CloudFormationでElasticache for redisの設定をする

CloudFormationで非クラスターモード(マルチAZ)の構成を試してみた。 プライマリーノード:1、リードレプリカ:2の3ノード構成でプライベートなVPCに配置する想定。 最終的には下記の公式ドキュメントのサンプルオペレーションをCloudFormation対応した感じ…

CloudFormationのAWS::EC2::InstanceでNetworkInterfacesとSecurityGroupIdsは一緒に使えない

CloudFormationでEC2のインスタンスを作成しようとした時に下記のエラーが出てハマった。 Network interfaces and an instance-level security groups may not be specified on the same request 解決方法としては下記の通りNetworkInterfacesとSecurityGrou…

Aurora MySQLのmax_connectionsの設定

テスト環境でrailsのdatabase.ymlのpool設定を本番に合わせたいが、Auroraの方のmax_connectionsが45になっていた。 これでは足りないので45より多くしたい。 まず、Auroraのmax_connectionsはインスタンスタイプでデフォルトが決まるような設定がされている…

Cloudfront,S3で307リダイレクトに苦しめられた

完全に下記のヤツなんだけど見つけるまですごくハマった。。。 miyasakura.hatenablog.com S3のcssファイルとかを直接参照するのではなくCloudfrontからのみ参照できる様にクラメソさんの下記の記事を見て色々設定を検証していたんだけど、なぜかcloudfront…