ablog

不器用で落着きのない技術者のメモ

2021-01-01から1ヶ月間の記事一覧

NATゲートウェイの作成に失敗する

AWS

事象 NATゲートウェイを作成すると、Failed となり、状態メッセージに "Network vpc-****** has no Internet gateway attached" と表示される。 原因 VPC にインターネットゲートウェイがアタッチされていないため。 NAT ゲートウェイの作成に失敗する 問題 …

08. ネットワーク設定

VPC とサブネット # VPC/サブネット名 CIDR Availability Zone 1 design-cookbook-dev-vpc 172.16.0.0/16 ap-northeast-1 2 design-cookbook-public-subnet01 172.24.1.0/24 ap-northeast-1a 3 design-cookbook-public-subnet02 172.24.2.0/24 ap-northeast-…

AWS CLI で VPC エンドポイント経由でアクセスする

AWS

事象 STS に対して EC2 から AWS CLI や AWS SDK を使ったアプリケーションから VPC エンドポイント経由で API を実行すると応答がなくタイムアウトする。 原因 グローバルエンドポイント(sts.amazonaws.com)が使用されているため。 AWS CLI v1 はデフォル…

Python でタイムスタンプのタイムゾーンを変換する

Python でタイムスタンプのタイムゾーンを変換するコード例。例えば、CloudTrail のタイムゾーンを UTC から JST に変換するといった場合。以下のコードは AWS Lambda でも追加モジュール不要で実行可能。 コード import datetime import dateutil.parser de…

MariaDB Connector/J のロギング設定

As Per Lundberg already stated, logging is possible since version 1.5.0, see here.To activate it, I added &log=true to my database URL. However, this was not sufficient. As explained here, the following steps are also needed:First, we need…

MariaDB Connector/J で Aurora MySQL に接続すると INFORMATION_SCHEMA.REPLICA_HOST_STATUS からエンドポイントを取得する?

AWS

Amazon Aurora DB クラスターエンドポイントは、DNS レコードの更新を自動的に伝播しますが、処理は即座に行われるわけではありません。これにより、データベースで発生したイベントへの応答が遅れる可能性があり、イベントがアプリケーションによって処理さ…

macOS に tree コマンドをインストールする

macOS に tree コマンドをインストールする $ brew install tree 日本語ファイル名が文字化けするときは -N オプションをつける。 $ tree -N 参考 Macでtreeコマンド - Qiita tree コマンドで文字化け | qnowp

AWS を使って Web サイトを公開したりしてみる

AWS

ゆるく、AWS を使って Web サイトを公開したり、いろんなサービスを使ってみたりしていくメモ。 AWS アカウント作成後にすぐやるセキュリティ対策 - ablog 01. Amazon S3 でウェブサイトを公開する - ablog 02. Route 53 で独自ドメインを取得する - ablog 0…

07. AWS WAF で CloudFront ディストリビューションに web ACL 作成

