AWS
📄️ Amazon Aurora MySQL アップグレード
Amazon Aurora MySQL をアップグレードする際の方式について整理してみました。いずれも一時的なダウンタイムは発生します。(ダウンタイムをゼロにする方法や、データ更新後も切り戻しできるようにする方法についてはここでは触れません。)
📄️ AWS Budgets で利用料金を監視する
AWS Budgets を利用すると、AWS アカウントの利用料金を監視し、警告することができます。
📄️ AWS CDK で AWS App Runner をデプロイする
概要
📄️ AWS CDK: 非同期処理/async 関数を呼ぶ
概要
📄️ AWS CDK: 環境ごとの設定を自前で管理する
経緯
📄️ AWS Config を AWS Organizations 配下に CloudFormation でデプロイ
概要
📄️ AWS CloudFormation StackSet を AWS Organizations 配下に AWS CLI でデプロイ
概要
📄️ AWS Chatbot による Slack 連携
概要
📄️ AWS のビデオカンファレンスサービス Amazon Chime を使う
https://aws.amazon.com/jp/chime/
📄️ AWS: コマンドツールでの認証設定パターン
はじめに
📄️ AWS (/SAM/EB) CLI で IAM Role / MFA を使用する
各種 CLI から IAM ロールを使って AWS リソースにアクセスする方法をまとめました。
📄️ CloudFront で Lambda@Edge を使って OpenID Connect (OIDC) 認証する
概要
📄️ CloudFront で Lambda@Edge を使って OpenID Connect (OIDC) 認証: Widen/cloudfront-auth
概要
📄️ CloudFront+S3 による静的サイトを Cognito + IAM Identity Center で認証する
概要
📄️ CloudFront+S3 による静的サイトを Cognito + Google で認証する
概要
📄️ CloudFront Functions を使ってみた
CloudFront Functions が公開されました。同じ用途としては既に Lambda@Edge がありますが、Lambda を使わずに CloudFront 組み込みで超軽量な実行環境になっているようです。
📄️ CloudWatch Agent の設定
参考) CloudWatch エージェントを使用して Amazon EC2 インスタンスとオンプレミスサーバーからメトリクスとログを収集する
📄️ AWS CloudWatch Synthetics Monitoring を CloudFormation で設定する
参考) Using Synthetic Monitoring - Amazon CloudWatch Documentation
📄️ AWS Cost Anomaly Detection (コスト異常検出)
概要
📄️ AWS DataSync でクロスアカウント間の S3 バケットをコピー
概要
📄️ AWS SDK: Amazon DynamoDB テーブルのデータを全削除する
概要
📄️ AWS Elastic Beanstalk でログを採取する
参考) Viewing Logs from Amazon EC2 Instances in Your Elastic Beanstalk Environment
📄️ AWS Elastic Beanstalk で環境変数を Parameter Store から設定する
Elastic Beanstalk でアプリケーションを動作させる場合に環境変数を設定しますが、DB パスワードやアクセスキーといった秘密情報はどうすべきでしょうか?環境変数では設定が暗号化されず管理コンソールからも見えてしまう状態ですので、良いこととは思えません。アプリケーション内で Parameter Store や Secret Manager などから動的に取得するのがベストな気がしますが、Web フレームワークでは環境変数で設定することが前提となっている場合も多いと思います。
📄️ AWS EC2 にローカルのキーペアを登録する
マネジメントコンソールや CLI でキーペアが作成できますが、初回のみとはいえ秘密鍵を転送するのはあまり気持ちが良くないので、ローカルで作成した SSH 鍵を登録する。
📄️ CloudWatch Agent 込みの AMI を Packer で作っておく
EC2 インスタンスから追加のメトリクスやログを収集する CloudWatch Agent をインストール済みの AMI を作成します。
📄️ Amazon ECR: レジストリのプル数を取得する
レジストリが使われているかどうかを確認するため、RepositoryPullCount メトリクスを参照して、ECR レジストリのプル数を取得します。
📄️ Amazon ECR: 各レジストリーの保存容量を確認する
Amazon ECR に保存したイメージは、ストレージ料金として 0.1 USD/GB・月かかります。
📄️ Amazon EKS: プラグインバージョンを確認する
get.sh を実行
📄️ IAM Identity Center を使おう / AWS CLI で U2F MFA
IAM Identity Center (旧 AWS SSO) は、複数 AWS アカウントの認証を統合する AWS Organizations を前提としたサービスですが、複数アカウントを利用しない場合でも以下のようなメリットがありそうです。
📄️ Amazon Web Services で IPv6 を使う
AWS で IPv6 がどの程度使えるかと、使う方法をざっくりとまとめてみました。(手順等の詳細は割愛します。)
📄️ Amazon Kinesis Video Streams を使ってみた
概要
📄️ Amazon Kinesis Video Streams から動画画像をリアルタイム受信して画像処理をおこなう (Java)
Kinesis Video Streams の API 呼び出しは AWS SDK for Java を、ストリームから MKV を解析するためのライブラリとして別途 Amazon Kinesis Video Streams Parser Library が提供されているので、これらを使って処理する方法です。
📄️ Amazon Kinesis Video Streams から動画を受信して画像処理をおこなう (Python)
GetMediaForFragmentList, GetClip または GetImages API を使い、動画や画像を取得して処理する方法です。
📄️ Amazon Kinesis Video Streams: GStreamer plugin の認証情報(Credentials)
概要
📄️ Amazon Kinesis Video Streams: GStreamer コマンドラインツールによる送信方法
GStreamer のコマンドラインツール (gst-launch-1.0) を使って Kinesis Video Streams に映像を送信するコマンドの例です。
📄️ Amazon Kinesis Video Streams API/SDK による開発
Amazon Kinesis Video Streams を使ったアプリケーションを開発するための SDK について整理してみました。
📄️ Amazon Kinesis Video Streams Producer SDK (C++) による開発
Amazon Kinesis Video Streams CPP Producer, GStreamer Plugin and JNI
📄️ AWS KMS による暗号
概要
📄️ Serverless Framework で Go (provided.al2)
概要
📄️ AWS CloudWatch Logs: 空のログストリームを削除
保持期間 (retention) を過ぎて不要になったログストリームを削除します。
📄️ AWS CloudWatch Logs : Log Group ごとのログ送信量を確認する
CloudWatch Logs の料金
📄️ AWS Organizations で SCP を設定して利用を制限する
AWS Organizations 配下の AWS アカウントまたは Organization unit に対して、SCP (Service Control Policy) を設定して利用できるサービス等を制限することができます。
📄️ Amazon RDS for MySQL を Aurora MySQL にアップグレード
手順
📄️ Amazon RDS for MySQL アップグレード
Amazon RDS for MySQL をアップグレードする際の方式について整理してみました。いずれも一時的なダウンタイムは発生します。(ダウンタイムをゼロにする方法や、データ更新後も切り戻しできるようにする方法についてはここでは触れません。)
📄️ Route 53: DNS レコードを AWS CLI で追加する
📄️ Route 53: エイリアスレコードを AWS CLI で登録する
概要
📄️ Amazon S3 クロスアカウントバケットポリシー設定パターン
なんか混乱してくるので整理しました。
📄️ Amazon S3: バケットのサイズを取得する
概要
📄️ Nuxt.js で作成した静的サイトを S3 + CloudFront でホスティングするパターン
Nuxt.js で SSR を使わない静的サイトを生成(nuxt generate)して S3 で安価にホスティングする場合、「各ページに対して index.html ファイルが生成されるが、リンクの URL では index.html は省略されるため、そのままでは Not Found になってしまう」という課題がある。通常の Web サーバーには、例えば Apache では DocumentIndex、nginx では index というように、ファイル名が省略された場合にデフォルトのファイル名を配信する設定があるが、それ相当の動作が必要となる。
📄️ Amazon S3: すべてのオブジェクトバージョンを削除
概要
📄️ Amazon S3 のサーバーサイド暗号 (encryption at rest)
参考)
📄️ Amazon S3 のストレージクラスと Intelligent-Tierling
Intelligent-Tierling を含めたストレージクラスが良く分からなくなってきたので自分なりにざっくり整理してみました。
📄️ AWS SAM アプリケーションをデプロイする
https://aws.amazon.com/jp/serverless/sam/
📄️ Docker コンテナで SAM CLI を使用する
ローカルに環境をインストールせずに SAM CLI でビルド・デプロイをおこなう。
📄️ AWS SDK for PHP: 認証情報をプロセス間で再利用する
背景
📄️ AWS SDK for PHP のリトライ・タイムアウト制御
AWS SDK for PHP を使用してエラーが発生した場合のリトライについて、簡単に整理しました。
📄️ AWS SDK for PHP: DynamoDB だけ? リトライを 10 回する件
参考) retries - AWS SDK for PHP
📄️ AWS SDK for Python (boto3) のリトライ・タイムアウト制御
AWS SDK for Python (boto3) を使用してエラーが発生した場合のリトライについて、簡単に整理しました。
📄️ AWS SDK のリトライモード
AWS SDK によるリトライモードには legacy と standard そして試験的ステータスである adaptive があり、デフォルトで何も指定しない場合は legacy になる。リトライをあまり意識せずに使うことも多いと思うが、レガシーと名のついたモードを使い続けるのも抵抗があるので、基本的には指定すべきと思われる。これらの違いについて整理してみた。
📄️ Amazon SNS の料金
Amazon SNS の料金
📄️ SQS メッセージの Redrive (デッドレター再処理)
デッドレターキューからメッセージを受信し、元のキューに送信することで再処理をおこなうツールです。
📄️ SQS メッセージの Redrive (デッドレター再処理)
デッドレターキューからメッセージを受信し、元のキューに送信することで再処理をおこなうツールです。