のぴぴのメモ

自分用のLinuxとかの技術メモ

BINDのResolverを UserDataとAWS CLIの"ec2 run-instances"で作成する

検証などでVPCの中にDNSリゾルバーを個別に立てる場合に、bindのインストールや設定をUserDataに埋め込んでしまうことで、OSへのログインをせずにbindによるDNSリゾルバーを作る手順です。かつマネコンではなくAWS CLIで作っています。

Amazon S3のバケットのバージョニング設定とオブジェクトのバージョンの遷移を確認してみた

AWS

はじめに バケットのバージョニング設定により、オブジェクトのバージョンがどのように遷移するのかがいまいちわかっていなかったので、実際に動かして整理してみました。 まとめ バケットのバージョニング未設定の場合、オブジェクトのVersionIdはnullにな…

バージョニングが有効なS3バケットをAWS CLIで空にする手順(オブジェクト1000個以下)

AWS

S3のバケットを削除する場合、まずバケットを空にする必要があります。ここではAWS CLIを利用しバケットを空にし、その後にバケットを削除する手順を記載します。 具体的には list-object-versionsでオブジェクトをリストアップし、delete-objectでオブジェ…

AWS NitroインスタンスのLinuxでEBSボリュームを特定する手順

m5・c5・t3などのNitroタイプのインスタンスを利用している場合にOS上で認識しているボリュームがどのEBSボリュームかを、Volume IDベースで確認する手順です。 なおXenベースのインスタンス(m4以前、c5以前、t2以前など)は調べた限りでは、残念ながらVolume…

PostgreSQL11.6のクライアントの共有ライブラリ&開発ツール(32bit)をソースコードからビルドする手順(on RHEL8)

諸事情で、PostgreSQL11.7 クライアントとクライアントの開発環境をRHEL8上で、32bitで準備する必要があって手順を確認したものです。32bitでビルドするポイントはconfigureの時にオプションで"--build="i686-pc-linux-gnu" "CFLAGS=-m32" "CXXFLAGS=-m32" "…

AWS Security Hubのマルチアカウント一括設定スクリプトを使ってみる

AWS

AWSが提供しているAWS Security Hubの一括設定ツールを試したのでそのメモです。 なんでこのツールを利用したかと言うと、AWS Security Hubはリージョン単位のサービスのためリージョンごとの設定が必要で、かつマルチアカウント構成の場合アカウント毎の設…

PowerShell v7.0.0-rc.1 をWindowsServer 2019にセットアップする

手順 PowerShell v7.0.0-rc1をダウンロードする Invoke-WebRequest -Uri https://github.com/PowerShell/PowerShell/releases/download/v7.0.0-rc.1/PowerShell-7.0.0-rc.1-win-x64.msix -OutFile PowerShell-7.0.0-rc.1-win-x64.msix -UseBasicParsing Uri …

AWS CLIで最新のAMI IDを取得する

AWS

タイトルの通り、Amazon Linux2、RHEL8、Windows Server2019の最新AMIのAMI IDを取得するAWS-CLIのコマンドです。(元ネタは、EC2のユーザーガイド) AWS CLIの"ec2 describe-images"でAMI IDを確認しますが、その時に下記オプションを指定することで最新AMIの…

AWS Storage Gateway(VPC エンドポイントあり)環境をCLIで構築し運用する手順

AWS

AWS Storage GatewayのファイルゲートウェイをVPCエンドポイントを利用したVPC閉塞環境を、CLIで構築する手順です。この手順ではNFS接続、SMB(ゲスト接続)、SMB(ActiveDirectory認証)の構成を作成します。またキャッシュリフレッシュ、ソフトウェアップデー…

Windows Server 2019へのWindows Subsystem for Linuxのセットアップと利用Tips

Windows Subsystem for Linuxを使う必要があってPower Shellでセットアップした時のメモ。 (1)Enable-WindowsOptionalFeatureでSubsystem for Linuxを有効かして、(2)Invoke-WebRequest でUbuntuイメージをダウンロードして、(3)Add-AppxPackageでダウンロー…

S3のCopyObjectによるコピーの並列実行によるコピー時間短縮の検証

検証結果から導かれる、S3のCopyObjectによるバケット内でのオブジェクトコピーの並列実行のポイントは、以下の通りです。 CopyObjectを利用したバケット内でのオブジェクトコピーによりコピー処理を高速化可能 S3のプレフィックス単位のAPIスロットリング P…

IAMでサーバ証明書をインポートするCLI手順

AWS

ACM(AWS Certificate Manager)ではなく、IAMでサーバ証明書をインポートするときのCLI手順のメモです。 サーバ証明書のインポート PROFILE=default aws --profile ${PROFILE} iam upload-server-certificate \ --server-certificate-name hoge.com \ --certi…

KMS暗号化されてるEC2インスタンスのAMI取得し別リージョンにコピーする検証(AWS CLI)

AWS

KMS鍵(CMK)で暗号化したEBSを持つEC2インスタンスのAMIを取得し、別リージョンにコピーする場合、鍵がどうなるのかという確認をCLIで確認したエビデンスです。 結論としては、他リージョンにAMIをコピーする時にコピー先リージョンのCMKを指定することになり…

RDS KMS暗号化されてるDBインスタンスをスナップショットで別リージョンにコピーする検証(AWS CLI)

RDSをKMSの鍵で暗号化する場合、RDSインスタンスがあるそれぞれのリージョンKMS鍵(CMK:Customer Master Key)で暗号化しますが、DBスナップショットで、他リージョンにDBをコピーする場合、鍵はどうなるのかということを確認するための検証手順です。 結論と…

AWS CLIでVPCエンドポイントを作成する時のポリシー(JSON)の指定方法

AWS

