あめがえるのITブログ

頑張りすぎない。ほどほどに頑張るブログ。

2023-01-01から1年間の記事一覧

Amazon S3の静的Webホスティングを使ってみた

S3の静的Webホスティングを使う機会があったので検証してみた。 S3 静的Webホスティングとは S3にHTMLファイルをアップロードし、パブリックアクセスを許可した状態でブラウザからHTMLファイルにアクセスさせればWebサイトとして動作させることが 可能。 S3 …

AWS CloudFront+APIGateway(WAF)でカスタムヘッダーで接続元を制限してみた

CloudFront+APIGatewayの構成で送信元をCloudFrontのみに制限する場合に、APIGatewayにWAFを設定し、カスタムヘッダーで制限するのが一般的らしいのでやってみた。 やること terraformで下記を実施。 CloudFront+APIGatewayを作り、APIGatewayにWAFをアタッ…

AWS RDS Proxy(AuroraMySQL)+SecretManager+VPCEndpoint構成を作成してみた

前にRDS(MySQL)をやったのでAuroraもやってみた。 違いはDBのClusterがあるかないかでそれによりRDSProxyの設定項目が少し変わる程度。 amegaeru.hatenablog.jp 構成 実践! 1.環境構築 1-1.terraformコードを作成 # vi main.tf provider "aws" { regi…

AWS RDS Proxy(MySQL)+SecretManager+VPCEndpoint構成を作成してみた

RDSProxyを使った構成を作成してみた。 RDSProxyとは ・接続プーリングができる:多数の同時接続をしていることに伴うオーバーヘッドを削減できる。 ・RDS Proxy の認証:パスワード認証、IAM認証などが使える。 ・TLS/SSL が使える:RDS Proxyとアプリケー…

AWS SecretManagerで同じ名前のシークレットが作成できない

terraformでSecretManagerの検証している際に下記エラーが発生してシークレットが再作成できない事象が発生したので調べてみた。 │ Error: creating Secrets Manager Secret: InvalidRequestException: You can't create this secret because a secret with …

AWS ALBでdualstackと書かれているものについて

Route53でALBと紐づくAliasレコードを作成しようとするとALB名の前にdualstackの記載があるので調べてみた。 ※こんな感じ ChatGPT様より AWS Application Load Balancer (ALB) の Dualstack 機能は、IPv4 と IPv6 の両方のトラフィックをサポートするための…

Linuxでrm -rf /を実行してみた

