- 1. AWS SDK for JavaScript v3 で S3 の操作を行う方法
- 2. AWS Certified SysOps Administrator – Associate に合格しました
- 3. [AWS] AWS Single Sign-On で Organizations 管理外の AWS アカウントにアクセスする
- 4. 「DNS_PROBE_FINISHED_NXDOMAIN」の切り分け
- 5. terraformが実行可能か速攻で実験したい場合の手順
- 6. AWS re:Invent 2021で発表された新サービス/アップデートまとめ
- 7. AWS上のシステムを維持管理して得たハマりポイント
- 8. DatabricksにおけるAssumeRoleポリシーを用いたS3バケットに対するセキュアなクロスアカウントアクセス
- 9. 複数のAWSアカウントにあるAWS CodeCommitリポジトリを切り替えて使用する
- 10. Gitリポジトリを古いAWSアカウントから新しいAWSアカウントへ移行する
- 11. aws_iam_openid_connect_providerのthumbprint_listの計算方法
- 12. AWS DVAに10時間で合格した話
- 13. WP Offload Media Lite for Amazon S3でS3に画像が保存されない場合に確認するべきポイント
- 14. Cypress 認証情報を保持して自動化へ Cognito編〜
- 15. AWS HTTPS通信でアクセス / CloudFront
- 16. 何となくわかった気になる週刊AWS – 2021/11/15週
- 17. AWS+ServerlessFrameworkを使ってPythonバックエンドを構築する
- 18. AWS新サービス「Resilience Hub」を使ってみた
- 19. AWS SAMでアプリケーションをローカルテスト&デプロイ
- 20. 【AWS初学者向け】翻訳WEB APIを作成してみた(ハンズオン)
AWS SDK for JavaScript v3 で S3 の操作を行う方法
#はじめに
現在Node.jsでAWSのサービスは「AWS SDK」というパッケージで操作することが可能になっています。
大まかに「v2」「v3」に分かれていて、v3は操作するサービスごとに個別にパッケージをインストールすることができたりTypescriptのサポートを進めたことから公式もv3の使用を推奨しているようです。
しかし、現状情報はv2の情報が多いこと、v2とv3で違いが大きかったりして使用する際にハマったことが多かったこと、また公式ドキュメントも正直わかりづらく情報を得るのに苦戦したので、v3でS3を操作する方法をここに記したいと思います。#パッケージのインストール
前述したようにv3は操作するサービスごとに個別にパッケージをインストールできるので、S3を操作するパッケージをインストールします。###npm
“`
npm i -S @aws-sdk/client-s3
“`###yarn
“`
yarn add @aws-sdk/client-s3
“`#S3の操作方法
###1・インスタンスの生成
“`javascript
import {
AWS Certified SysOps Administrator – Associate に合格しました
2021/11/29に SOA に合格しました。新試験になりラボが追加されたので、どうなるのか不安でしたが、ぎりぎりですが無事に合格できました。
![AWS-Certified-SysOps-Administrator-Associate-pdf.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/780549/403179dc-fd2d-8485-45b5-1bc9950040a8.png)## ラボ対策
新試験となって日が浅いので、まだまだラボ試験対策の情報が少ないですが、可能な限り情報を集めました。その上で、下記のような対策・ヤマをはりました。
– SQS, SNS, Lambda, S3, RDS は、サービスを新規作成できるようにする。プラスアルファで、下記のような問題を想定しました。
– SQS は、メッセージの送信とポーリングを開始してメッセージを受信する
– Lambda は、バージョン管理、メモリの調整、IAMロールを作成して CloudWatch Logs への書き
[AWS] AWS Single Sign-On で Organizations 管理外の AWS アカウントにアクセスする
複数の AWS アカウントを使い分けている場合、[AWS Organizations](https://aws.amazon.com/jp/organizations/) と、[AWS Single Sign-On](https://aws.amazon.com/jp/single-sign-on/) を組み合わせてユーザ管理するってことが多いと思います。
AWS Single Sign-On では、AWS Organizations 配下ではない AWS アカウントに対してもアクセスできるように設定することができるので、必要に応じて使ってみましょう。
なお Organizations 配下の AWS アカウントに対しては提供されているコマンドラインアクセス用のトークン( “Command line or programmatic access” のリンクから取得できるもの )は提供されず、AWS ダッシュボードにアクセスできるだけとなりますので、ご注意ください。# SSO 側の AWS アカウント
## アプリケーションとして External AWS Account を追加
「DNS_PROBE_FINISHED_NXDOMAIN」の切り分け
chromeで「このサイトにアクセスできません」と書かれている下`DNS_PROBE_FINISHED_NXDOMAIN`と書いてあった場合の切り分け備忘録。
AWSでの構築前提。##1.ALBのDNS名へのアクセスを試す
これでアクセスできれば2.へ進む
アクセスできないならALBより先の切り分けを行う##2.NSレコードの状態を見る
こうなればNSレコードが消えているのでドメイン管理している先を確認“`
$host -tNS testapp.com
Host testapp.com not found: 3(NXDOMAIN)
“`
こうなるとドメインに問題がない為Route53のレコードにNSレコードが登録されているか確認する“`
$host -tNS testapp.com
testapp.com name server ns-xxx.awsdns-xx.org.
testapp.com name server ns-xxx.awsdns-xx.com.
testapp.com name server ns-xxx.awsdns-xx.net.
test
terraformが実行可能か速攻で実験したい場合の手順
# 概要
時々、localでterraformの動きを確認したいことがあります。
その時に早く実験を開始できる方法を書いておきます# AWSの設定をする。
ターミナルでterraformは実行すると思いますが、ターミナル上でのAWSの設定がそのままterraformのデプロイ先になります。
`~/.aws/config`や環境変数を利用してaws cliが叩けるようにしておきます。そこで、以下のコマンドで現在のユーザーを確認しておきます。
“`
aws sts get-caller-identity
“`ユーザーを間違えて、商用アカウントなどにデプロイしないように注意しましょう
# terraformのファイルを記述
適当な場所にディレクトリを作ります。
その中にファイルを作っていきます。必要なのは2つのファイルです
“`hcl:provider.tf
provider “aws” {
region = “ap-northeast-1”
}
“`“`hcl:iam.tf
resource “aws_iam_group” “test” {
AWS re:Invent 2021で発表された新サービス/アップデートまとめ
**AWS re:Invent 2021の会期中に発表された新サービス/アップデートのまとめです。**
今年も、後から出来るだけ素早く簡単に振り返ることができるようにまとめました!**※以下、会期中、随時更新いたします。**
# 凡例
**(無印)** 新サービス
**(Update)** 既存サービスのアップデート
**(APN)** パートナー制度に関連したリリース/アップデート日時は日本時間で表記します。
# 11/29(月)
今年の開幕は**「Amazon IoT RoboRunner」**でした。## Midnight Madness (15:30-)
### Amazon IoT RoboRunner
* ロボットと作業管理システムを接続し、単一のシステムビューを介した業務作業全体のオーケストレーションが可能
* 詳細はYouTubeでも公開
* https://youtu.be/q8POXvJ4nMI
* AWS Management Consoleで1つの施設(サイト名と場所など)を作成すると、AWS IoT RoboRunnerが施設、ロボット
AWS上のシステムを維持管理して得たハマりポイント
#はじめに
* 現在、とあるAWSのシステムのインフラの維持管理を担当しているが、AWSやパブリッククラウドならではのところでハマったポイントについてとりとめもなくご紹介したい。
* WEBではAWSの新機能の紹介や構成検討の情報は結構載っているものの、このあたりの地味な情報はなかなか見た事がなかったので記載しようと思った次第。
* 特にオンプレからAWSへの移行を検討されている方に参考なれば幸いです。
* 記載内容に誤りがありましたら、ご指摘頂けれると大変ありがたいです!
#ハマりポイント1. Auroraはバージョンダウンできない!
* Auroraはバージョンダウンの機能が(今のところ)無い。
* バージョンアップ作業における業務閉塞中のコンチプランとして、事前に取得したスナップショットからAuroraクラスタの再作成等が考えられるが、**業務閉塞解除後だとスナップショット取得以降の全ての更新を手動で追い付く必要があるため、実質不可能。**
* そのため、私の担当しているシステムでは業務閉塞解除後に問題が発生した場合は、対策前進の方針としている。
* 業務閉塞解
DatabricksにおけるAssumeRoleポリシーを用いたS3バケットに対するセキュアなクロスアカウントアクセス
[Secure access to S3 buckets across accounts using instance profiles with an AssumeRole policy \| Databricks on AWS](https://docs.databricks.com/administration-guide/cloud-configurations/aws/assume-role.html) [2021/7/27時点]の翻訳です。
> **注意**
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては[英語ドキュメント](https://docs.databricks.com)を参照ください。AWSにおいては、あるアカウントの計算処理が別のアカウントのバケットにアクセスできるように、クロスアカウントアクセスをセットアップすることができます。アクセスを許可する方法の一つは、[Databricksにおけるインスタンスプロファイルを用いたS3バケットへのセキュアなアクセス](https://qiita.com/taka_yayoi/ite
複数のAWSアカウントにあるAWS CodeCommitリポジトリを切り替えて使用する
## Goal
AWS CodeCommitで複数のAWSアカウントにあるAWS CodeCommitリポジトリを適宜切り替えて使用する際の手順を示します。
### Authoring Guidelines
* 後日、修正する予定です。
## References
本文の手順は、次の文書を参考に作成しました。
* “[I need to access CodeCommit repositories in multiple Amazon Web Services accounts with SSH credentials](https://docs.aws.amazon.com/codecommit/latest/userguide/troubleshooting-ssh.html#troubleshooting-ssh-multi)”. Amazon Web Services, Inc. Retrieved 29 November 2021.
## Pre-Requisites
本文の手順は、次の環境で実施、検証しました。* Windows 10, build 190
Gitリポジトリを古いAWSアカウントから新しいAWSアカウントへ移行する
## Goal
AWS CodeCommitに既にあるGitリポジトリを古いAWSアカウントから新しいAWSアカウントへ移行する際の手順を示します。
### Authoring Guidelines
* AWS CodeCommitに限らず、GitHubからAWS CodeCommitへの移行、GitHubからGitHubへの移行でも、読み替えによって手順の大筋が把握できるようにAWS Management ConsoleとGitコマンドでの手順で主な流れを記載します。
* 自動化のため、将来的にAWS CodeCommitのAPIをコールするAWS CLIによる手順も追記する予定です。## References
本文の手順は、次の文書を参考に作成しました。
* “[Migrate a Git repository to AWS CodeCommit](https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/how-to-migrate-repository-existing.html)”. Amazon
aws_iam_openid_connect_providerのthumbprint_listの計算方法
GitHub ActionsがOIDCプロバイダとして使えるようになりました。
これによりAWSのアクセスキーを埋めることなくロールベースでのアクセスができるようになりました。やったね。https://github.blog/changelog/2021-10-27-github-actions-secure-cloud-deployments-with-openid-connect/
この話自体はなぜか公式リリース前にサンプルコードが出回ったりして、みんなサンプルコードコピペして動いた〜って話題になってたので今さら感があるかもですが、例えばTerraformでaws_iam_openid_connect_providerの設定をするならこんなかんじでしょうか。
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_openid_connect_provider
“`.tf
resource “aws_iam_openid_connect_provider” “gith
AWS DVAに10時間で合格した話
# はじめに
先日AWS DVAを受検し、無事に合格することができました!
これで**CLF + アソシエイト3冠**となりました。
諸事情により試験2日前から勉強開始し、準備期間が計10時間でしたが、無事なんとかなったので投稿します。普段からAWSでのWebアプリ開発を行っていることと、1ヶ月前にSOAを受検していたことが大きな助け舟となりました。
![スクリーンショット 2021-11-28 23.27.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/434874/9e82109d-e2e3-7719-9ca7-e454386ef0a8.png)# 受検当時のスペック
AWS使用歴:1年半
AWS保有資格:CLF、SAA、SOA (SOAは1ヶ月前に取得)
普段使うAWSサービス:VPC、EC2、ECS、RDS、S3、IAM、Cognito
触ったことのあるAWSサービス:Cloudwatch、Route53、ELB、System manager、DynamoDB、Elasticache
WP Offload Media Lite for Amazon S3でS3に画像が保存されない場合に確認するべきポイント
# はじめに
WP Offload Media Lite for Amazon S3を使用した際にはまったポイントをまとめました。
一番のポイントは1で、私はここでハマってまいました。
画像付きで記事を作成しましたので、イメージしやすくなればと思います。:::note info
■WP Offload Media Liteとは
WordPressの記事作成で画像などをアップロードした際にサーバ上ではなくS3上にファイルをアップロードするWordPressのプラグイン
:::
# 確認ポイントと解消方法
## 1.必要なPHP関連パッケージがインストールされているか?そもそもPHPが入っていないとWP Offload Media Liteは動作しないのですが、加えてphp-gd(画像を生成するためのPHPライブラリ)が入っていいないと正常に動作しませんでした。
最終的に以下の状態で私は正常に動作しました。【正常動作時のphp関連パッケージ】
`yum list installed | grep php`![image.png](https://qiita-image-s
Cypress 認証情報を保持して自動化へ Cognito編〜
# はじめに
現在、SESとして自社開発に携わっているエンジニア一年生です。e2eテストを初めて作成するにあたって、ユーザー認証(今回は、AWS`Cognito`)を考慮することに少し手こずったので備忘録としての記事です。また、もし同じ内容につまづいた方へ参考程度になればいいなと思っております。## AWS-amplifyの利用
今回はAWSの`Cognito`を使用したユーザー認証を行なっているので、アクセスするために以下の`aws-amplify`を使用して認証情報を取得します。
“`
npm install –save aws-amplify
“`## Cognitoを利用した認証自動化
Cypressでオリジナルのメソッドを生成するにあたって、`Cypress.Commands.add()`で新しく作成することができるので今回は使用時に、`login(username,password)`となるように作成していく。
AWSの`Cognito`を使用しているので、リージョンやプールIDなどを設定する。
そして、`aws-amplify`内の`signIn()
AWS HTTPS通信でアクセス / CloudFront
#【AWS HTTPS通信でアクセス / CloudFront】
HTTPS通信でアクセスのハンズオンメモとCloudFrontを基礎。
今後に備えて、今はあまり実務で使っていないCloudFrontを基礎から学習。##S3をHTTPS化!自分のドメインで配信したい。
– **本番サービスでは、よりセキュアなHTTPS通信が最低限求められる。**
– 前提:
– EC2インスタンスが立ち上がっていること。
– RDSが起動していること。
– ドメイン名でアクセス可能であること。
– 手順:
– ELBロードバランサーの方でリスナーを追加。
– マネジメントコンソールから「ロードバランサー」>「リスナー」>「リスナーの追加」
– プロトコルに「HTTPS」 > 転送先に「作成したターゲットグループ」を選択
– 「新しいACM証明書をリクエスト」> ドメイン名の追加で、ドメイン名を入力
– 検証方法の選択、「DNSの検証」> 証明書のタグは必要に応じて作成 >「次へ」
– 本人確認のような確認。
–
何となくわかった気になる週刊AWS – 2021/11/15週
## はじめに
お久しぶりです、なじむです。
DAS, MLS の試験勉強をしていたら、週末にブログをまとめる時間が取れず期間が空いてしまいました。無事どちらも合格しましたが、ラスト DBS が 12月に控えているため、それまで更新をお休みしようと思います。
というわけで今週は試験勉強の息抜きがてら、張り切ってやっていきましょう!AWS Japan さんがまとめている[週刊AWS](https://aws.amazon.com/jp/blogs/news/tag/%E9%80%B1%E5%88%8Aaws/)で確認した内容の自分用メモ。
今回は[11/15週](https://aws.amazon.com/jp/blogs/news/aws-weekly-20211018/)のアップデートです。## 11/15(月)
### [AWS Amplify が CDK を使用して Amplify で生成されたリソースをオーバーライドする機能を発表](https://aws.amazon.com/jp/about-aws/whats-new/2021/11/aws-amplify-ov
AWS+ServerlessFrameworkを使ってPythonバックエンドを構築する
ここしばらく個人でスマホアプリを作ってみたいと思い色々とバックエンド側の構築方法を探っていました。Amplifyを使おうかと思っていたのですが、Flutterではdatastore周りが少し安定していない感がありまして、噂に聞いていたServerlessFrameworkを使ってみることにしました
Flutter的にはバックエンドはFirebaseがメジャーだと思いますが、私のスキルセット的にAWS、LambdaもPythonで構築することにしました
# この記事でできること
* ServerlessFramework、AWSを使ったバックエンドの構築
* APIGateway + Lambda + S3 + DynamoDBの構成
* APIKeyを使ったREST APIのアクセス管理
* S3やDynamoDBに対する、アクセスロールの設定
* ルートディレクトリに集まりがちなfunctionを関数ごとにディレクトリ分けと、バックエンドを構築するときの一通りのことができるのではないかと思います。また、ServerlessFrameworkそのものの導入方法は割愛します。すで
AWS新サービス「Resilience Hub」を使ってみた
今月GAされた新サービス。
耐障害性にフォーカスが当たっており、実装モノではなくチェックツール系のようです(Well-Architected Tool的な)
https://aws.amazon.com/jp/blogs/news/monitor-and-improve-your-application-resiliency-with-resilience-hub/# とりあえずコンソールにアクセス
マネコンにログインし、「Resilience Hub」を検索。あるある。
![スクリーンショット 2021-11-28 15.19.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/0f18beb4-e1e5-7463-2ba6-0d454fe84dfe.png)トップページはこんな感じ。日本語化はまだ…ですよね〜。
![スクリーンショット 2021-11-28 14.59.36.png](https://qiita-image-store.s3.ap-northeast-1.am
AWS SAMでアプリケーションをローカルテスト&デプロイ
#はじめに
[こちらの記事](https://qiita.com/Geeryo/items/f05af3d72a808160a007)で作成した環境をテンプレート化したい!と思ったので、
AWS SAMを使ってみました。
SAMはリソースをプロビジョニングできるだけでなく、ローカルでLambda、API Gatewayをテストできる便利ツールだったのでその使い方も紹介します。
途中、cloudformationコマンドとの比較もしていますのでご参考までに。#環境
* mac OS:Monterey 12.0.1
* AWS CLI:2.2.33
* SAM CLI:1.35.0#SAMとは
* AWS Serverless Application Modelの略
* サーバーレスアプリケーション構築用のオープンソースフレームワーク
* YAML,JSON形式でテンプレート記述
* CloudFormationの拡張機能で、簡単にテンプレートを記述することが可能
* SAM CLIあり#SAM CLIのインストール
こちらからどうぞhttps://docs.aws.am
【AWS初学者向け】翻訳WEB APIを作成してみた(ハンズオン)
#はじめに
AWSハンズオン資料集の中から「サーバーレスアーキテクチャで翻訳 Web API を構築する」を試してみて結構楽しかったので1. **AWS初学者向けに構築フロー**
2. **つまずきポイント**
3. **個人的に修正してみた箇所**の3点を共有します。
https://pages.awscloud.com/event_JAPAN_Hands-on-for-Beginners-Serverless-2019_LP.html?trk=aws_introduction_page
上記、URLからAWS初学者の方はぜひトライしてみてください。
#参考ドキュメント
https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-integration-settings-integration-response.html
#構成