マネジメントコンソールで WAF & Shield にアクセスして、[Create web ACL] をクリック。 Resource type: CloudFront distributions add AWS resources で CloudFront distribution を追加 [Add managed rule groups] をクリック。 [AWS managed rule groups…

Amazon DynamoDB の監視設計

AWS

アラート通知 ThrottledRequests メトリクス 説明 ThrottledRequests リソース (テーブルやインデックスなど) でプロビジョニングされたスループットの上限を超える、DynamoDB へのリクエスト。リクエスト内で任意のイベントがプロビジョンドスループットの…

作成済の Aurora クラスターの Performance Insights を有効化する

AWS

クラスター作成後に Performance Insights を有効化する場合は、[クラスターの変更] ではなく [インスタンスの変更] で有効化する。 Aurora MySQL では t2、t3 インスタンスクラスは Performance Insights はサポートされていない。 RDS MySQL から Aurora …

AWS Backup で Amazon DynamoDB のバックアップを定期的に取得する

AWS

AWS Backup で Amazon DynamoDB のバックアップを日次で取得してみた。 マネジメントコンソールで AWS Backup に移動してから以下の手順で作成した。 手順 バックアッププランを作成する バックアップウインドウ: バックアップウインドウをカスタマイズ バッ…

Spark UI で参照している S3 のパスを変更する

AWS

CloudFormation で Spark UI 用に EC2 インスタンスを作成後に、参照する S3 のパスを変更する手順。 /opt/spark/conf/spark-defaults.conf の spark.history.fs.logDirectory を編集する spark.eventLog.enabled true spark.history.fs.logDirectory s3a://…

CloudFormation で Spark UI 作成時にアタッチされる IAM ロール

AWS

Spark UI で Glue ジョブの結果を確認する手順 - ablog で、CloudFormation で Spark UI 用 EC2 を作成したときにアタッチされる IAM ロールに設定されている IAM ポリシーは以下の通り。 AWS 管理ポリシー CloudWatchAgentServerPolicy AmazonS3ReadOnlyAcc…

06. CloudFront でカスタムドメインのSSL証明書を設定する

CloudFront マネジメントコンソールで CloudFront にアクセスする。 [Create Distribution] をクリック、[Get Started] をクリック、以下の通り入力し、[Create Distribution] をクリック。 Origin Domain Name: portfolio.yoheia.com.s3.amazonaws.com Orig…

05. カスタムドメインのSSL証明書を作成する

注意事項 US East (N. Virginia) Region (us-east-1) で証明書を作成する。 手順 マネジメントコンソールで ACM にアクセスする。 [証明書のプロビジョニング]-[今すぐ始める] をクリック。 [パブリック証明書のリクエスト] を選択。 ドメイン名を入力する。…

04. CloudFront 経由で Amazon S3 でホストされた静的ウェブサイトを公開する

CloudFront の設定 マネジメントコンソールで CloudFront にアクセスする。 [Create Distribution] をクリック、[Get Started] をクリック、以下の通り入力し、[Create Distribution] をクリック。 Origin Domain Name: portfolio.yoheia.com.s3.amazonaws.c…

03. 独自ドメインで S3 の静的ウェブサイトホスティングを公開する

設定 マネジメントコンソールで作成したドメイン名(yoheia.com)をクリックする。 [レコードを作成] をクリックする。 レコードを作成する。 エイリアス: チェック レコード名: FQDN を入力 トラフィックのルーティング先 エンドポイントを選択: S3 ウェブ…

02. Route 53 で独自ドメインを取得する

Route 53 でのドメイン登録すると15分ほどで完了して使えるようになった。 マネジメントコンソールで Route 53 にアクセスする。 [ドメインの登録] をクリックし、取得したいドメインを入力する。 連携先を入力する。 入力情報を確認して、注文を完了する。 …

01. Amazon S3 でウェブサイトを公開する

アカウントレベルの設定 アカウントレベルで S3 のブロックパブリックアクセスをオフに設定する。 S3 バケットの作成と設定 S3 バケット "portfolio.yoheia.com" を作成する。 Route 53 でエイリアスとして設定する場合、DNSレコード名と同じ名前のバケット…

AWS アカウント作成後にすぐやるセキュリティ対策

ルートアカウント ルートユーザーの他要素認証の有効化 Amazon S3 のブロックパブリックアクセスをアカウントレベルで有効化 CloudTrail を有効化 AWS Config を有効化(マネージドルールは選択しない) AWS GuardDuty を有効化 AWS SSO、AWS Organizations …

base64 エンコーディングされたバイナリデータは元より大きくなる

メールの添付ファイルが元のファイルよりもサイズが大きくなる理由 RFC 2045 で定義されている Multipurpose Internet Mail Extensions(MIME)の仕様には、バイナリからテキストへのいくつかのエンコーディングの 1 つとして「base64」が示されています。 M…

ALB と Lambda のリクエストサイズの最大値

AWS

Lambda の呼び出しペイロードは最大 6MB(同期の場合) ALB はターゲットが Lambda の場合にリクエストボディは最大 1MB 参考 リソース Quota 呼び出しペイロード (リクエストとレスポンス) 6 MB (同期)256 KB (非同期) AWS Lambda のクォータ - AWS Lambda …

Google Chromeで複数AWSアカウントに同時にサインインして操作を行う方法

AWS

Google Chrome の右上のユーザーを選択し、追加をクリックする。 ユーザー名を入力、アイコンを選択してユーザーを追加する。 それぞれのユーザーでログインしておけば、AWSアカウントでサインイン/サインインアウトしなくても同時に複数アカウントにサイン…

AWS Glue の glueContext で spark.conf.set() する方法

AWS

Glue Spark ジョブや Jupyter Notebook の glueContext で spark.conf.set() する方法 import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext, SparkConf ★ from awsglue.co…

Amazon Redshift から Amazon S3 へ UNLOAD 時に s3:ListBucket 権限が必要

AWS

Amazon Redshift から Amazon S3 へ UNLOAD 時には s3:PutObject 権限だけでよさそうだが、s3:ListBucket 権限も必要。allowoverwrite オプションをつけている場合は s3:PutObject 権限のみで UNLAOD できるが、allowoverwrite オプションをつけていない場合…

GitHub で2要素認証を有効化したら、git コマンドで push できない

事象 GitHub で2要素認証を有効化したら、git コマンドで push できない。 原因 2要素認証を有効化すると、git コマンドではパスワードではなく Personal access tokens で認証を行うため。 解決策 Personal access tokens を生成 ブラウザで GitHub にログ…

GitHub に push すると "error: src refspec master does not match any."、"error: failed to push some refs to" と怒られる

事象 GitHub に push すると "error: src refspec master does not match any."、"error: failed to push some refs to" と怒られる。 $ git push origin master error: src refspec master does not match any. error: failed to push some refs to 'git@gi…

AWS Glue で Amazon S3 にある Parquet を Amazon DynamoDB にロードする

AWS

AWS Glue で Amazon S3 にある Parquet を Amazon DynamoDB にロードしてみた。 DynamoDB にテーブルを作成する。 プライマリキーの項目名と型を設定する。 Parquet ファイルを S3 バケットにアップロードする。 AWS Glue でクロールしてテーブルを作成する…

AWS Glue で Amazon S3 にある CSV を Amazon DynamoDB にロードする

AWS

AWS Glue の Spark ジョブで Amazon S3 にある CSV を Amazon DynamoDB にロードしてみた。 src_table.csv を作成する。 x y z src_table.csv を S3 バケットにアップロードする。 AWS Glue のクローラでアップロードした CSV をクロールしてテーブルを作成…