CLIでVPCエンドポイントを作成するときに、エンドポイントポリシーのJSONをどうやって渡せばいいのかを悩んだので、そのメモ書きです。 JSONの文字列をシェルの変数に投入してあげるという解決策です。 実行例 AWS_PROFILE=default POLICY=' { "Statement": …

Linuxでファイル名がSJIS(CP932)のものをUTF-8のファイル名に一括変換する

convmvをインストール sudo yum -y install convmv 使い方 cd <変換したいファイルがあるディレクトリ> convmv -r -f cp932 -t utf-8 --notest * -r 再帰的に変換を実行 -f cp932 : 変換元のコード指定。cp932は、windowsのSJISコード名称 -t utf-8: 変換先…

JSONの文字列変換(JSON.dumps)をワンライナーのコマンド実行で実現する

コマンドでの作業で、pythonのコードを書くまででない場合の方法。 変数"POLICY"に設定したJSONを、pythonで文字列に変換して、変数"POLICY_ESCAPE"に格納する。 JSON→文字列にエンコード やること このJSONを、 { "Version": "2012-10-17", "Statement": [ …

EC2の有償OSの課金コード("billingProducts")

AWS

インスタンスのメタデータの"http://169.254.169.254/latest/dynamic/instance-identity/document/"の中のbillingProducts"がそれっぽいです。”curl http://169.254.169.254/latest/dynamic/instance-identity/document/ "で参照できます。

AWS CodeCommitでgit認証にAWS CLIの認証情報ヘルパーを使用する

AWS

CodeCommitに作成したgitレポジトリに接続するための認証に、AWS CLIを利用する方法です。gitの認証ヘルパーに"aws codecommit credential-helper"を利用するのがポイントです。

VPCのsubnetのCIDRの割り当てのメモ

AWS

VPCのCIDRを"10.1.0.0/16"とした時のCIDR例。 私は検証用途での利用でIPが枯渇するほどインスタンスを起動するわけではなので、IPアドレス範囲をキツキツには設計していない。 ポイント Privateサブネットは少し大きめの19bitで切る。 Publicサブネットは、1…

AWS CloudFormation 起動テンプレート+CloudFormationヘルパースクリプトを使ってFowardProxyインスタンスを複数作成する

AWS

CloudFormationでsquidのFowardProxyインスタンスをCloudFormationヘルパーを利用してインスタンス起動時にセットアップするようにしています。このインスタンスをAutoscalingは使用せず複数個作成したいと思い、EC2の起動テンプレートを組み合わせることで…

(AWS) UserDataとCloudFormationヘルパースクリプトの定義情報取得や実行契機の違い

AWS

UserDataはインスタンスのメタデータから情報を取得するため、実質VPC設定やIAMロールを考慮する必要がありません。一方CloudFormationヘルパースクリプトは、CloudFormationのパブリックにあるエンドポイントから取得するためInternet GatewayやCloudFormat…

VSCodeでAWS CloudFormation(YAML)を作成する環境を整備する

VSCodeでAWS CloudFormationをYAMLで作成する環境の設定手順です。 やること VSCodeのセットアップ YAMLの構文チェック用にエクステンション"YAML Language Support by Red Hat"をVSCodeに追加 CloudFormationの構文チェック用のカスタム設定をVSCode設定に…

mac版PowerPoint消えなくなった自動回復ファイルを手動削除する手順

Mac版のPowerPointを利用していて、PowerPointを起動するたびに古い自動回復ファイルが開いて対処するのが面倒でした。なんとか古い自動回復ファイルを消せないかなと調べた内容を備忘録で残します。 手順 Mac版PowerPointの自動回復ファイルの保存先フォル…

Amazon RDSのIOPS&容量変更をCLIで実行するサンプル

RDS プロビジョンド IOPSで、IOPSを変更して、DBがAvailableになるまでWaitするシェル(+AWS CLI)のサンプルです。 AWS CLIで”aws rds modify-db-instance”で変更をします。 RDS&プロビジョンド IOPSで、IOPS設定によるBLOBファイルインサートのパフォーマン…

CloudTrailの「組織の証跡」でOrganizationsメンバアカウントに一括CloudTrailを設定する手順 (ロギング専用アカウント+KMS暗号化)

AWS

AWS Oraganizationsを利用したマルチアカウント構成で、Oraganizationsの機能で、配下のAWSアカウントに共通のCloudTrail設定を行うことができる「組織の証跡」があります。ドキュメントは以下になりますが、logging専用のAWSアカウントのS3バケットを利用し…

Lambdaの実行ロールのクレデンシャルを確認してみた

AWS

Lambdaの関数からAWS APIを実行する場合、Lambdaに付与した実行ロール(Execution role)の権限が利用されますが、この実行ロールのクレデンシャルをLambda上でどう取得しているかがパッとわからなかったので、実機で確認しました。 結論を述べると、Lambdaを…

Amazon SNSからプッシュ通知をPublishする時のメモ

モバイルプッシュ関連のblog記事 Amazon SNSとiOSでモバイルプッシュを試してみる - のぴぴのメモ (2019/1)Appleのデバイスにプッシュ通知を行うためのAPNs設定メモ - のぴぴのメモ Amazon SNSからプッシュ通知をPublishする時のメモ - のぴぴのメモ マネー…

Amazon SNSとiOSでモバイルプッシュを試してみる

Amazon SNSでiOS(iPhone)へのモバイルプッシュの検証を行うために準備した環境構築のメモです。

macOSにAWS CLI(Ver.1)をセットアップする手順

MacにAWS CLIをセットアップした時のメモです。python3ベースです。macOSバージョンは、macOS High Sierra Version 10.13.16で、OS標準のpythonは、python2.7ですの。そのため、個別にpython3をインストールして、pipインストールして、aws cliをインストー…