すべてを終わらせたくなったのでLinuxの禁断のコマンド(rm -rf /)を実行してみた。 ※rm:ディレクトリ・ファイルを削除 ※-r:再帰実行 ※ざっくり言うとサブディレクトリすべてに対して実行 ※-f:強制 ※/:ルートディレクトリ指定 ※Linuxのディレクトリは/(ル…

AWSで特定のタグを持つリソースを検索してみた

タグからリソースを検索する必要があったので方法を調べてみた。 やること WebConsoleとコマンドから特定のタグを持つリソースを検索する。 ※今回はap-northeast-1でキーがServiceTagKey、値がServiceTagValueを持つリソースを検索する。 実践! 1.WebCons…

AWS ECSの全サービスの詳細をCLI1行で取得してみた

ECSのサービスの詳細を取得する場合、Cluster名とService名を指定する必要があり、すべて取得するとなるとClusterでループしさらにServiceでもループさせて取得する必要がある。それぞれ実行してたら日が暮れるので1行でサクッと取れる方法を調べてみた。 C…

AWS ECSのタスクにタグを伝搬してみた

タスクのコスト管理などにタグをつけたい場合があるが、デフォルトではタグが付かないので設定を入れる必要がある。 ※こんな感じ やること TerraformでECS(Fargate)環境を作成し、サービスとタスク定義にタグをつけ、それぞれ伝搬させてタスクにタグが伝搬さ…

TerraformでAPI GatewayとLambdaの構成を作成してみた

やること terraformでAPI Gateway+Lambdaの構成を作成する。 構成 ブラウザ ⇒ APIGateway ⇒ Lambda(Python) 実践 1.Pythonコード作成 # vi lambda_function.py import json def lambda_handler(event, context): # TODO implement return { 'statusCode':…

AWS WAF+ALB+EC2の環境を作成し、WAFでIPブロックを設定してみた

WAFを使った環境構築案件が増えそうなのでお勉強してみた。 やること terraformでWAF+ALB+EC2の環境を作成し、その後接続元のIPを制限する設定を入れ挙動を確認する。 環境 接続元 ⇒ AWS WAF ⇒ ALB ⇒ EC2(Nginx) 実践! 1.環境作成 # vi main.tf provide…

terraformのimportを使用して手動で設定した項目をコードに起こしてみた

下記で作成したカスタムヘッダー設定したCloudFront+ALB+EC2(Nginx)の構成をterraformのimportを使用してコードに起こしてみた。 CloudFront+ALBでカスタムヘッダーを利用して、ALBでCloudFrontからの接続のみ許可する - あめがえるのITブログ terraform i…

CloudFront+ALBでカスタムヘッダーを利用して、ALBでCloudFrontからの接続のみ許可する

カスタムヘッダーを利用して、CloudFrontからの接続のみALBで許可する設定を入れてみた。 やること TerraformでCloudFront+ALB+EC2(Nginx)の環境を構築し、CloudFrontからの接続のみをALBで許可するようカスタムヘッダーに設定を入れて、CloudFront、ALBそ…

acm list-certificatesで取得できない証明書を取得する

AWS CLIで証明書の一覧を取得しようとしたが一部が取得されない状況を確認したので調べてみた 取得できない証明書 どうもキーアルゴリズムの「EC_prime256v1」が取得できない模様。 原因 リファレンスを読むとキーアルゴリズム「RSA_2048」でフィルタがかか…

AWS WAFのWebACLに設定されたタグを確認する方法

AWS WAFのWebACLに設定されたタグはGUIでは確認できないのでCLI確認する方法を調べてみた 実践! 1.環境作成 ※下記を使用して環境を作成する。 amegaeru.hatenablog.jp 2.WebACLのARNを確認 ※CloudShellで実行 # aws wafv2 list-web-acls --scope REGION…

terraformでS3バケットを消す際空っぽでないとエラーが出るのがうざい件

terraformで検証しているとS3バケットにオブジェクトがあると削除できずにエラーになるので都度GUIで削除するのが大変面倒で、調べてみたら方法があったのでやってみた。 症状 S3バケット内にオブジェクトがあると下記エラーがでる。 対策 S3バケットのコー…

Amazon CloudFront+S3のWebサイトでOAIで送信元アクセス制御してみた

Amazon CloudFront+S3の構成で直接S3にアクセスさせたくないので、OAI(オリジンアクセスアイデンティティ)を設定してCloudFrontからの接続以外は受け付けないようにする。 Amazon CloudFrontとは 高いパフォーマンス、セキュリティ、デベロッパーの利便性の…

AWS WAFについて調べてみた

AWS WAFを使う機会があったのでちょいと調べてみた。 AWS WAFとは Web アプリケーションの通信をフィルター、監視、ブロックするためのソフトウェアまたは、ハードウェアのセキュリティ対策。 一般のファイアウォールや IDS/IPS との違いは、アプリケーショ…

Amazon S3のアカウントレベルのパブリックアクセスブロックについて調べてみた

S3を見ているとバケット単位のパブリックアクセスブロックのほかにアカウントレベルでのパブリックアクセスブロックの設定があったので調べてみた。 アカウントレベルのアクセスブロックとは Amazon S3 のパブリックアクセスブロックは、Amazon S3 のリソー…

GCPでVMインスタンスを作成してみた

AWS SAP更新も無事終わったのでGCPでもやります。 GCPとは Google Cloud Platformの略。Googleが提供するクラウドサービスのプラットフォーム。 コンピューティング、データストレージ、データ分析、機械学習、ネットワーク、IOTなど多岐にわたるサービスを…

Amazon Rekognitionについて調べてみた

AWS SAPの勉強 Amazon Rekognitionとは イメージ分析とビデオ分析をアプリケーションに簡単に追加できる。Rekognition APIに画像または動画を提供するだけで、サービスは様々なことが可能なになる。 docs.aws.amazon.com Rekognitionでできること ・ラベル(…

AWS Transfer Familyについて調べてみた

AWS SAPにまたまた新しいサービスが出たので調べてみた。この勉強が役に立つ日がくるといいな。。。 AWS Transfer Familyとは AWSストレージサービスとの間でファイルを送受信できる安全な転送サービス。 公式ユーザーガイド: docs.aws.amazon.com AWS Tran…

Amazon S3のイベント通知を使ってみた

EventBridgeとは違うらしいので調べてみた。つーか違いがよくわかってなかった。 S3イベント通知とは S3バケットで特定のイベントが発生したときに通知を受け取ることができる。 docs.aws.amazon.com 通知可能なS3イベント ・New object created events:オ…

AWS Global Acceleratorについて調べてみた

AWS SAPで出てきたAWS Global Acceleratorについて調べてみた。 AWS Global Acceleratorとは パブリックアプリケーションの可用性、パフォーマンス、およびセキュリティの向上に役立つネットワークサービス。AWSのアプリケーションエンドポイントへの固定エ…

AWS Compute Optimizerについて調べてみた

EC2か何かのオプションみたいな名前ですがこんな名前のサービスがあるらしいので調べてみた。 AWS Compute Optimizerとは AWS Compute Optimizerは、AWSリソースの設定と使用率のメトリクスを分析するサービス。リソースが最適かどうかを報告し、最適化に関…

Amazon S3 Glacierのストレージクラスについて調べてみた

AWS SAPにS3 Glacier Deep Archiveなる新しい言葉が出てきたので調べてみた(;´∀`) S3 Glacierで選択できるストレージクラス ・Instant Retrieval: 四半期に1回アクセスあれ、ミリ秒単位の取り出しが必要な長寿命のデータに対し最大68%低いコストのストレ…

MQTTプロトコルについて調べてみた

AWS SAPの試験勉強をしなければいけないが夏の暑さにやられてやる気が起きない。そんな中またわけわからん単語が出てきたのでしかたなく調べてみた。。。 MQTTプロトコルとは MQTT(Message Queuing Telemetry Transpot)は、リソースに制約のあるデバイスや低…

AWS Resource Accesss Manager(RAM)について調べてみた

AWS SAPの試験に出てたので調べてみた。 Resource Access Managerとは 組織内のAWSアカウント間またはAWS Organizations内の組織単位(OU)間で、サポートされているリソースタイプのリソースを安全に共有する。これによりすべてのアカウントでリソースをプロ…

TerraformでAWS ECRのリポジトリを作成してみた

TerraformでAWSのリソースを一通り作ってみたいので今回はECRを作成する。 実践! 1.tfファイル作成 provider "aws" { region = "ap-northeast-1" profile = "testvault" } variable "env" { default = { env_name = "test" vpc_cidr = "10.0.0.0/16" sb_az…